示例#1
0
 public IgesAxisymmetricParabolicTriangle(
     IgesPoint p1,
     IgesPoint p2,
     IgesPoint p3,
     IgesPoint p4,
     IgesPoint p5)
     : base(IgesTopologyType.AxisymmetricParabolicTriangle)
 {
     P1 = p1;
     P2 = p2;
     P3 = p3;
     P4 = p4;
     P5 = p5;
 }
 public IgesParabolicTriangle(
     IgesPoint p1,
     IgesPoint p1P2Control,
     IgesPoint p2,
     IgesPoint p2P3Control,
     IgesPoint p3,
     IgesPoint p3P1Control)
     : base(IgesTopologyType.ParabolicTriangle)
 {
     P1          = p1;
     P1P2Control = p1P2Control;
     P2          = p2;
     P2P3Control = p2P3Control;
     P3          = p3;
     P3P1Control = p3P1Control;
 }
示例#3
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            var index = 0;

            binder.BindEntity(Integer(parameters, index++), generalNote => GeneralNote   = generalNote as IgesGeneralNote);
            binder.BindEntity(Integer(parameters, index++), witness => FirstWitnessLine  = witness as IgesCopiousData);
            binder.BindEntity(Integer(parameters, index++), witness => SecondWitnessLine = witness as IgesCopiousData);
            Vertex = new IgesPoint(
                Double(parameters, index++),
                Double(parameters, index++),
                0.0);
            LeaderArcRadius = Double(parameters, index++);
            binder.BindEntity(Integer(parameters, index++), leader => FirstLeader  = leader as IgesLeader);
            binder.BindEntity(Integer(parameters, index++), leader => SecondLeader = leader as IgesLeader);
            return(index);
        }
 public IgesLinearSolidWedge(
     IgesPoint p1,
     IgesPoint p2,
     IgesPoint p3,
     IgesPoint p4,
     IgesPoint p5,
     IgesPoint p6)
     : base(IgesTopologyType.LinearSolidWedge)
 {
     P1 = p1;
     P2 = p2;
     P3 = p3;
     P4 = p4;
     P5 = p5;
     P6 = p6;
 }
 public IgesCubicParabolicSolidWedge(
     IgesPoint p1,
     IgesPoint p1P2Control1,
     IgesPoint p1P2Control2,
     IgesPoint p2,
     IgesPoint p2P3Control1,
     IgesPoint p2P3Control2,
     IgesPoint p3,
     IgesPoint p3P1Control1,
     IgesPoint p3P1Control2,
     IgesPoint p4P1Control,
     IgesPoint p5P2Control,
     IgesPoint p6P3Control,
     IgesPoint p4,
     IgesPoint p4P5Control1,
     IgesPoint p4P5Control2,
     IgesPoint p5,
     IgesPoint p5P6Control1,
     IgesPoint p5P6Control2,
     IgesPoint p6,
     IgesPoint p6P4Control1,
     IgesPoint p6P4Control2)
     : base(IgesTopologyType.CubicParabolicSolidWedge)
 {
     P1           = p1;
     P1P2Control1 = p1P2Control1;
     P1P2Control2 = p1P2Control2;
     P2           = p2;
     P2P3Control1 = p2P3Control1;
     P2P3Control2 = p2P3Control2;
     P3           = p3;
     P3P1Control1 = p3P1Control1;
     P3P1Control2 = p3P1Control2;
     P4P1Control  = p4P1Control;
     P5P2Control  = p5P2Control;
     P6P3Control  = p6P3Control;
     P4           = p4;
     P4P5Control1 = p4P5Control1;
     P4P5Control2 = p4P5Control2;
     P5           = p5;
     P5P6Control1 = p5P6Control1;
     P5P6Control2 = p5P6Control2;
     P6           = p6;
     P6P4Control1 = p6P4Control1;
     P6P4Control2 = p6P4Control2;
 }
