static _SegmentParams BuildSegmentParams(byte[] bytes, int startIndex, int segmentType) { _SegmentParams segmentParams = new _SegmentParams(); int segmentLength = SegmentLength(segmentType); if (segmentType == (int)SegmentType.Arc) { segmentParams.Arc.CenterPoint = BuildPoint(bytes, startIndex); segmentParams.Arc.Bits = BitConverter.ToInt32(bytes, startIndex + 16); } else if (segmentType == (int)SegmentType.Bezier3Curve) { segmentParams.BezierCurve.ControlPoint0 = BuildPoint(bytes, startIndex); segmentParams.BezierCurve.ControlPoint1 = BuildPoint(bytes, startIndex + 16); } else if (segmentType == (int)SegmentType.EllipticArc) { segmentParams.EllipticArc.Center = BuildPoint(bytes, startIndex); segmentParams.EllipticArc.Rotation = BitConverter.ToDouble(bytes, startIndex + 16); segmentParams.EllipticArc.SemiMajor = BitConverter.ToDouble(bytes, startIndex + 24); segmentParams.EllipticArc.MinorMajorRatio = BitConverter.ToDouble(bytes, startIndex + 32); segmentParams.EllipticArc.Bits = BitConverter.ToInt32(bytes, startIndex + 40); } return(segmentParams); }
static _SegmentParams BuildSegmentParams(byte[] bytes, int startIndex, int segmentType) { _SegmentParams segmentParams = new _SegmentParams(); int segmentLength = SegmentLength(segmentType); if (segmentType == (int)SegmentType.Arc) { segmentParams.Arc.CenterPoint = BuildPoint(bytes, startIndex); segmentParams.Arc.Bits = BitConverter.ToInt32(bytes, startIndex + 16); } else if (segmentType == (int)SegmentType.Bezier3Curve) { segmentParams.BezierCurve.ControlPoint0 = BuildPoint(bytes, startIndex); segmentParams.BezierCurve.ControlPoint1 = BuildPoint(bytes, startIndex + 16); } else if (segmentType == (int)SegmentType.EllipticArc) { segmentParams.EllipticArc.Center = BuildPoint(bytes, startIndex); segmentParams.EllipticArc.Rotation = BitConverter.ToDouble(bytes, startIndex + 16); segmentParams.EllipticArc.SemiMajor = BitConverter.ToDouble(bytes, startIndex + 24); segmentParams.EllipticArc.MinorMajorRatio = BitConverter.ToDouble(bytes, startIndex + 32); segmentParams.EllipticArc.Bits = BitConverter.ToInt32(bytes, startIndex + 40); } return segmentParams; }