Show / Hide Table of Contents

Class Path2D

Composition of one or more ICurve2D objects. The contained ICurve2D objects are connected and stored in the right order, i.e. SubCurve[i].EndPoint is identical or close to SubCurve[i+1].StartPoint. Path2D may be open or closed. It also may be self-intersecting.

Inheritance
System.Object
GeneralCurve2D
Path2D
Implements
ICurve2D
IQuadTreeInsertable
System.Runtime.Serialization.ISerializable
Inherited Members
GeneralCurve2D.UserData
GeneralCurve2D.ReferencedObject
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: CADability.Curve2D
Assembly: CADability.dll
Syntax
[Serializable]
public class Path2D : GeneralCurve2D, ICurve2D, IQuadTreeInsertable, I2DIntersectable, ISerializable

Constructors

| Improve this Doc View Source

Path2D(ICurve2D[])

Declaration
public Path2D(ICurve2D[] subCurves)
Parameters
Type Name Description
ICurve2D[] subCurves
| Improve this Doc View Source

Path2D(ICurve2D[], Boolean)

Declaration
public Path2D(ICurve2D[] subCurves, bool forceConnection)
Parameters
Type Name Description
ICurve2D[] subCurves
System.Boolean forceConnection
| Improve this Doc View Source

Path2D(SerializationInfo, StreamingContext)

Constructor required by deserialization