示例#6
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            int nextIndex = base.ReadParameters(parameters, binder);

            this.ViewPlaneNormal                = IgesVector.Vector3D(parameters, ref nextIndex);
            this.ViewReferencePoint             = IgesPoint.Point3D(parameters, ref nextIndex);
            this.CenterOfProjection             = IgesPoint.Point3D(parameters, ref nextIndex);
            this.ViewUpVector                   = IgesVector.Vector3D(parameters, ref nextIndex);
            this.ViewPlaneDistance              = Double(parameters, ref nextIndex);
            this.ClippingWindowLeftCoordinate   = Double(parameters, ref nextIndex);
            this.ClippingWindowRightCoordinate  = Double(parameters, ref nextIndex);
            this.ClippingWindowBottomCoordinate = Double(parameters, ref nextIndex);
            this.ClippingWindowTopCoordinate    = Double(parameters, ref nextIndex);
            this.DepthClipping                  = (IgesDepthClipping)Integer(parameters, ref nextIndex);
            this.ClippingWindowBackCoordinate   = Double(parameters, ref nextIndex);
            this.ClippingWindowFrontCoordinate  = Double(parameters, ref nextIndex);
            return(nextIndex);
        }
示例#7
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            this.CoefficientA = Double(parameters, 0);
            this.CoefficientB = Double(parameters, 1);
            this.CoefficientC = Double(parameters, 2);
            this.CoefficientD = Double(parameters, 3);
            this.CoefficientE = Double(parameters, 4);
            this.CoefficientF = Double(parameters, 5);
            var planeOffset = Double(parameters, 6);
            var x           = Double(parameters, 7);
            var y           = Double(parameters, 8);

            StartPoint = new IgesPoint(x, y, planeOffset);
            x          = Double(parameters, 9);
            y          = Double(parameters, 10);
            EndPoint   = new IgesPoint(x, y, planeOffset);
            return(11);
        }
示例#8
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            var index = 0;

            Location      = IgesPoint.Point3D(parameters, ref index);
            RotationAngle = Double(parameters, ref index);
            binder.BindEntity(Integer(parameters, ref index), note => GeneralNote = note as IgesGeneralNote);
            var leaderCount = Integer(parameters, ref index);

            Leaders = new IgesLeader[leaderCount].ToList();
            for (int i = 0; i < leaderCount; i++)
            {
                var idx = i;
                binder.BindEntity(Integer(parameters, ref index), leader => Leaders[idx] = leader as IgesLeader);
            }

            return(index);
        }
 public IgesParabolicSolid(
     IgesPoint p1,
     IgesPoint p1P2Control,
     IgesPoint p2,
     IgesPoint p2P3Control,
     IgesPoint p3,
     IgesPoint p3P4Control,
     IgesPoint p4,
     IgesPoint p4P1Control,
     IgesPoint p5P1Control,
     IgesPoint p6P2Control,
     IgesPoint p7P3Control,
     IgesPoint p8P4Control,
     IgesPoint p5,
     IgesPoint p5P6Control,
     IgesPoint p6,
     IgesPoint p6P7Control,
     IgesPoint p7,
     IgesPoint p7P8Control,
     IgesPoint p8,
     IgesPoint p8P5Control)
     : base(IgesTopologyType.ParabolicSolid)
 {
     P1          = p1;
     P1P2Control = p1P2Control;
     P2          = p2;
     P2P3Control = p2P3Control;
     P3          = p3;
     P3P4Control = p3P4Control;
     P4          = p4;
     P4P1Control = p4P1Control;
     P5P1Control = p5P1Control;
     P6P2Control = p6P2Control;
     P7P3Control = p7P3Control;
     P8P4Control = p8P4Control;
     P5          = p5;
     P5P6Control = p5P6Control;
     P6          = p6;
     P6P7Control = p6P7Control;
     P7          = p7;
     P7P8Control = p7P8Control;
     P8          = p8;
     P8P5Control = p8P5Control;
 }
示例#10
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            var index = 0;

            TextContainmentAreaWidth    = Double(parameters, ref index);
            TextContainmentAreaHeight   = Double(parameters, ref index);
            TextJustification           = (IgesTextJustification)Integer(parameters, ref index);
            TextContainmentAreaLocation = IgesPoint.Point3D(parameters, ref index);
            TextContainmentAreaRotation = Double(parameters, ref index);
            FirstBaseLineLocation       = IgesPoint.Point3D(parameters, ref index);
            NormalInterLineSpacing      = Double(parameters, ref index);
            var stringCount = Integer(parameters, ref index);

            for (int i = 0; i < stringCount; i++)
            {
                Strings.Add(IgesNewTextString.ReadParameters(parameters, binder, ref index));
            }

            return(index);
        }
