20 #ifndef SolveSpaceSolver_Builder_H_
21 #define SolveSpaceSolver_Builder_H_
23 #include <SketchSolver_Builder.h>
24 #include <SketchSolver_Constraint.h>
26 #include <SketchPlugin_Constraint.h>
28 #include <ModelAPI_CompositeFeature.h>
45 virtual StoragePtr
createStorage(
const GroupID& theGroup)
const;
63 virtual std::list<ConstraintWrapperPtr>
65 const GroupID& theGroupID,
66 const EntityID& theSketchID,
67 const SketchSolver_ConstraintType& theType,
68 const double& theValue,
69 const EntityWrapperPtr& theEntity1,
70 const EntityWrapperPtr& theEntity2 = EntityWrapperPtr(),
71 const EntityWrapperPtr& theEntity3 = EntityWrapperPtr(),
72 const EntityWrapperPtr& theEntity4 = EntityWrapperPtr())
const;
86 virtual std::list<ConstraintWrapperPtr>
88 const GroupID& theGroupID,
89 const EntityID& theSketchID,
90 const SketchSolver_ConstraintType& theType,
91 const double& theValue,
92 const bool theFullValue,
93 const EntityWrapperPtr& thePoint1,
94 const EntityWrapperPtr& thePoint2,
95 const std::list<EntityWrapperPtr>& theTrsfEnt)
const;
106 virtual EntityWrapperPtr
createFeature(FeaturePtr theFeature,
107 const std::list<EntityWrapperPtr>& theAttributes,
108 const GroupID& theGroupID,
109 const EntityID& theSketchID = EID_UNKNOWN)
const;
117 const GroupID& theGroup,
118 const EntityID& theSketchID = EID_UNKNOWN)
const;
122 std::list<ConstraintWrapperPtr> createMirror(ConstraintPtr theConstraint,
123 const GroupID& theGroupID,
124 const EntityID& theSketchID,
125 const EntityWrapperPtr& theEntity1,
126 const EntityWrapperPtr& theEntity2,
127 const EntityWrapperPtr& theMirrorLine)
const;
133 EntityWrapperPtr createSketchEntity(CompositeFeaturePtr theSketch,
134 const GroupID& theGroupID)
const;
141 EntityWrapperPtr createNormal(AttributePtr theNormal,
142 AttributePtr theDirX,
143 const GroupID& theGroupID)
const;
150 ParameterWrapperPtr createParameter(
const GroupID& theGroup,
151 const double theValue = 0.0,
152 const bool theExpr =
false)
const;
155 static BuilderPtr mySelf;
Create bridges between SketchPlugin constraints and SolveSpace constraints.
Definition: SolveSpaceSolver_Builder.h:35
virtual EntityWrapperPtr createAttribute(AttributePtr theAttribute, const GroupID &theGroup, const EntityID &theSketchID=EID_UNKNOWN) const
Creates an attribute.
Definition: SolveSpaceSolver_Builder.cpp:373
virtual std::list< ConstraintWrapperPtr > createConstraint(ConstraintPtr theConstraint, const GroupID &theGroupID, const EntityID &theSketchID, const SketchSolver_ConstraintType &theType, const double &theValue, const EntityWrapperPtr &theEntity1, const EntityWrapperPtr &theEntity2=EntityWrapperPtr(), const EntityWrapperPtr &theEntity3=EntityWrapperPtr(), const EntityWrapperPtr &theEntity4=EntityWrapperPtr()) const
Creates new constraint(s) using given parameters.
Definition: SolveSpaceSolver_Builder.cpp:103
virtual EntityWrapperPtr createFeature(FeaturePtr theFeature, const std::list< EntityWrapperPtr > &theAttributes, const GroupID &theGroupID, const EntityID &theSketchID=EID_UNKNOWN) const
Creates a feature using list of already created attributes.
Definition: SolveSpaceSolver_Builder.cpp:318
virtual void adjustConstraint(ConstraintWrapperPtr theConstraint) const
Update flags for several kinds of constraints.
Definition: SolveSpaceSolver_Builder.cpp:304
virtual SolverPtr createSolver() const
Creates specific solver.
Definition: SolveSpaceSolver_Builder.cpp:97
virtual StoragePtr createStorage(const GroupID &theGroup) const
Creates a storage specific for used solver.
Definition: SolveSpaceSolver_Builder.cpp:92
static BuilderPtr getInstance()
Returns single instance of builder.
Definition: SolveSpaceSolver_Builder.cpp:83