Polyline
Public Class Polyline
Inherits Entity
Implements IToPolylines
A linked line containing straight line segments and arcs.
This Polyline is modeled on DXF Polylines.
Properties
CADFile readonly |
CADFile |
|
CanConvertToPolylines readonly |
System.Boolean |
|
Closed |
System.Boolean |
|
Direction readonly |
CamBam.Geom.RotationDirection |
|
FirstPoint readonly |
Point3F FirstPoint | |
HasArcs readonly |
bool HasArcs |
|
ID |
System.Int32 |
|
LastPoint readonly |
Point3F lastPoint |
|
Layer readonly |
Layer |
|
NumSegments readonly |
System.Int32 |
|
Parent |
System.Object |
|
Points |
CamBam.CAD.PolylineItemList |
|
PrimitiveType readonly |
System.String |
|
SubPrimitives readonly |
System.Collections.ArrayList |
|
Tag |
System.String |
|
Transform |
CamBam.Geom.Matrix4x4F |
Methods
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. |
|
ApplyTransformation |
Boolean ApplyTransformation (Matrix4x4F xm, Boolean check_arcs) Multiply the points in the object by a transformation matrix. |
|
ArcFit | Polyline ArcFit(double tolerance) | |
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) |
|
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 () Return the perimeter for a closed polyline or the lenght for an open polyline. |
|
GetRegion |
Rect2F GetRegion () | |
GetScreenExtents |
Void GetScreenExtents (PointF min, PointF max, Matrix4x4F xm) | |
GetSegment |
Polyline GetSegment (Double u, Double v) Return a polyline that is a part of the source polyline, starting at u and ending at v (in current units) ex: u = 5, v = 20, return a polyline of a total lenght = 15 units (20-5) and that start 5 units after the start point of the source polyline. * if u and v are reverted, the resulting polyline is the same, but its direction is reversed
|
|
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) i The index of the segment to return. |
|
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) | |
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) | |
RemoveArcs | Polyline RemoveArcs(double tolerance) | |
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. |