示例#11
0
 public IgesLinearSolid(
     IgesPoint p1,
     IgesPoint p2,
     IgesPoint p3,
     IgesPoint p4,
     IgesPoint p5,
     IgesPoint p6,
     IgesPoint p7,
     IgesPoint p8)
     : base(IgesTopologyType.LinearSolid)
 {
     P1 = p1;
     P2 = p2;
     P3 = p3;
     P4 = p4;
     P5 = p5;
     P6 = p6;
     P7 = p7;
     P8 = p8;
 }
示例#12
0
 public IgesParabolicQuadrilateral(
     IgesPoint p1,
     IgesPoint p1P2Control,
     IgesPoint p2,
     IgesPoint p2P3Control,
     IgesPoint p3,
     IgesPoint p3P4Control,
     IgesPoint p4,
     IgesPoint p4P1Control)
     : base(IgesTopologyType.ParabolicQuadrilateral)
 {
     P1          = p1;
     P1P2Control = p1P2Control;
     P2          = p2;
     P2P3Control = p2P3Control;
     P3          = p3;
     P3P4Control = p3P4Control;
     P4          = p4;
     P4P1Control = p4P1Control;
 }
示例#13
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            var index        = 0;
            var segmentCount = Integer(parameters, index++);

            ArrowHeight = Double(parameters, index++);
            ArrowWidth  = Double(parameters, index++);
            var zDepth = Double(parameters, index++);
            var x      = Double(parameters, index++);
            var y      = Double(parameters, index++);

            ArrowheadCoordinates = new IgesPoint(x, y, zDepth);
            for (int i = 0; i < segmentCount; i++)
            {
                x = Double(parameters, index++);
                y = Double(parameters, index++);
                LineSegments.Add(new IgesPoint(x, y, zDepth));
            }

            return(segmentCount * 2 + 6);
        }
示例#14
0
        internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
        {
            this.PlaneCoefficientA = Double(parameters, 0);
            this.PlaneCoefficientB = Double(parameters, 1);
            this.PlaneCoefficientC = Double(parameters, 2);
            this.PlaneCoefficientD = Double(parameters, 3);

            var closedCurvePointer = Integer(parameters, 4);

            closedCurvePointer = Integer(parameters, 4);
            Debug.Assert((FormNumber == 0 && closedCurvePointer == 0) || (FormNumber != 0 && closedCurvePointer != 0), "Form 0 should have no pointer, form (+/-)1 should");
            if (closedCurvePointer != 0)
            {
                binder.BindEntity(closedCurvePointer, e => ClosedCurveBoundingEntity = e);
            }

            this.DisplaySymbolLocation = IgesPoint.Point3D(parameters, 5);
            this.DisplaySymbolSize     = Double(parameters, 8);

            return(9);
        }
示例#15
0
 internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
 {
     Location = IgesPoint.Point3D(parameters, 0);
     binder.BindEntity(Integer(parameters, 3), e => DisplaySymbolGeometry = e);
     RawConnectionType    = Integer(parameters, 4);
     ConnectionType       = Enum.IsDefined(typeof(IgesConnectionType), RawConnectionType)
         ? ConnectionType = (IgesConnectionType)RawConnectionType
         : ConnectionType = IgesConnectionType.ImplementorDefined;
     FunctionType         = (IgesConnectionFunctionType)Integer(parameters, 5);
     FunctionIdentifier   = String(parameters, 6);
     binder.BindEntity(Integer(parameters, 7), e => FunctionIdentifierTextDisplayTemplate = e);
     FunctionName = String(parameters, 8);
     binder.BindEntity(Integer(parameters, 9), e => FunctionNameTextDisplayTemplate = e);
     UniqueIdentifier = Integer(parameters, 10);
     RawFunctionCode  = Integer(parameters, 11);
     FunctionCode     = Enum.IsDefined(typeof(IgesConnectionFunctionCode), RawFunctionCode)
         ? (IgesConnectionFunctionCode)RawFunctionCode
         : IgesConnectionFunctionCode.ImplementorDefined;
     ConnectPointMayBeSwapped = !Boolean(parameters, 12);
     binder.BindEntity(Integer(parameters, 13), e => Owner = e);
     return(14);
 }
