X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSketchSolver_Builder.cpp;h=e0c6855db43e824ee9ac1c301a5be13ea034247e;hb=d3883990177d27a12b8a2278cdbb82250ff19b79;hp=82cf9669c37a143123ad6413c4487984076c78bc;hpb=11573ab14113256d9e93228cd2310f78d08e2b4e;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SketchSolver_Builder.cpp b/src/SketchSolver/SketchSolver_Builder.cpp index 82cf9669c..e0c6855db 100644 --- a/src/SketchSolver/SketchSolver_Builder.cpp +++ b/src/SketchSolver/SketchSolver_Builder.cpp @@ -13,6 +13,9 @@ #include #include #include +#include +#include +#include #include #include @@ -43,6 +46,8 @@ #include #include #include +#include +#include #include @@ -118,6 +123,10 @@ SolverConstraintPtr SketchSolver_Builder::createConstraint(ConstraintPtr theCons return SolverConstraintPtr(new SketchSolver_ConstraintVertical(theConstraint)); } else if (theConstraint->getKind() == SketchPlugin_ConstraintRigid::ID()) { return SolverConstraintPtr(new SketchSolver_ConstraintRigid(theConstraint)); + } else if (theConstraint->getKind() == SketchPlugin_MultiTranslation::ID()) { + return SolverConstraintPtr(new SketchSolver_ConstraintMultiTranslation(theConstraint)); + } else if (theConstraint->getKind() == SketchPlugin_MultiRotation::ID()) { + return SolverConstraintPtr(new SketchSolver_ConstraintMultiRotation(theConstraint)); } return aResult; } @@ -130,6 +139,14 @@ SolverConstraintPtr SketchSolver_Builder::createRigidConstraint(FeaturePtr theFi return SolverConstraintPtr(new SketchSolver_ConstraintRigid(theFixedFeature)); } +SolverConstraintPtr SketchSolver_Builder::createMovementConstraint(FeaturePtr theFixedFeature) +{ + DataPtr aData = theFixedFeature->data(); + if (!aData || !aData->isValid()) + return SolverConstraintPtr(); + return SolverConstraintPtr(new SketchSolver_ConstraintMovement(theFixedFeature)); +} + bool SketchSolver_Builder::createWorkplane(