示例#1
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add((int)CurveCreationType);
     parameters.Add(binder.GetEntityId(Surface));
     parameters.Add(binder.GetEntityId(CurveDefinitionB));
     parameters.Add(binder.GetEntityId(CurveDefinitionC));
     parameters.Add((int)PreferredRepresentation);
 }
示例#2
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(SubfigureDefinition));
     parameters.Add(Translation.X);
     parameters.Add(Translation.Y);
     parameters.Add(Translation.Z);
     parameters.Add(Scale);
 }
示例#3
0
        internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
        {
            Debug.Assert(Weights != null);
            Debug.Assert(ControlPoints != null);
            Debug.Assert(Weights.GetLength(0) == ControlPoints.GetLength(0));
            Debug.Assert(Weights.GetLength(1) == ControlPoints.GetLength(1));

            var k1 = Weights.GetLength(0) - 1;
            var k2 = Weights.GetLength(1) - 1;
            var a  = FirstKnotValueSequence.Count - 1;
            var b  = SecondKnotValueSequence.Count - 1;
            var m1 = a - 1 - k1;
            var m2 = b - 1 - k2;

            parameters.Add(k1);
            parameters.Add(k2);
            parameters.Add(m1);
            parameters.Add(m2);
            parameters.Add(IsClosedInFirstParametricVariable ? 1 : 0);
            parameters.Add(IsClosedInSecondParametricVariable ? 1 : 0);
            parameters.Add(IsPolynomial ? 1 : 0);
            parameters.Add(IsPeriodicInFirstParametricVariable ? 1 : 0);
            parameters.Add(IsPeriodicInSecondParametricVariable ? 1 : 0);

            for (int i = 0; i < FirstKnotValueSequence.Count; i++)
            {
                parameters.Add(FirstKnotValueSequence[i]);
            }

            for (int i = 0; i < SecondKnotValueSequence.Count; i++)
            {
                parameters.Add(SecondKnotValueSequence[i]);
            }

            for (int j = 0; j < k2 + 1; j++)
            {
                for (int i = 0; i < k1 + 1; i++)
                {
                    parameters.Add(Weights[i, j]);
                }
            }

            for (int j = 0; j < k2 + 1; j++)
            {
                for (int i = 0; i < k1 + 1; i++)
                {
                    var point = ControlPoints[i, j];
                    parameters.Add(point.X);
                    parameters.Add(point.Y);
                    parameters.Add(point.Z);
                }
            }

            parameters.Add(FirstParametricStartingValue);
            parameters.Add(FirstParametricEndingValue);
            parameters.Add(SecondParametricStartingValue);
            parameters.Add(SecondParametricEndingValue);
        }
示例#4
0
文件: IgesFlash.cs 项目: ixmilia/iges
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(XOffset);
     parameters.Add(YOffset);
     parameters.Add(SizeParameter1);
     parameters.Add(SizeParameter2);
     parameters.Add(RotationAngle);
     parameters.Add(binder.GetEntityId(ReferenceEntity));
 }
示例#5
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     PropertyCount = DefinedLevels.Count;
     base.WriteParameters(parameters, binder);
     foreach (var level in DefinedLevels)
     {
         parameters.Add(level);
     }
 }
示例#6
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(this.P1.X);
     parameters.Add(this.P1.Y);
     parameters.Add(this.P1.Z);
     parameters.Add(this.P2.X);
     parameters.Add(this.P2.Y);
     parameters.Add(this.P2.Z);
 }
示例#7
0
        internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
        {
            parameters.Add(this.TopologyNumber);
            parameters.Add(this.InternalNodes.Count);
            parameters.AddRange(InternalNodes.Select(binder.GetEntityId).Cast <object>());
            parameters.Add(ElementTypeName);

            InternalNodes.Clear();
        }
示例#8
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(Point));
     parameters.Add(binder.GetEntityId(Normal));
     if (IsParameterized)
     {
         parameters.Add(binder.GetEntityId(ReferenceDirection));
     }
 }
示例#9
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(GeneralNote));
     parameters.Add(binder.GetEntityId((IgesEntity)WitnessLine ?? FirstLeader));
     if (HasSupplementalLeader)
     {
         parameters.Add(binder.GetEntityId(FirstLeader));
     }
 }