示例#16
0
 public IgesCubicTriangle(
     IgesPoint p1,
     IgesPoint p1P2Control1,
     IgesPoint p1P2Control2,
     IgesPoint p2,
     IgesPoint p2P3Control1,
     IgesPoint p2P3Control2,
     IgesPoint p3,
     IgesPoint p3P1Control1,
     IgesPoint p3P1Control2)
     : base(IgesTopologyType.CubicTriangle)
 {
     P1           = p1;
     P1P2Control1 = p1P2Control1;
     P1P2Control2 = p1P2Control2;
     P2           = p2;
     P2P3Control1 = p2P3Control1;
     P2P3Control2 = p2P3Control2;
     P3           = p3;
     P3P1Control1 = p3P1Control1;
     P3P1Control2 = p3P1Control2;
 }
示例#17
0
 public IgesParabolicSolidTetrahedron(
     IgesPoint p1,
     IgesPoint p1P2Control,
     IgesPoint p2,
     IgesPoint p2P3Control,
     IgesPoint p3,
     IgesPoint p3P1Control,
     IgesPoint p4P1Control,
     IgesPoint p4P2Control,
     IgesPoint p4P3Control,
     IgesPoint p4)
     : base(IgesTopologyType.ParabolicSolidTetrahedron)
 {
     P1          = p1;
     P1P2Control = p1P2Control;
     P2          = p2;
     P2P3Control = p2P3Control;
     P3          = p3;
     P3P1Control = p3P1Control;
     P4P1Control = p4P1Control;
     P4P2Control = p4P2Control;
     P4P3Control = p4P3Control;
     P4          = p4;
 }
示例#18
0
 internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
 {
     binder.BindEntity(Integer(parameters, 0), e => BooleanTree = e as IgesBooleanTree);
     SelectionPoint = IgesPoint.Point3D(parameters, 1);
     return(4);
 }
示例#19
0
 internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
 {
     this.Radius = Double(parameters, 0);
     this.Center = IgesPoint.Point3D(parameters, 1);
     return(4);
 }
示例#20
0
 public IgesSelectedComponent(IgesBooleanTree booleanTree, IgesPoint selectionPoint)
 {
     EntityUseFlag  = IgesEntityUseFlag.Other;
     BooleanTree    = booleanTree;
     SelectionPoint = selectionPoint;
 }
示例#21
0
 public IgesGroundedSpring(
     IgesPoint location)
     : base(IgesTopologyType.GroundedSpring)
 {
     Location = location;
 }
示例#22
0
 public IgesMass(
     IgesPoint location)
     : base(IgesTopologyType.Mass)
 {
     Location = location;
 }
示例#23
0
 public IgesLine(IgesPoint p1, IgesPoint p2)
     : base()
 {
     this.P1 = p1;
     this.P2 = p2;
 }
示例#24
0
 public bool IsPointOnPlane(IgesPoint point)
 {
     return((PlaneCoefficientA * point.X) + (PlaneCoefficientB * point.Y) + (PlaneCoefficientC * point.Z) == PlaneCoefficientD);
 }
示例#25
0
        public static Point TransformPoint(this IgesEntity entity, IgesPoint point)
        {
            var transformed = entity.TransformationMatrix.Transform(point);

            return(new Point(transformed.X, transformed.Y, transformed.Z));
        }
示例#26
0
 internal override int ReadParameters(List <string> parameters, IgesReaderBinder binder)
 {
     this.Offset = IgesPoint.Point3D(parameters, 0);
     binder.BindEntity(Integer(parameters, 3), e => DisplacementCoordinateSystem = e as IgesTransformationMatrix);
     return(4);
 }
 public IgesGroundedDamper(
     IgesPoint location)
     : base(IgesTopologyType.GroundedDamper)
 {
     Location = location;
 }
示例#28
0
        private static void TestTransform(IgesPoint input, IgesTransformationMatrix matrix, IgesPoint expected)
        {
            var result = matrix.Transform(input);

            Assert.Equal(expected.X, result.X);
            Assert.Equal(expected.Y, result.Y);
            Assert.Equal(expected.Z, result.Z);
        }
示例#29
0
 protected IgesPoint PointOrDefault(List <string> values, ref int index, IgesPoint defaultValue)
 {
     return(IgesParameterReader.PointOrDefault(values, ref index, defaultValue));
 }