CADability dotNET

The ICurve type exposes the following members.

Methods

  NameDescription
Public methodApproximate
Returns a Path or a Polyline that approximates the curve with lines or lines and arcs.
Public methodClone
Returns an identical copy of this curve
Public methodCloneModified
Returns a modified copy of this curve
Public methodDirectionAt
Returns the direction of the curve at a specified point. The parameter prosition of the startpoint is 0.0, the parameter position of the endpoint is 1.0. Directions of a position outside this interval may be undefined.
Public methodDistanceTo
Returns the minimal distance of point p to the curve.
Public methodGetExtent
Returns the bounging cube for this curve
Public methodGetExtrema
Returns points of the curve (parameter values between 0.0 and 1.0) where the curve is tangential to a plane defined by the normal vector direction. These points are minima or maxima in that direction.
Public methodGetPlanarState
Determins the state of the curve in space. A curve may be either Planar (e.g. a cicle), NonPlanar (e.g. a polyline with vertices that dont shear a common plane) or UnderDetermined (e.g. a line defines a sheaf of planes (Ebenenbüschel))
Public methodGetPlane
Determins the plane in which the curve resides. Throws CurveException if the curve's PlanarState is NonPlanar or UnderDetermined.
Public methodGetPlaneIntersection
Returns the parameters of the intersection points with the provided plane
Public methodGetProjectedCurve
Orthogonally projects this curve into the given plane. Returns the 2D curve in the coordinate system of the given plane.
Public methodGetSavePositions
Returns some positions (parameter values between 0.0 and 1.0) that can savely be used for Approximation purposes Usually not used by external applications
Public methodGetSelfIntersections
Returns the self intersection position of this curve. The returned array contains pairs of parameter values. Each intersectionpoint corresponds to two parameters.
Public methodHitTest
Determins whether this curve interferes with the provided cube.
Public methodIsInPlane
Determines whether the curve resides in the given plane.
Public methodPointAt
Returns the point of the given position. The parameter prosition of the startpoint is 0.0, the parameter position of the endpoint is 1.0. Points of a position outside this interval may be undefined. The correlatioon between the parameter Position and the resulting point may be not linear.
Public methodPositionAtLength
Returns the parameter of the point at the given position. The position must be in the interval [0, Length]. The correlatioon between the parameter Position and the resulting position is linear. The result is usually used for PointAt(Double) or DirectionAt(Double).
Public methodPositionOf(GeoPoint)
Returns the parametric position of the point on the curve. This function is invers to . If the given point is not on the curve, the result is the position of a point on the curve, that is close to the given point, but not necessary of the closest point.
Public methodPositionOf(GeoPoint, Plane)
Similar to the method. Returns the same result, if the point is on the curve. If the point is not on the curve the problem is looked at in the given plane. i.e. the closest point on the projected 2d curve from the projected 2d point is used.
Public methodPositionOf(GeoPoint, Double)
Similar to PositionOf(GeoPoint). If the point is not on the curve and there are several solutions then the solution closest to the parameter prefer will be returned.
Public methodReverse
Reverses the direction of the curve.
Public methodSameGeometry
Returns true, if this curve and the provided curve describe the same curve in space (maybe opposite direction)
Public methodSplit(Double)
Splits the curve at the given position. The position must be in the interval 0..1 and the curve must not be closed. For closed curves Split(Double, Double).
Public methodSplit(Double, Double)
Splits the closed curve into two open curves at the given positions.
Public methodTangentPosition
Returns a list of positions where the curve has the same or opposite direction as the given direction. Mainly used for visualisation purposes. If there are no such points (which is true in most cases) An empty array should be returned.
Public methodTrim
Modifies start and endpoint of this curve. StartPos must be less than EndPos. if StartPos is less than 0.0 or EndPos greater than 1.0 this only works for lines and (circular or elliptical) arcs.
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.

Properties

  NameDescription
Public propertyDescription
Returns a description of the curve, used in labels of the controlcenter.
Public propertyEndDirection
The direction of the curve at the endpoint. If the curve is closed, this is the direction where the parameter is 1.0.
Public propertyEndPoint
The endpoint of the curve. If the curve is closed, this is the point where the parameter is 1.0.
Public propertyIsClosed
Determines, whether the curve is closed or open.
Public propertyIsComposed
Returns true, if the curve is composed of other curves. Paths and Polylines are composed curves.
Public propertyIsSingular
Determines, whether this curve is singular, i.e. it is only a point, returns the same value for each parameter
Public propertyLength
Returns the length of the curve.
Public propertyStartDirection
The direction of the curve at the startpoint. If the curve is closed, this is the direction where the parameter is 0.0.
Public propertyStartPoint
The startpoint of the curve. If the curve is closed, this is the point where the parameter is 0.0.
Public propertySubCurves
Returns subcurves of composed curves. Paths and Polylines are composed curves.

See Also