Ejemplo n.º 1
0
        public static void SetupFunctions(ConstraintMappingList mappingList)
        {
            //Point to Point constraints
            mappingList.Register <PointOnPointConstraintRefMapper>(Constraint2DNames.PointOnPointFunction);

            //Line constraints
            mappingList.Register <OneLineConstraintRefMapper <HorizontalRef> >(Constraint2DNames.HorizontalFunction);
            mappingList.Register <OneLineConstraintRefMapper <VerticalRef> >(Constraint2DNames.VerticalFunction);

            //Line to Line constraints
            mappingList.Register <TwoLinesConstraintRefMapper <ParallelRef> >(Constraint2DNames.ParallelFunction);
            mappingList.Register <TwoLinesConstraintRefMapper <PerpendicularRef> >(Constraint2DNames.PerpendicularFunction);
            mappingList.Register <TwoLinesConstraintRefMapper <ColinearRef> >(Constraint2DNames.ColinearFunction);
            mappingList.Register <TwoLinesConstraintRefMapper <EqualLengthRef> >(Constraint2DNames.EqualLengthFunction);

            mappingList.Register <PointOnArcConstraintRefMapper>(Constraint2DNames.PointOnArcFunction);
            mappingList.Register <PointOnCircleConstraintRefMapper>(Constraint2DNames.PointOnCircleFunction);
            mappingList.Register <PointOnArcMidpointRefMapper>(Constraint2DNames.PointOnArcMidpointFunction);

            mappingList.Register <PointOnLineRefMapper>(Constraint2DNames.PointOnLineFunction);
            mappingList.Register <PointOnSegmentRefMapper>(Constraint2DNames.PointOnSegmentFunction);
            mappingList.Register <PointOnLineMidPointRefMapper>(Constraint2DNames.PointOnLineMidpointFunction);
            //Circle to Line constraints
            mappingList.Register <TangentToCircleRefMapper>(Constraint2DNames.TangentToCircleFunction);

            //Arc to Line constraints
            mappingList.Register <TangentToArcRefMapper>(Constraint2DNames.TangentToArcFunction);

            //Arc to Circle constraints
            mappingList.Register <EqualRadiusCircArcRefMapper>(Constraint2DNames.EqualRadiusCircArcFunction);
            mappingList.Register <ConcentricCirclesArcRefMapper>(Constraint2DNames.ConcentricCircArcFunction);

            //Arc to Arc constraints
            mappingList.Register <TwoArcsConstraintRefMapper <ConcentricArcsRef> >(Constraint2DNames.ConcentricArcsFunction);
            mappingList.Register <TwoArcsConstraintRefMapper <EqualRadiusArcsRef> >(Constraint2DNames.EqualRadiusArcsFunction);

            //Circle to Circle constraints
            mappingList.Register <TwoCirclesConstraintRefMapper <ConcentricCirclesRef> >(
                Constraint2DNames.ConcentricCirclesFunction);
            mappingList.Register <TwoCirclesConstraintRefMapper <EqualRadiusCirclesRef> >(
                Constraint2DNames.EqualRadiusCirclesFunction);

            //Point to value constraints
            mappingList.Register <PositionToCenterConstraintMapper>(Constraint2DNames.PositionToCenterFunction);


            mappingList.Register <CircleRadiusConstraintMapper>(Constraint2DNames.CircleRadiusFunction);
            mappingList.Register <LineLengthConstraintMapper>(Constraint2DNames.LineLengthFunction);
            mappingList.Register <ArcRadiusConstraintMapper>(Constraint2DNames.ArcRadiusFunction);
            mappingList.Register <ArcAnglesConstraintMapper>(Constraint2DNames.ArcAnglesFunction);

            mappingList.Register <PositiveParameterConstraintMapper>(Constraint2DNames.PositiveParameterFunction);
            //mappingList.Register<PointToPointDistanceConstraintRefMapper>(Constraint2DNames.P2PDistanceFunction);
        }
Ejemplo n.º 2
0
        // public List<int> softConstraints = new List<int>();
        public NaroSketchSolveBuilder(Document document, Node sketchNode)
        {
            _document = document;
            ShapeSolverObjectMapping = new Dictionary <string, ISolverObjectMapping>();

            ConstraintList = new ConstraintRefContainer();

            MapShapes();

            ConstraintMappingList = new ConstraintMappingList();
            DefaultConstraintsMapping.SetupFunctions(ConstraintMappingList);
        }