示例#10
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(GeneralNote));
     parameters.Add(Leaders.Count);
     foreach (var leader in Leaders)
     {
         parameters.Add(binder.GetEntityId(leader));
     }
 }
示例#11
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(this.Radius);
     if (Center != IgesPoint.Origin)
     {
         parameters.Add(this.Center.X);
         parameters.Add(this.Center.Y);
         parameters.Add(this.Center.Z);
     }
 }
示例#12
0
 public WriterState(Dictionary <IgesEntity, int> entityMap, List <string> directoryLines, List <string> parameterLines, char fieldDelimiter, char recordDelimiter)
 {
     EntityMap       = entityMap;
     DirectoryLines  = directoryLines;
     ParameterLines  = parameterLines;
     FieldDelimiter  = fieldDelimiter;
     RecordDelimiter = recordDelimiter;
     WriterBinder    = new IgesWriterBinder(entityMap);
     _levelsPointers = new Dictionary <HashSet <int>, int>(new HashSetComparer());
 }
示例#13
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(this.PlaneDisplacement);
     parameters.Add(this.Center.X);
     parameters.Add(this.Center.Y);
     parameters.Add(this.StartPoint.X);
     parameters.Add(this.StartPoint.Y);
     parameters.Add(this.EndPoint.X);
     parameters.Add(this.EndPoint.Y);
 }
示例#14
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     base.WriteParameters(parameters, binder);
     parameters.Add(binder.GetEntityId(ViewVolumeLeft));
     parameters.Add(binder.GetEntityId(ViewVolumeTop));
     parameters.Add(binder.GetEntityId(ViewVolumeRight));
     parameters.Add(binder.GetEntityId(ViewVolumeBottom));
     parameters.Add(binder.GetEntityId(ViewVolumeBack));
     parameters.Add(binder.GetEntityId(ViewVolumeFront));
 }
示例#15
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(GeneralNote));
     parameters.Add(binder.GetEntityId(FirstCurve));
     parameters.Add(binder.GetEntityId(SecondCurve));
     parameters.Add(binder.GetEntityId(FirstLeader));
     parameters.Add(binder.GetEntityId(SecondLeader));
     parameters.Add(binder.GetEntityId(FirstWitnessLine));
     parameters.Add(binder.GetEntityId(SecondWitnessLine));
 }
示例#16
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(Center));
     parameters.Add(Radius);
     if (IsParameterized)
     {
         parameters.Add(binder.GetEntityId(AxisDirection));
         parameters.Add(binder.GetEntityId(ReferenceDirection));
     }
 }
示例#17
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(Height);
     parameters.Add(Radius);
     parameters.Add(FirstFaceCenter.X);
     parameters.Add(FirstFaceCenter.Y);
     parameters.Add(FirstFaceCenter.Z);
     parameters.Add(AxisDirection.X);
     parameters.Add(AxisDirection.Y);
     parameters.Add(AxisDirection.Z);
 }
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(GeneralNote));
     parameters.Add(binder.GetEntityId(FirstLeader));
     parameters.Add(ArcCenter.X);
     parameters.Add(ArcCenter.Y);
     if (HasTwoLeaders)
     {
         parameters.Add(binder.GetEntityId(SecondLeader));
     }
 }
示例#19
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(Curve));
     parameters.Add(RevolutionAmount);
     parameters.Add(PointOnAxis.X);
     parameters.Add(PointOnAxis.Y);
     parameters.Add(PointOnAxis.Z);
     parameters.Add(AxisDirection.X);
     parameters.Add(AxisDirection.Y);
     parameters.Add(AxisDirection.Z);
 }
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(binder.GetEntityId(Shell));
     parameters.Add(IsOriented);
     parameters.Add(Voids.Count);
     foreach (var v in Voids)
     {
         parameters.Add(binder.GetEntityId(v.Shell));
         parameters.Add(v.IsOriented);
     }
 }
示例#21
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(PlaneCoefficientA);
     parameters.Add(PlaneCoefficientB);
     parameters.Add(PlaneCoefficientC);
     parameters.Add(PlaneCoefficientD);
     parameters.Add(binder.GetEntityId(ClosedCurveBoundingEntity));
     parameters.Add(DisplaySymbolLocation.X);
     parameters.Add(DisplaySymbolLocation.Y);
     parameters.Add(DisplaySymbolLocation.Z);
     parameters.Add(DisplaySymbolSize);
 }
