CADability dotNET

The ISurface type exposes the following members.

Methods

  NameDescription
Public methodApproximate
Create a NurbSurface as an approximation of this surface
Public methodClone
Returns an identical but independant copy of this surface
Public methodCopyData
Copies the data of the given surface to this surface. The two surfaces are guaranteed to be of the same type. (Used after Clone()()()() and Modify(ModOp) to restore the original values).
Public methodDerivation2At
Returns the point, the two first derivations and the three second derivations of the surface at the provided parameter position.
Public methodDerivationAt
Returns the point and the two derivations of the suface in a single call. It returns the same result as calling PointAt(GeoPoint2D), VDirection(GeoPoint2D) und VDirection(GeoPoint2D) succesively but is often faster than the three seperate calls.
Public methodFixedU
Returns a curve where the u parameter of this surface is fixed and the v parameter starts a vmin and ends at vmax
Public methodFixedV
Returns a curve where the v parameter of this surface is fixed and the u parameter starts a umin and ends at umax
Public methodGetExtrema
Returns an array of points in parametric space where there are extrema in direction of x-, y- or z-axis. The normal vector in a extremum is parallel to one of the axis and the surface has a relative maximum or minimum in this direction.
Public methodGetLineIntersection
Returns the intersectionpoints of this surface with the line given by the parameters. Teh returned point are in the parametric (u/v) space of this surface.
Public methodGetModified
Returns a clone of this surface modified by the given ModOp.
Public methodGetNaturalBounds
Returns the natural bounds of the surface. The returned values may be infinite
Public methodGetNonPeriodicSurface
If this surface is periodic in u or v or both return a nonperiodic surface which describes the same geometric surface but with a differen parametric system.
Public methodGetNormal
Returns the normal vector (perpendicular to the surface) at the given u/v point
Public methodGetOffsetSurface
Returns a surface that is "parallel" to this surface, i.e. each point on this surface corresponds a point on the returned surface that has the same (u,v) coordinates and has the 3d coordinates oft the point plus offset*Normal at this point
Public methodGetPatchExtent
Returns the extent of a patch of the surface clipped rectangular in the 2d parameter space
Public methodGetPatchHull
Returns a parallelepiped (a prism with parallelograms) defined by the parameters loc, dir1, dir2, dir3 which completeley covers or encloses the patch of the surface defined by the uvpatch. There are obviously many solutions to this problem but a parallelepiped with minimum volume would be preferred. This method is used to optimate intersection algorithms.
Public methodGetPlaneIntersection
Returns the intersection curve(s) of this surface with the given plane. The curve is returned in the parameter space of the plane. An empty array is returned if there is no intersection.
Public methodGetPolynomialParameters
Public methodGetProjectedCurve
Returns the projection of the given curve in 2D coordinates. Should only be used for curves that are close to the surface.
Public methodGetSafeParameterSteps
Gets spans of the parameterspace that are guaranteed to contain only one inflection point. The returned intu should contain umin as first and umax as last value (same with v)
Public methodGetTangentCurves
Returns curves where direction is perpendicular to the normal vector
Public methodGetUSingularities
returns the values for the u parameter where this surface is singular i.e. changing v with this u parameter fixed doesn't change the 3D point.
Public methodGetVSingularities
returns the values for the v parameter where this surface is singular i.e. changing u with this v parameter fixed doesn't change the 3D point.
Public methodGetZMinMax
Gets the minimum and maximumm valus for the z-coordinate of a rectangular patch (in parametric space) of this surface under a certain projection
Public methodHasDiscontinuousDerivative
Public methodHitTest(BoundingCube, GeoPoint2D%)
Returns true, if this surface interferes with the provided cube. If this is the case uv will contain a point (in the parameter system) which is inside the cube
Public methodHitTest(BoundingCube, Double, Double, Double, Double)
Checks whether this surface restricted by the provided parameters interferes with the provided cube.
Public methodIntersect(BoundingRect, ISurface, BoundingRect)
Returns the intersection curves between this surface and the provided other surface. Both surfaces are bound by rectangles.
Public methodIntersect(ICurve, BoundingRect, array<GeoPoint>[]()[][]%, array<GeoPoint2D>[]()[][]%, array<Double>[]()[][]%)
Returns the intersection of the provided curve with this surface. The result may be empty.
Public methodIsVanishingProjection
Returns true if the given projection makes the surface disappear, i.e. degenerate to an edge.
Public methodMake3dCurve
Returns a 3-dimensional curve from the given 2-dimensional curve. the 2-dimensional curve is interpreted in the u/v system of the surface.
Public methodMakeCanonicalForm
Modifies this surface into a more canonical form and returns the modification for the parametric space which reverses this modification in 2d. Curves in the parametric space of this surface will become invalid unless modified by the returned transformation.
Public methodMakeFace
Makes a Face from this surface with the given bounds in the parametric (u/v) space.
Public methodModify
Modifies this surface with the given operation
Public methodOrientation
Returns the orientation of the provided point. The sign of the result may be used to distinguish between inside and outside.
Public methodPerpendicularFoot
Returns a list of perpendicular foot points of the surface. The list may be empty
Public methodPointAt
Returns the 3-dimensional point at the given u/v point
Public methodPositionOf
Returns the u/v position of the given point. It is assumed that the point is on the surface, if not the result is undetermined.
Public methodReverseOrientation
Reverses the orientation of this surface. The normal vector will point to the other side after this operation. The returned ModOp2D determins how (u,v) coordinates of the parameter space have to be transformed to define the same 3d point.
Public methodSameGeometry
Returns true if this surface and the other surface are geometrically identical, i.e. describe the same surface in 3D space. The may have a different u/v system. The returned firstToSecond contains the ModOp to convert from the u/v system of the first surface to the second surface.
Public methodSetBounds
Mostly used internally
Public methodUDirection
Returns the direction at the given u/v point in direction of the u-axis
Public methodVDirection
Returns the direction at the given u/v point in direction of the v-axis

Properties

  NameDescription
Public propertyIsUPeriodic
Returns true, if this surface is periodic in the u direction (e.g. a cylinder) false otherwise.
Public propertyIsVPeriodic
Returns true, if this surface is periodic in the v direction (e.g. a torus) false otherwise.
Public propertyOriented
Returns true, if this surface divides the space into two parts. If the surfaces is Oriented Orientation(GeoPoint) returns a valid result
Public propertyUPeriod
Returns the u priod of this surface if it is u periodic 0.0 otherwise
Public propertyVPeriod
Returns the v priod of this surface if it is v periodic 0.0 otherwise

See Also