20 #ifndef PlaneGCSSolver_Defs_H_
21 #define PlaneGCSSolver_Defs_H_
23 #include <Constraints.h>
27 typedef std::shared_ptr<GCS::Point> GCSPointPtr;
28 typedef std::shared_ptr<GCS::Curve> GCSCurvePtr;
29 typedef std::shared_ptr<GCS::Constraint> GCSConstraintPtr;
32 const double tolerance = 1.e-10;
34 #define PI 3.1415926535897932
37 typedef int ConstraintID;
40 const ConstraintID CID_UNKNOWN = 0;
41 const ConstraintID CID_MOVEMENT = -1;
42 const ConstraintID CID_FICTIVE = 99;
45 enum SketchSolver_EntityType {
62 enum SketchSolver_ConstraintType {
63 CONSTRAINT_UNKNOWN = 0,
64 CONSTRAINT_COINCIDENCE,
65 CONSTRAINT_PT_PT_COINCIDENT,
66 CONSTRAINT_PT_ON_CURVE,
67 CONSTRAINT_MIDDLE_POINT,
69 CONSTRAINT_PT_PT_DISTANCE,
70 CONSTRAINT_PT_LINE_DISTANCE,
71 CONSTRAINT_HORIZONTAL_DISTANCE,
72 CONSTRAINT_VERTICAL_DISTANCE,
76 CONSTRAINT_HORIZONTAL,
79 CONSTRAINT_PERPENDICULAR,
80 CONSTRAINT_PERPENDICULAR_CURVES,
83 CONSTRAINT_EQUAL_LINES,
84 CONSTRAINT_EQUAL_LINE_ARC,
85 CONSTRAINT_EQUAL_RADIUS,
86 CONSTRAINT_EQUAL_ELLIPSES,
88 CONSTRAINT_TANGENT_CIRCLE_LINE,
89 CONSTRAINT_TANGENT_CURVE_CURVE,
91 CONSTRAINT_MULTI_TRANSLATION,
92 CONSTRAINT_MULTI_ROTATION