示例#22
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     if (RootNode == null)
     {
         parameters.Add(0);
     }
     else
     {
         parameters.Add(GetItemCount(RootNode));
         WriteParameters(parameters, binder, RootNode);
     }
 }
示例#23
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add((int)CharacterDisplay);
     parameters.Add(CharacterWidth);
     parameters.Add(CharacterHeight);
     parameters.Add(InterCharacterSpacing);
     parameters.Add(InterLineSpacing);
     parameters.Add((int)FontStyle);
     parameters.Add(CharacterAngle);
     parameters.Add(ControlCode);
     base.WriteParameters(parameters, binder);
 }
示例#24
0
        internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
        {
            parameters.Add(Solids.Count);
            foreach (var solid in Solids)
            {
                parameters.Add(binder.GetEntityId(solid.Solid));
            }

            foreach (var solid in Solids)
            {
                parameters.Add(binder.GetEntityId(solid.TransformationMatrix));
            }
        }
示例#25
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(IsBounaryParametric);
     parameters.Add((int)TrimCurvePreference);
     parameters.Add(binder.GetEntityId(Entity));
     parameters.Add(BoundaryItems.Count);
     foreach (var boundaryItem in BoundaryItems)
     {
         parameters.Add(binder.GetEntityId(boundaryItem.Entity));
         parameters.Add(boundaryItem.IsReversed);
         parameters.Add(boundaryItem.AssociatedParameterCurves.Count);
         parameters.AddRange(boundaryItem.AssociatedParameterCurves.Select(binder.GetEntityId).Cast <object>());
     }
 }
示例#26
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(CoefficientA);
     parameters.Add(CoefficientB);
     parameters.Add(CoefficientC);
     parameters.Add(CoefficientD);
     parameters.Add(CoefficientE);
     parameters.Add(CoefficientF);
     parameters.Add(StartPoint.Z);
     parameters.Add(StartPoint.X);
     parameters.Add(StartPoint.Y);
     parameters.Add(EndPoint.X);
     parameters.Add(EndPoint.Y);
 }
示例#27
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(LineSegments.Count);
     parameters.Add(ArrowHeight);
     parameters.Add(ArrowWidth);
     parameters.Add(ArrowheadCoordinates.Z);
     parameters.Add(ArrowheadCoordinates.X);
     parameters.Add(ArrowheadCoordinates.Y);
     foreach (var p in LineSegments)
     {
         parameters.Add(p.X);
         parameters.Add(p.Y);
     }
 }
示例#28
0
 private void WriteParameters(List <object> parameters, IgesWriterBinder binder, IIgesBooleanTreeItem node)
 {
     if (node.IsEntity)
     {
         parameters.Add(-binder.GetEntityId(((IgesBooleanTreeEntity)node).Entity));
     }
     else
     {
         var operation = (IgesBooleanTreeOperation)node;
         WriteParameters(parameters, binder, operation.LeftChild);
         WriteParameters(parameters, binder, operation.RightChild);
         parameters.Add((int)operation.OperationKind);
     }
 }
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(LabelPlacements.Count);
     foreach (var labelPlacement in LabelPlacements)
     {
         parameters.Add(binder.GetEntityId(labelPlacement.View));
         parameters.Add(labelPlacement.Location.X);
         parameters.Add(labelPlacement.Location.Y);
         parameters.Add(labelPlacement.Location.Z);
         parameters.Add(binder.GetEntityId(labelPlacement.Leader));
         parameters.Add(labelPlacement.Level);
         parameters.Add(binder.GetEntityId(labelPlacement.Label));
     }
 }
示例#30
0
 internal override void WriteParameters(List <object> parameters, IgesWriterBinder binder)
 {
     parameters.Add(XAxisLength);
     parameters.Add(YAxisLength);
     parameters.Add(ZAxisLength);
     parameters.Add(Center.X);
     parameters.Add(Center.Y);
     parameters.Add(Center.Z);
     parameters.Add(XAxis.X);
     parameters.Add(XAxis.Y);
     parameters.Add(XAxis.Z);
     parameters.Add(ZAxis.X);
     parameters.Add(ZAxis.Y);
     parameters.Add(ZAxis.Z);
 }