CADability dotNET

The ICurve2D type exposes the following members.

Methods

  NameDescription
Public methodAddToGraphicsPath
Public methodApproximate
Approximate this curve and return the approximation. maxError specifies the maximal allowed error, i.e. the maximal deviation of the returned curve from this curve. Is linesOnly ist true, only lines are returned, if linesOnly is false, lines and circular arcs are returned. The result is usually a path consiting of lines and arcs or lines only.
Public methodClone
Public methodCloneReverse
Public methodCopy
Copies the data of the given object to this object. Both objects must be of the same type.
Public methodDirectionAt
Returns the direction of the curve at the provided normalized position.
Public methodDistance
Returns the distance of the specified point to this curve. If this curve can be extended (e.g. a line or an arc) this method will return the distance to the extended curve. If you need the distance to the unextended curve use MinDistance(ICurve2D).
Public methodGetArea
Public methodGetAreaFromPoint
Public methodGetExtendedHitTest
Returns an IQuadTreeInsertable interface. The HitTest Method of this interface returns true if the rectangle coincides with the infinite extension of this curve (unbounded curve). Most curves are not extendable and therefore simply return "this".
Public methodGetFused
Returnes a new curve of the same type which is the fusion of this curve with the provided curve, e.g. two overlapping lines build a longer line. Returnes null if the fusion is not possible (e.g. a line and an arc or two lines with different direction)
Public methodGetInflectionPoints
Returns a list of onflection points of this curve. Teh list might be empty
Public methodGetModified
Returns a ICurve which is this curve modified by m. The curve can be of different type, e.g. a Circle may return an Ellpse
Public methodGetSelfIntersections
Returns pairs of double values. Each pair defines the two parameters of the curve of a self intersection. The result is either empty or has an even number of double values.
Public methodIntersect(ICurve2D)
Public methodIntersect(GeoPoint2D, GeoPoint2D)
Public methodIsParameterOnCurve
Determines, whether the given parameter denotes a point inside the bounds of the curve. i.e. the parameter must be greater or equal to 0.0 and less than or equal 1.0. The actual interval is a little bit extended according to the eps value.
Public methodIsValidParameter
Determines, whether the given parameter is valid for this curve. Some curves are restricted to a parameterrange by their nature.
Public methodMakeGeoObject
Public methodMinDistance(GeoPoint2D)
Returns the distance of the point to the curve. In opposite to Distance(GeoPoint2D) this method will return the distance to the unextended curve
Public methodMinDistance(ICurve2D)
Returns the minimal distance between this curve and the other curve given in the parameter. If the two curves intersect, the minimal distance ist 0.
Public methodMove
Move the curve by the given offset
Public methodParallel
Public methodPerpendicularFoot
Calculates the foot points of the perpendicular projection of the given point on the curve. Perpendicular foot points are points, where the direction of the curve ist perpendicular to the line that connects foot-point to the given point.
Public methodPointAt
Returns the point of the curve at the provided normalized position
Public methodPositionAtLength
Public methodPositionOf
Returns the position of point p on the curve: 0.0 corresponds to the StartPoint 1.0 to the EndPoint
Public methodProject
The 2d-curve is assumed to reside in plane "fromPlane". It will be projected perpendicular onto the plane "toPlane".
Public methodReinterpretParameter
Some curves especially Arc and EllipseArc have two possibilities to define a parameter of a point outside the curve: either as a parameter less than 0 which means ahead of the startpoint or as a parameter greater than 1 behind the endpoint. This method brings the given parameter into the other system, that means a parameter less than 0 will become greater than 1 and vice versa. Parameters between 0 and 1 will remain unchanged as well as most curves will return false, because the double interpretation isnt meaningfull.
Public methodReverse
Reverses the direction of this curve
Public methodSplit
Public methodTangentPoints
Calculates the points where the direction of the curve is parallel to the direction from the given point to the calculated point. For circles and ellipses it reveals all possible solutions, for other curves (e.g. BSpline) it reveals only the closest solution to the point "CloseTo".
Public methodTangentPointsToAngle(GeoVector2D)
Calculates the points where the direction of the curve is parallel to the given direction. Returns all possible position within the curve (not the extended curve)
Public methodTangentPointsToAngle(Angle, GeoPoint2D)
Calculates the points where the direction of the curve is parallel to the direction of the given angle. For circles and ellipses it reveals all possible solutions, for other curves (e.g. BSpline) it reveals only the closest solution to the point "CloseTo".
Public methodTrim
Public methodTryPointDeriv2At
Tries to get the point and the first and second derivative of the curve at the specified position. (0..1) Some curves do not implement the second derivative and hence will return false.

See Also