CADability dotNET
The ISurface type exposes the following members.
Methods
Name | Description | |
---|---|---|
Approximate |
Create a NurbSurface as an approximation of this surface
| |
Clone |
Returns an identical but independant copy of this surface
| |
CopyData |
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).
| |
Derivation2At |
Returns the point, the two first derivations and the three second derivations of the surface at the provided parameter position.
| |
DerivationAt |
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.
| |
FixedU |
Returns a curve where the u parameter of this surface is fixed and the v parameter starts a vmin and ends at vmax
| |
FixedV |
Returns a curve where the v parameter of this surface is fixed and the u parameter starts a umin and ends at umax
| |
GetExtrema |
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.
| |
GetLineIntersection |
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.
| |
GetModified |
Returns a clone of this surface modified by the given ModOp.
| |
GetNaturalBounds |
Returns the natural bounds of the surface. The returned values may be infinite
| |
GetNonPeriodicSurface |
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.
| |
GetNormal |
Returns the normal vector (perpendicular to the surface) at the given u/v point
| |
GetOffsetSurface |
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
| |
GetPatchExtent |
Returns the extent of a patch of the surface clipped rectangular in the 2d parameter space
| |
GetPatchHull |
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.
| |
GetPlaneIntersection |
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.
| |
GetPolynomialParameters | ||
GetProjectedCurve |
Returns the projection of the given curve in 2D coordinates. Should only be used for curves
that are close to the surface.
| |
GetSafeParameterSteps |
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)
| |
GetTangentCurves |
Returns curves where direction is perpendicular to the normal vector
| |
GetUSingularities |
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.
| |
GetVSingularities |
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.
| |
GetZMinMax |
Gets the minimum and maximumm valus for the z-coordinate of a rectangular patch (in parametric space)
of this surface under a certain projection
| |
HasDiscontinuousDerivative | ||
HitTest(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
| |
HitTest(BoundingCube, Double, Double, Double, Double) |
Checks whether this surface restricted by the provided parameters interferes with the provided cube.
| |
Intersect(BoundingRect, ISurface, BoundingRect) |
Returns the intersection curves between this surface and the provided other surface.
Both surfaces are bound by rectangles.
| |
Intersect(ICurve, BoundingRect, array<GeoPoint>[]()[][]%, array<GeoPoint2D>[]()[][]%, array<Double>[]()[][]%) |
Returns the intersection of the provided curve with this surface.
The result may be empty.
| |
IsVanishingProjection |
Returns true if the given projection makes the surface disappear, i.e. degenerate to an edge.
| |
Make3dCurve |
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.
| |
MakeCanonicalForm |
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.
| |
MakeFace |
Makes a Face from this surface with the given bounds in the parametric (u/v) space.
| |
Modify |
Modifies this surface with the given operation
| |
Orientation |
Returns the orientation of the provided point. The sign of the result may be used to distinguish
between inside and outside.
| |
PerpendicularFoot |
Returns a list of perpendicular foot points of the surface. The list may be empty
| |
PointAt |
Returns the 3-dimensional point at the given u/v point
| |
PositionOf |
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.
| |
ReverseOrientation |
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.
| |
SameGeometry |
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.
| |
SetBounds |
Mostly used internally
| |
UDirection |
Returns the direction at the given u/v point in direction of the u-axis
| |
VDirection |
Returns the direction at the given u/v point in direction of the v-axis
|
Properties
Name | Description | |
---|---|---|
IsUPeriodic |
Returns true, if this surface is periodic in the u direction (e.g. a cylinder)
false otherwise.
| |
IsVPeriodic |
Returns true, if this surface is periodic in the v direction (e.g. a torus)
false otherwise.
| |
Oriented |
Returns true, if this surface divides the space into two parts. If the surfaces is Oriented
Orientation(GeoPoint) returns a valid result
| |
UPeriod |
Returns the u priod of this surface if it is u periodic
0.0 otherwise
| |
VPeriod |
Returns the v priod of this surface if it is v periodic
0.0 otherwise
|