Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sketcher: Constraint-Driven geometry status
============================================ This is a new concept which originates from the new ability of sketcher geometry to store a geometry state via geometry extensions. The idea is that some geometry state is enforced via constraints (InternalAlignment constraints and Block constraint) which effectively set the state. However, it is convenient to have direct access of the geometry state from the geometry for representation (ViewProvider) and for the solver. This is the constraint-driven geometry state concept. The addition/removal of the constraint defines the life cycle of the geometry state and is responsible for setting and removing the state, so that geometry state and constraint are kept synchronised. The life cycle is completed with proper serialisation of the geometry state. In summary: 1. Upon restore, the stored state is restored and any migration is handled to set the status for legacy files (backwards compatibility) 2. Functionality adding constraints (of the relevant type) calls addGeometryState to set the status 3. Functionality removing constraints (of the relevant type) calls removeGeometryState to remove the status 4. Save mechanism will ensure persistance of the geometry state
- Loading branch information
1 parent
593ade1
commit e5eff3f
Showing
2 changed files
with
136 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters