A linked line containing straight line segments and arcs.
This Polyline is modeled on DXF Polylines.
Add
| Void Add (Point3F p) |
Add
| Void Add (Point3F p, Double bulge) |
Add
| Void Add (Double x, Double y, Double z, Double bulge) |
Add
| Void Add (Double x, Double y, Double z, Double bulge, Double tolerance) |
Add
| Void Add (Double x, Double y, Double z) |
Add
| Void Add (Object o, Double tolerance) |
Add
| Void Add (Line2F line, Double tolerance) |
Add
| Void Add (Line3F line, Double tolerance) |
Add
| Void Add (Arc2F arc, Double tolerance) |
AddQuadratic
| Void AddQuadratic (Quadratic2F q, Double tolerance) |
ApplyTransformation
| Boolean ApplyTransformation (Matrix4x4F xm) Multiply the points in the object by a transformation matrix. |
ArcIntersections
| Point2F[] ArcIntersections (Arc2F arc, Double tolerance) |
BreakClosedAtSegment
| Polyline BreakClosedAtSegment (Int32 segment) |
BreakClosedAtSegment
| Polyline BreakClosedAtSegment (Int32 segment, Point2F pt, Double tolerance) |
BulgeDirection static | Int32 BulgeDirection (Matrix4x4F xm) |
CheckForClosed
| Boolean CheckForClosed (Double tolerance) |
Clone
| Entity Clone () |
CloneFrom
| Void CloneFrom (Entity src) |
ConvertToPolylines
| Polyline[] ConvertToPolylines (Boolean apply_transformations) |
CreateOffsetPolyline
| Polyline[] CreateOffsetPolyline (Double offset, Double tolerance) |
CreateOffsetPolyline
| Polyline[] CreateOffsetPolyline (Double offset, Double tolerance, Boolean cornerovercut, Boolean vcorner) |
DigitizePolyline2
| Void DigitizePolyline2 (List`1 arcs, List`1 lines) |
DigitizePolyline
| Point3FArray DigitizePolyline () |
DigitizePolyline
| Point3FArray DigitizePolyline (Hashtable segkey) |
DumpToCADFile
| Void DumpToCADFile (String filename) |
FindLoopPoints
| Point2F[] FindLoopPoints (Double tolerance) |
FindLoopPoints
| Point2F[] FindLoopPoints (Double tolerance, Boolean check_near_points) |
Flatten
| Boolean Flatten (Double z) Flatten 3D shape into Z plane
Parameters:
z: |
GetCentroid
| Point3F GetCentroid () |
GetExtents
| Void GetExtents (PointF& min, PointF& max) Find the extrema points of this primitive.
Parameters:
min: A point that will receive the minimum coordinates.
max: A point that will receive the maximum coordinates. |
GetExtrema
| Void GetExtrema (Point3F& min, Point3F& max) Find the extrema points of this primitive.
Parameters:
min: A point that will receive the minimum coordinates.
max: A point that will receive the maximum coordinates. |
GetNearestPoint
| Point3F GetNearestPoint (Point2F p, Vector2F& VNormal, Int32& NearestSegment) |
GetNearestPoint
| Point3F GetNearestPoint (Point2F p, Vector2F& VNormal, Int32& NearestSegment, Boolean expanded_search) |
GetParametricPoint
| Double GetParametricPoint (Point2F p, Vector2F& VNormal) |
GetParametricPoint
| Point3F GetParametricPoint (Double u) |
GetPerimeter
| Double GetPerimeter () |
GetRegion
| Rect2F GetRegion () |
GetScreenExtents
| Void GetScreenExtents (PointF& min, PointF& max, Matrix4x4F xm) |
GetSegment
| Polyline GetSegment (Double u, Double v) |
GetSegment
| Object GetSegment (Int32 i, Boolean apply_transform) Returns the geometric object at a given segment.
Parameters:
i: The index of the segment to return.
Returns: A Line2F object if bulge = 0 or an Arc2F if the bulge > 0.
If the index is out of bounds, a null is returned. |
GetSegment
| Object GetSegment (Int32 i) |
InsertPoint
| Int32 InsertPoint (Point2F pt, Double tolerance) |
InsertSegmentAfter
| Void InsertSegmentAfter (Int32 seg, PolylineItem pitem) |
InsertSegmentAfter
| Void InsertSegmentAfter (Int32 seg) |
InsertSegmentAtPoint
| Int32 InsertSegmentAtPoint (Point2F pt, Double tolerance) |
InsertSegmentBefore
| Void InsertSegmentBefore (Int32 seg, PolylineItem pitem) |
InsertSegmentBefore
| Void InsertSegmentBefore (Int32 seg) |
Intersects
| Boolean Intersects (Polyline poly) |
Join static | Polyline[] Join (Polyline[] pols, Double tolerance) |
JoinPolylines_NEW2 static | Polyline[] JoinPolylines_NEW2 (Polyline[]& plines, Double tolerance) |
JoinPolylines static | Polyline JoinPolylines (Polyline[]& plines, Double tolerance) |
LineIntersections
| Point2F[] LineIntersections (Line2F line, Double tolerance) |
NearestSegment
| Int32 NearestSegment (Point2F p, Double tolerance) |
NextSegment
| Int32 NextSegment (Int32 seg) |
Paint
| Void Paint (Display3D d3d) |
Paint
| Void Paint (Display3D d3d, Color ArcColor, Color LineColor) |
Paint
| Void Paint (Matrix4x4F xm, Graphics g, Pen arcpen, Pen linepen) |
PointInPolyline2
| Boolean PointInPolyline2 (Point2F p, Double tolerance) |
PointInPolyline
| Boolean PointInPolyline (Point2F p, Double tolerance) |
PointIntersect
| Boolean PointIntersect (Point2F p, Matrix4x4F xm, Double tolerance) Returns true if a point will intersect part of the primitive. Used for mouse hit testing.
Parameters:
p: The test point.
xm: Transformation matrix.
tolerance: How close the point must be to be considered a hit.
Returns: |
PolylineInsidePolyline
| Boolean PolylineInsidePolyline (Polyline poly) Returns true if 'poly' is within this polyline. WARNING! Should first check if the polylines intersect, otherwise this test can be unreliable!!
Parameters:
poly:
Returns: |
PolylineInsidePolyline
| Boolean PolylineInsidePolyline (Polyline poly, Double tolerance) Check whether a polyline us within this polyline. NOTE: Only tests control points.
Parameters:
poly:
Returns: true or false |
PolylineIntersections static | Point2F[] PolylineIntersections (Polyline poly1, Polyline poly2, Double tolerance) |
PolylineOutsidePolyline
| Boolean PolylineOutsidePolyline (Polyline poly, Double tolerance) |
PolylineSubtract static | Polyline[] PolylineSubtract (Polyline p1, Polyline p2, Double tolerance) |
PolylineTrim static | Polyline[] PolylineTrim (Polyline p1, Polyline p2, Double tolerance) |
PrevSegment
| Int32 PrevSegment (Int32 seg) |
RemoveDuplicatePoints
| Boolean RemoveDuplicatePoints (Double tolerance) |
Reverse
| Void Reverse () |
SegmentLength
| Double SegmentLength (Int32 seg) |
SegmentPolyline
| Polyline SegmentPolyline (Double step) |
SmallerThan
| Boolean SmallerThan (Double threshold) |
SpanDistance
| Double SpanDistance (Int32 s1, Int32 s2) |
SplitAtLoopPoints
| Polyline[] SplitAtLoopPoints (Double tolerance) |
SplitAtPoint3D
| Polyline[] SplitAtPoint3D (Point2F pt, Double tolerance) |
SplitAtPoint
| Polyline[] SplitAtPoint (Int32 segment, Point2F pt, Double tolerance) |
SplitAtPoint
| Polyline[] SplitAtPoint (Point2F pt, Double tolerance) |
SplitAtPoints3D
| Polyline[] SplitAtPoints3D (Point2F[] pts, Double tolerance) |
SplitAtPoints
| Polyline[] SplitAtPoints (Point2F[] pts, Double tolerance) |
SplitAtSegment
| Polyline[] SplitAtSegment (Int32 segment) |
ToNewStartPoint
| Polyline ToNewStartPoint (Int32 segment) |
ToPrimitives
| Entity[] ToPrimitives () |
Update
| Void Update () Instructs the primitive to refresh any internal data if the the object has changed. |