Esempio n. 1
0
        public ConstraintDocumentHelper(Document document, Node sketchNode)
        {
            _document   = document;
            _sketchNode = sketchNode;

            _constraintMapper = new ConstraintHighLevelDependencyMapping();
            DefaultConstraintsMapping.SetupDependencies(_constraintMapper);
        }
Esempio n. 2
0
 private static void SetLineToLineConstraints(ConstraintHighLevelDependencyMapping constraintMapper)
 {
     AddLineOnLineConstraint(constraintMapper, Constraint2DNames.ParallelFunction, "Parallel",
                             "parallel_constraint.png");
     AddLineOnLineConstraint(constraintMapper, Constraint2DNames.PerpendicularFunction, "Perpendicular",
                             "perpendicular_constraint.png");
     AddLineOnLineConstraint(constraintMapper, Constraint2DNames.ColinearFunction, "Colinear",
                             "perpendicular_constraint.png");
     AddLineOnLineConstraint(constraintMapper, Constraint2DNames.EqualLengthFunction, "Same Length",
                             "perpendicular_constraint.png");
 }
Esempio n. 3
0
        public static void SetupDependencies(ConstraintHighLevelDependencyMapping constraintMapper)
        {
            constraintMapper.Register(Constraint2DNames.PointOnPointFunction, "Point On Point",
                                      ResName("perpendicular_constraint.png"), FunctionNames.Point, FunctionNames.Point);

            //constraintMapper.Register(Constraint2DNames.P2PDistanceFunction, "Point To Point Distance",
            //                          ResName("perpendicular_constraint.png"), FunctionNames.Point, FunctionNames.Point);

            constraintMapper.Register(Constraint2DNames.HorizontalFunction, "Horizontal",
                                      ResName("horizontal_constraint.png"), FunctionNames.LineTwoPoints);
            constraintMapper.Register(Constraint2DNames.VerticalFunction, "Vertical", ResName("vertical_constraint.png"),
                                      FunctionNames.LineTwoPoints);

            SetLineToLineConstraints(constraintMapper);

            constraintMapper.Register(Constraint2DNames.PointOnArcFunction, "Arc On Point",
                                      ResName("perpendicular_constraint.png"), FunctionNames.Arc, FunctionNames.Point);

            constraintMapper.Register(Constraint2DNames.PointOnCircleFunction, "Circle On Point",
                                      ResName("perpendicular_constraint.png"), FunctionNames.Circle, FunctionNames.Point);

            constraintMapper.Register(Constraint2DNames.TangentToArcFunction, "Tangent Line On Arc",
                                      ResName("perpendicular_constraint.png"), FunctionNames.Arc,
                                      FunctionNames.LineTwoPoints);

            constraintMapper.Register(Constraint2DNames.TangentToCircleFunction, "Tangent Line On Circle",
                                      ResName("perpendicular_constraint.png"), FunctionNames.Circle,
                                      FunctionNames.LineTwoPoints);

            CircleArcsMethod(constraintMapper);

            constraintMapper.Register(Constraint2DNames.PointOnLineFunction, "Point on Line",
                                      ResName("perpendicular_constraint.png"),
                                      FunctionNames.LineTwoPoints, FunctionNames.Point);
            constraintMapper.Register(Constraint2DNames.PointOnSegmentFunction, "Point on Segment",
                                      ResName("perpendicular_constraint.png"),
                                      FunctionNames.LineTwoPoints, FunctionNames.Point);

            constraintMapper.Register(Constraint2DNames.PointOnLineMidpointFunction, "Point on Middle of Line",
                                      ResName("perpendicular_constraint.png"),
                                      FunctionNames.LineTwoPoints, FunctionNames.Point);
        }
Esempio n. 4
0
        private static void CircleArcsMethod(ConstraintHighLevelDependencyMapping constraintMapper)
        {
            AddArcOnArcConstraint(constraintMapper, Constraint2DNames.ConcentricArcsFunction, "Concentric Arcs",
                                  "perpendicular_constraint.png");
            AddArcOnArcConstraint(constraintMapper, Constraint2DNames.EqualRadiusArcsFunction, "Equal Radius Arcs",
                                  "perpendicular_constraint.png");

            AddArcOnCircleConstraint(constraintMapper, Constraint2DNames.EqualRadiusCircArcFunction,
                                     "Equal Radius Arc and Circle",
                                     "perpendicular_constraint.png");
            AddArcOnCircleConstraint(constraintMapper, Constraint2DNames.ConcentricCircArcFunction,
                                     "Concentric Arc and Circle",
                                     "perpendicular_constraint.png");

            AddCircleOnCircleConstraint(constraintMapper, Constraint2DNames.ConcentricCirclesFunction,
                                        "Concentric Circles", "perpendicular_constraint.png");
            AddCircleOnCircleConstraint(constraintMapper, Constraint2DNames.EqualRadiusCirclesFunction,
                                        "Equal Radius Circle and Circle",
                                        "perpendicular_constraint.png");
        }
Esempio n. 5
0
 private static void AddLineOnLineConstraint(ConstraintHighLevelDependencyMapping constraintMapper,
                                             string constraintName, string descriptor, string iconName)
 {
     constraintMapper.Register(constraintName, descriptor, ResName(iconName),
                               FunctionNames.LineTwoPoints, FunctionNames.LineTwoPoints);
 }
Esempio n. 6
0
 private static void AddArcOnArcConstraint(ConstraintHighLevelDependencyMapping constraintMapper,
                                           string constraintName, string descriptor, string iconName)
 {
     constraintMapper.Register(constraintName, descriptor, ResName(iconName),
                               FunctionNames.Arc, FunctionNames.Arc);
 }
Esempio n. 7
0
 private static void AddCircleOnCircleConstraint(ConstraintHighLevelDependencyMapping constraintMapper,
                                                 string constraintName, string descriptor, string iconName)
 {
     constraintMapper.Register(constraintName, descriptor, ResName(iconName),
                               FunctionNames.Circle, FunctionNames.Circle);
 }