Declaration
protected Path2D(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info

SerializationInfo

System.Runtime.Serialization.StreamingContext context

StreamingContext

Properties

| Improve this Doc View Source

DisplayClosed

Declaration
public bool DisplayClosed { set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

EndDirection

Declaration
public override GeoVector2D EndDirection { get; }
Property Value
Type Description
GeoVector2D
Overrides
GeneralCurve2D.EndDirection
| Improve this Doc View Source

EndPoint

Declaration
public override GeoPoint2D EndPoint { get; set; }
Property Value
Type Description
GeoPoint2D
Overrides
GeneralCurve2D.EndPoint
| Improve this Doc View Source

IsClosed

Declaration
public override bool IsClosed { get; }
Property Value
Type Description
System.Boolean
Overrides
GeneralCurve2D.IsClosed
| Improve this Doc View Source

Item[Int32]

Declaration
public ICurve2D this[int Index] { get; }
Parameters
Type Name Description
System.Int32 Index
Property Value
Type Description
ICurve2D
| Improve this Doc View Source

Length

Declaration
public override double Length { get; }
Property Value
Type Description
System.Double
Overrides
GeneralCurve2D.Length
| Improve this Doc View Source

MiddleDirection

Declaration
public override GeoVector2D MiddleDirection { get; }
Property Value
Type Description
GeoVector2D
Overrides
GeneralCurve2D.MiddleDirection
| Improve this Doc View Source

StartDirection

Declaration
public override GeoVector2D StartDirection { get; }
Property Value
Type Description
GeoVector2D
Overrides
GeneralCurve2D.StartDirection
| Improve this Doc View Source

StartPoint

Declaration
public override GeoPoint2D StartPoint { get; set; }
Property Value
Type Description
GeoPoint2D
Overrides
GeneralCurve2D.StartPoint
| Improve this Doc View Source

SubCurves

Declaration
public ICurve2D[] SubCurves { get; }
Property Value
Type Description
ICurve2D[]
| Improve this Doc View Source

SubCurvesCount

Declaration
public int SubCurvesCount { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

Sweep

Declaration
public override double Sweep { get; }
Property Value
Type Description
System.Double
Overrides
GeneralCurve2D.Sweep

Methods

| Improve this Doc View Source

AddToGraphicsPath(GraphicsPath, Boolean)

Implements AddToGraphicsPath(GraphicsPath, Boolean)

Declaration
public override void AddToGraphicsPath(GraphicsPath path, bool forward)
Parameters
Type Name Description
System.Drawing.Drawing2D.GraphicsPath path
System.Boolean forward
Overrides
GeneralCurve2D.AddToGraphicsPath(GraphicsPath, Boolean)
| Improve this Doc View Source

Append(ICurve2D)

Declaration
public void Append(ICurve2D toAppend)
Parameters
Type Name Description
ICurve2D toAppend
| Improve this Doc View Source

Approximate(Boolean, Double)

Implements Approximate(Boolean, Double)

Declaration
public override ICurve2D Approximate(bool linesOnly, double maxError)
Parameters
Type Name Description
System.Boolean linesOnly
System.Double maxError
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.Approximate(Boolean, Double)
| Improve this Doc View Source

Clone()

Implements Clone()

Declaration
public override ICurve2D Clone()
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.Clone()
| Improve this Doc View Source

CloneReverse(Boolean)

Implements CloneReverse(Boolean)

Declaration
public override ICurve2D CloneReverse(bool reverse)
Parameters
Type Name Description
System.Boolean reverse
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.CloneReverse(Boolean)
| Improve this Doc View Source

ConnectWith(ICurve2D, Double)

Declaration
public bool ConnectWith(ICurve2D toConnect, double precision)
Parameters
Type Name Description
ICurve2D toConnect
System.Double precision
Returns
Type Description
System.Boolean
| Improve this Doc View Source

Copy(ICurve2D)

Implements Copy(ICurve2D)

Declaration
public override void Copy(ICurve2D toCopyFrom)
Parameters
Type Name Description
ICurve2D toCopyFrom
Overrides
GeneralCurve2D.Copy(ICurve2D)
| Improve this Doc View Source

DirectionAt(Double)

Implements DirectionAt(Double)

Declaration
public override GeoVector2D DirectionAt(double Position)
Parameters
Type Name Description
System.Double Position
Returns
Type Description
GeoVector2D
Overrides
GeneralCurve2D.DirectionAt(Double)
| Improve this Doc View Source

Distance(GeoPoint2D)

Implements Distance(GeoPoint2D)

Declaration
public override double Distance(GeoPoint2D p)
Parameters
Type Name Description
GeoPoint2D p
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.Distance(GeoPoint2D)
| Improve this Doc View Source

Flatten()

Declaration
public void Flatten()
| Improve this Doc View Source

GeometricalEqual(Double, Path2D)

Declaration
public bool GeometricalEqual(double precision, Path2D other)
Parameters
Type Name Description
System.Double precision
Path2D other
Returns
Type Description
System.Boolean
| Improve this Doc View Source

GetArea()

Declaration
public override double GetArea()
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.GetArea()
| Improve this Doc View Source

GetAreaFromPoint(GeoPoint2D)

Implements GetAreaFromPoint(GeoPoint2D)

Declaration
public override double GetAreaFromPoint(GeoPoint2D p)
Parameters
Type Name Description
GeoPoint2D p
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.GetAreaFromPoint(GeoPoint2D)
| Improve this Doc View Source

GetExtendedHitTest()

Implements GetExtendedHitTest()

Declaration
public override IQuadTreeInsertable GetExtendedHitTest()
Returns
Type Description
IQuadTreeInsertable
Overrides
GeneralCurve2D.GetExtendedHitTest()
| Improve this Doc View Source

GetExtent()

Declaration
public override BoundingRect GetExtent()
Returns
Type Description
BoundingRect
Overrides
GeneralCurve2D.GetExtent()
| Improve this Doc View Source

GetFused(ICurve2D, Double)

Declaration
public override ICurve2D GetFused(ICurve2D toFuseWith, double precision)
Parameters
Type Name Description
ICurve2D toFuseWith
System.Double precision
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.GetFused(ICurve2D, Double)
| Improve this Doc View Source

GetInflectionPoints()

Implements GetInflectionPoints()

Declaration
public override double[] GetInflectionPoints()
Returns
Type Description
System.Double[]
Overrides
GeneralCurve2D.GetInflectionPoints()
| Improve this Doc View Source

GetModified(ModOp2D)

Declaration
public override ICurve2D GetModified(ModOp2D m)
Parameters
Type Name Description
ModOp2D m
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.GetModified(ModOp2D)
| Improve this Doc View Source

GetSelfIntersections()

Implements GetSelfIntersections()

Declaration
public override double[] GetSelfIntersections()
Returns
Type Description
System.Double[]
Overrides
GeneralCurve2D.GetSelfIntersections()
| Improve this Doc View Source

HitTest(ref BoundingRect, Boolean)

Declaration
public override bool HitTest(ref BoundingRect Rect, bool IncludeControlPoints)
Parameters
Type Name Description
BoundingRect Rect
System.Boolean IncludeControlPoints
Returns
Type Description
System.Boolean
Overrides
GeneralCurve2D.HitTest(ref BoundingRect, Boolean)
| Improve this Doc View Source

Intersect(ICurve2D)

Implements Intersect(ICurve2D)

Declaration
public override GeoPoint2DWithParameter[] Intersect(ICurve2D IntersectWith)
Parameters
Type Name Description
ICurve2D IntersectWith
Returns
Type Description
GeoPoint2DWithParameter[]
Overrides
GeneralCurve2D.Intersect(ICurve2D)
| Improve this Doc View Source

Intersect(GeoPoint2D, GeoPoint2D)

Declaration
public override GeoPoint2DWithParameter[] Intersect(GeoPoint2D StartPoint, GeoPoint2D EndPoint)
Parameters
Type Name Description
GeoPoint2D StartPoint
GeoPoint2D EndPoint
Returns
Type Description
GeoPoint2DWithParameter[]
Overrides
GeneralCurve2D.Intersect(GeoPoint2D, GeoPoint2D)
| Improve this Doc View Source

IsParameterOnCurve(Double)

Implements IsParameterOnCurve(Double)

Declaration
public override bool IsParameterOnCurve(double par)
Parameters
Type Name Description
System.Double par
Returns
Type Description
System.Boolean
Overrides
GeneralCurve2D.IsParameterOnCurve(Double)
| Improve this Doc View Source

IsValidParameter(Double)

Declaration
public override bool IsValidParameter(double par)
Parameters
Type Name Description
System.Double par
Returns
Type Description
System.Boolean
Overrides
GeneralCurve2D.IsValidParameter(Double)
| Improve this Doc View Source

MakeBorder()

Declaration
public Border MakeBorder()
Returns
Type Description
Border
| Improve this Doc View Source

MakeBorder(out Boolean)

Declaration
public Border MakeBorder(out bool reversed)
Parameters
Type Name Description
System.Boolean reversed
Returns
Type Description
Border
| Improve this Doc View Source

MakeGeoObject(Plane)

Implements MakeGeoObject(Plane)

Declaration
public override IGeoObject MakeGeoObject(Plane p)
Parameters
Type Name Description
Plane p
Returns
Type Description
IGeoObject
Overrides
GeneralCurve2D.MakeGeoObject(Plane)
| Improve this Doc View Source

MinDistance(ICurve2D)

Implements MinDistance(ICurve2D)

Declaration
public override double MinDistance(ICurve2D Other)
Parameters
Type Name Description
ICurve2D Other
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.MinDistance(ICurve2D)
| Improve this Doc View Source

MinDistance(GeoPoint2D)

Implements MinDistance(GeoPoint2D)

Declaration
public override double MinDistance(GeoPoint2D p)
Parameters
Type Name Description
GeoPoint2D p
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.MinDistance(GeoPoint2D)
| Improve this Doc View Source

Move(Double, Double)

Implements Move(Double, Double)

Declaration
public override void Move(double dx, double dy)
Parameters
Type Name Description
System.Double dx
System.Double dy
Overrides
GeneralCurve2D.Move(Double, Double)
| Improve this Doc View Source

Parallel(Double, Boolean, Double, Double)

Implements Parallel(Double, Boolean, Double, Double)

Declaration
public override ICurve2D Parallel(double Dist, bool approxSpline, double precision, double roundAngle)
Parameters
Type Name Description
System.Double Dist
System.Boolean approxSpline
System.Double precision
System.Double roundAngle
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.Parallel(Double, Boolean, Double, Double)
| Improve this Doc View Source

PerpendicularFoot(GeoPoint2D)

Implements PerpendicularFoot(GeoPoint2D)

Declaration
public override GeoPoint2D[] PerpendicularFoot(GeoPoint2D FromHere)
Parameters
Type Name Description
GeoPoint2D FromHere
Returns
Type Description
GeoPoint2D[]
Overrides
GeneralCurve2D.PerpendicularFoot(GeoPoint2D)
| Improve this Doc View Source

PointAt(Double)

Implements PointAt(Double)

Declaration
public override GeoPoint2D PointAt(double Position)
Parameters
Type Name Description
System.Double Position
Returns
Type Description
GeoPoint2D
Overrides
GeneralCurve2D.PointAt(Double)
| Improve this Doc View Source

PositionAtLength(Double)

Implements PositionAtLength(Double)

Declaration
public override double PositionAtLength(double position)
Parameters
Type Name Description
System.Double position
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.PositionAtLength(Double)
| Improve this Doc View Source

PositionOf(GeoPoint2D)

Implements PositionOf(GeoPoint2D)

Declaration
public override double PositionOf(GeoPoint2D p)
Parameters
Type Name Description
GeoPoint2D p
Returns
Type Description
System.Double
Overrides
GeneralCurve2D.PositionOf(GeoPoint2D)
| Improve this Doc View Source

Project(Plane, Plane)

Implements Project(Plane, Plane)

Declaration
public override ICurve2D Project(Plane fromPlane, Plane toPlane)
Parameters
Type Name Description
Plane fromPlane
Plane toPlane
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.Project(Plane, Plane)
| Improve this Doc View Source

ReinterpretParameter(ref Double)

Implements ReinterpretParameter(ref Double)

Declaration
public override bool ReinterpretParameter(ref double p)
Parameters
Type Name Description
System.Double p
Returns
Type Description
System.Boolean
Overrides
GeneralCurve2D.ReinterpretParameter(ref Double)
| Improve this Doc View Source

RemoveFirstSegment()

Declaration
public void RemoveFirstSegment()
| Improve this Doc View Source

ReplaceSubcurve(Int32, ICurve2D)

Declaration
public bool ReplaceSubcurve(int index, ICurve2D curve)
Parameters
Type Name Description
System.Int32 index
ICurve2D curve
Returns
Type Description
System.Boolean
| Improve this Doc View Source

Reverse()

Implements Reverse()

Declaration
public override void Reverse()
Overrides
GeneralCurve2D.Reverse()
| Improve this Doc View Source

Split(Double)

Implements Split(Double)

Declaration
public override ICurve2D[] Split(double Position)
Parameters
Type Name Description
System.Double Position
Returns
Type Description
ICurve2D[]
Overrides
GeneralCurve2D.Split(Double)
| Improve this Doc View Source

Split(Double[])

Declaration
public ICurve2D[] Split(double[] positions)
Parameters
Type Name Description
System.Double[] positions
Returns
Type Description
ICurve2D[]
| Improve this Doc View Source

TangentPoints(GeoPoint2D, GeoPoint2D)

Implements TangentPoints(GeoPoint2D, GeoPoint2D)

Declaration
public override GeoPoint2D[] TangentPoints(GeoPoint2D FromHere, GeoPoint2D CloseTo)
Parameters
Type Name Description
GeoPoint2D FromHere
GeoPoint2D CloseTo
Returns
Type Description
GeoPoint2D[]
Overrides
GeneralCurve2D.TangentPoints(GeoPoint2D, GeoPoint2D)
| Improve this Doc View Source

TangentPointsToAngle(Angle, GeoPoint2D)

Implements TangentPointsToAngle(Angle, GeoPoint2D)

Declaration
public override GeoPoint2D[] TangentPointsToAngle(Angle ang, GeoPoint2D CloseTo)
Parameters
Type Name Description
Angle ang
GeoPoint2D CloseTo
Returns
Type Description
GeoPoint2D[]
Overrides
GeneralCurve2D.TangentPointsToAngle(Angle, GeoPoint2D)
| Improve this Doc View Source

TangentPointsToAngle(GeoVector2D)

Implements TangentPointsToAngle(GeoVector2D)

Declaration
public override double[] TangentPointsToAngle(GeoVector2D direction)
Parameters
Type Name Description
GeoVector2D direction
Returns
Type Description
System.Double[]
Overrides
GeneralCurve2D.TangentPointsToAngle(GeoVector2D)
| Improve this Doc View Source

Trim(Double, Double)

Implements Trim(Double, Double)

Declaration
public override ICurve2D Trim(double StartPos, double EndPos)
Parameters
Type Name Description
System.Double StartPos
System.Double EndPos
Returns
Type Description
ICurve2D
Overrides
GeneralCurve2D.Trim(Double, Double)
| Improve this Doc View Source

TryPointDeriv2At(Double, out GeoPoint2D, out GeoVector2D, out GeoVector2D)

Declaration
public override bool TryPointDeriv2At(double position, out GeoPoint2D point, out GeoVector2D deriv, out GeoVector2D deriv2)
Parameters
Type Name Description
System.Double position
GeoPoint2D point
GeoVector2D deriv
GeoVector2D deriv2
Returns
Type Description
System.Boolean
Overrides
GeneralCurve2D.TryPointDeriv2At(Double, out GeoPoint2D, out GeoVector2D, out GeoVector2D)

Explicit Interface Implementations

| Improve this Doc View Source

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implements ISerializable:GetObjectData

Declaration
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info

SerializationInfo

System.Runtime.Serialization.StreamingContext context

StreamingContext

Implements

ICurve2D
IQuadTreeInsertable
System.Runtime.Serialization.ISerializable
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX