Salome HOME
SketchSolver Refactoring: Eliminate SolveSpace as a sketch solver.
authorazv <azv@opencascade.com>
Tue, 7 Feb 2017 06:39:01 +0000 (09:39 +0300)
committerazv <azv@opencascade.com>
Mon, 27 Feb 2017 07:03:05 +0000 (10:03 +0300)
commite066abaa17e20d15934c0c83cdd8de07ffd93122
treeb04b5f5546873f8b19b5495403ad2114b5f56072
parentb43b468465a423abb32ea61fa4cafd3f2a3595fe
SketchSolver Refactoring: Eliminate SolveSpace as a sketch solver.

* Improve SketchSolver_Manager to add features placed in a single sketch into a single group
* Remove unnecessary IDs for entities and parameters. Do not set GroupID for such kind of elements.
* Remove unnecessary IDs for groups
* Check feature validity on at the very beginning of processing.
* Fix problems when deleting temporary constraint built for correct restart of an operation.
* Remove data structure to store lists of coincident points.
* Integrate SketchSolver sources into PlaneGCSSolver plugin
* Take out ParameterWrapper
* Move converting and removing entities to specific classes
* Remove notifications on changing point-point coincidences.
* Update processing Fixed constraint (make it more natural to PlaneGCS). Remove Movement constraint as unneeded.
* Repair Point-point coincidence and the Fixed constraints
* Fix incorrect processing of the Update event.
* Repair Point-on-Line and Point-on-Circle constraints.
* Repair processing of external features
* Processing of point-point multi-coincidence has been updated. Unit test has been improved.
* Repair constraints: Horizontal, Vertical, Parallel, Perpendicular, Radius, Distance, Length, Equal and Tangent
* Fix issue that arc cannot be created on the sketch with constraints
* Repair Angle and Middle point constraints.
* Repair Multi-Rotation and Multi-Translation constraints.
* Introduce Updaters to send changed features to interested object only.
* Remove the Fixed constraint applying on the external features.
* Update Multi-* constraints to use Updaters.
* Mirror constraint redesign
* Remove obsolete std::dynamic_pointer_cast
* Optimize blocking events while solving constraints
* Update Coincidence and Middle Point constraints processing (move checking multi coincidence to the constraint layer)
89 files changed:
src/PartSet/PartSet_Tools.cpp
src/PythonAPI/Test/TestSketcherSetEqual.py
src/PythonAPI/examples/MakeBrick1.py
src/PythonAPI/examples/MakeBrick2.py
src/SketchPlugin/CMakeLists.txt
src/SketchPlugin/SketchPlugin_ConstraintRigid.cpp
src/SketchPlugin/SketchPlugin_Projection.cpp
src/SketchPlugin/Test/Test1061.py [new file with mode: 0644]
src/SketchPlugin/Test/TestConstraintCoincidence.py
src/SketchPlugin/Test/TestConstraintMiddlePoint.py
src/SketchPlugin/Test/TestConstraintMirror.py
src/SketchPlugin/Test/TestProjection.py
src/SketchSolver/CMakeLists.txt
src/SketchSolver/PlaneGCSSolver/CMakeLists.txt
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_AngleWrapper.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_AngleWrapper.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_AttributeBuilder.cpp [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_AttributeBuilder.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Builder.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Builder.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ConstraintWrapper.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ConstraintWrapper.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityBuilder.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityDestroyer.cpp [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityDestroyer.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_FeatureBuilder.cpp [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_FeatureBuilder.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ParameterWrapper.cpp [deleted file]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ParameterWrapper.h [deleted file]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_PointWrapper.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_PointWrapper.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ScalarWrapper.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_ScalarWrapper.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Storage.cpp
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Storage.h
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Update.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_UpdateCoincidence.cpp [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_UpdateCoincidence.h [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_UpdateFeature.cpp [new file with mode: 0644]
src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_UpdateFeature.h [new file with mode: 0644]
src/SketchSolver/SketchSolver.h
src/SketchSolver/SketchSolver_Builder.cpp
src/SketchSolver/SketchSolver_Builder.h
src/SketchSolver/SketchSolver_Constraint.cpp
src/SketchSolver/SketchSolver_Constraint.h
src/SketchSolver/SketchSolver_ConstraintAngle.cpp
src/SketchSolver/SketchSolver_ConstraintAngle.h
src/SketchSolver/SketchSolver_ConstraintCoincidence.cpp
src/SketchSolver/SketchSolver_ConstraintCoincidence.h
src/SketchSolver/SketchSolver_ConstraintCollinear.cpp
src/SketchSolver/SketchSolver_ConstraintCollinear.h
src/SketchSolver/SketchSolver_ConstraintDistance.cpp
src/SketchSolver/SketchSolver_ConstraintDistance.h
src/SketchSolver/SketchSolver_ConstraintEqual.cpp
src/SketchSolver/SketchSolver_ConstraintEqual.h
src/SketchSolver/SketchSolver_ConstraintFixed.cpp
src/SketchSolver/SketchSolver_ConstraintFixed.h
src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp [deleted file]
src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.h [deleted file]
src/SketchSolver/SketchSolver_ConstraintLength.cpp
src/SketchSolver/SketchSolver_ConstraintLength.h
src/SketchSolver/SketchSolver_ConstraintMiddle.cpp
src/SketchSolver/SketchSolver_ConstraintMiddle.h
src/SketchSolver/SketchSolver_ConstraintMirror.cpp
src/SketchSolver/SketchSolver_ConstraintMirror.h
src/SketchSolver/SketchSolver_ConstraintMovement.cpp [deleted file]
src/SketchSolver/SketchSolver_ConstraintMovement.h [deleted file]
src/SketchSolver/SketchSolver_ConstraintMulti.cpp
src/SketchSolver/SketchSolver_ConstraintMulti.h
src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
src/SketchSolver/SketchSolver_ConstraintMultiRotation.h
src/SketchSolver/SketchSolver_ConstraintMultiTranslation.cpp
src/SketchSolver/SketchSolver_ConstraintMultiTranslation.h
src/SketchSolver/SketchSolver_ConstraintTangent.cpp
src/SketchSolver/SketchSolver_ConstraintTangent.h
src/SketchSolver/SketchSolver_Group.cpp
src/SketchSolver/SketchSolver_Group.h
src/SketchSolver/SketchSolver_IConstraintWrapper.h
src/SketchSolver/SketchSolver_IEntityWrapper.h
src/SketchSolver/SketchSolver_IParameterWrapper.h [deleted file]
src/SketchSolver/SketchSolver_ISolver.h
src/SketchSolver/SketchSolver_Manager.cpp
src/SketchSolver/SketchSolver_Manager.h
src/SketchSolver/SketchSolver_Storage.cpp
src/SketchSolver/SketchSolver_Storage.h