CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
OdGeNurbSurface Class Reference

#include <GeNurbSurface.h>

Inheritance diagram for OdGeNurbSurface:
OdGeSurface OdGeEntity3d

Public Types

enum  ConnectionSide { kLowerU = 1 , kUpperU = 2 , kLowerV = 3 , kUpperV = 4 }
 

Public Member Functions

 OdGeNurbSurface ()
 
 OdGeNurbSurface (int degreeInU, int degreeInV, int propsInU, int propsInV, int numControlPointsInU, int numControlPointsInV, const OdGePoint3dArray &controlPoints, const OdGeDoubleArray &weights, const OdGeKnotVector &uKnots, const OdGeKnotVector &vKnots, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeNurbSurface (const OdGeNurbSurface &source)
 
 OdGeNurbSurface (const OdGeEllipCylinder &cylinder)
 
 OdGeNurbSurface (const OdGeEllipCone &cone)
 
OdGeNurbSurfaceoperator= (const OdGeNurbSurface &nurb)
 
bool isRationalInU () const
 
bool isPeriodicInU (double &period) const
 
bool isRationalInV () const
 
bool isPeriodicInV (double &period) const
 
int singularityInU () const
 
int singularityInV () const
 
int degreeInU () const
 
int numControlPointsInU () const
 
int degreeInV () const
 
int numControlPointsInV () const
 
void getControlPoints (OdGePoint3dArray &controlPoints) const
 
bool getWeights (OdGeDoubleArray &weights) const
 
int numKnotsInU () const
 
void getUKnots (OdGeKnotVector &uKnots) const
 
int numKnotsInV () const
 
void getVKnots (OdGeKnotVector &vKnots) const
 
void getDefinition (int &degreeInU, int &degreeInV, int &propsInU, int &propsInV, int &numControlPointsInU, int &numControlPointsInV, OdGePoint3dArray &controlPoints, OdGeDoubleArray &weights, OdGeKnotVector &uKnots, OdGeKnotVector &vKnots) const
 
OdGeNurbSurfaceset (int degreeInU, int degreeInV, int propsInU, int propsInV, int numControlPointsInU, int numControlPointsInV, const OdGePoint3dArray &controlPoints, const OdGeDoubleArray &weights, const OdGeKnotVector &uKnots, const OdGeKnotVector &vKnots, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeNurbSurfacesetFitData (const OdGePoint3dArray &fitPoints, const OdGeVector3dArray &arrTangentsInU, const OdGeVector3dArray &arrTangentsInV, const OdGeVector3dArray &arrMixedDerivs, const OdGeKnotVector &uKnots, const OdGeKnotVector &vKnots, const OdGeTol &tol)
 
void computeVIsoLine (double V, OdGeNurbCurve3d &isoline) const
 
void computeUIsoLine (double U, OdGeNurbCurve3d &isoline) const
 
OdGePoint2d paramOfPrec (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getDerivativesAt (const OdGePoint2d &param, OdUInt32 numDeriv, VectorDerivArray derivatives) const
 
int loc (int i, int j) const
 
OdGeNurbSurfacejoinWith (const OdGeNurbSurface &surface, ConnectionSide thisConnectionSide, ConnectionSide surfaceConnectionSide, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeNurbSurfaceelevateDegree (bool iByU, int iPlusDegree)
 
OdGeNurbSurfaceinsertKnot (bool iByU, double iNewKnot, int iTimes=1)
 
double knotAt (bool iByU, int iKnotIndex) const
 
OdGePoint3d controlPointAt (int iIdxU, int iIdxV) const
 
OdGeNurbSurfacesetControlPointAt (int iIdxU, int iIdxV, const OdGePoint3d &iPoint)
 
- Public Member Functions inherited from OdGeSurface
OdGePoint2d paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint2d paramOf (const OdGePoint3d &point, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, OdGePoint2d &paramPoint, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, OdGePoint2d *param, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isNormalReversed () const
 
bool isLeftHanded () const
 
OdGeSurfacereverseNormal ()
 
void getEnvelope (OdGeInterval &intrvlU, OdGeInterval &intrvlV) const
 
void getEnvelope (OdGeUvBox &uvbox) const
 
bool isClosedInU (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosedInV (const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
 
OdGeSurfaceoperator= (const OdGeSurface &surf)
 
OdGeExtents3d getGeomExtents (const OdGeUvBox &range=OdGeUvBox(), const OdGeMatrix3d *coordSystem=NULL) const
 
bool project (const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const
 
bool setEnvelope (const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV)
 
OdGeCurve3dmakeIsoparamCurve (bool byU, double param) const
 
OdGeCurve3dmakeIsoparamCurve (bool byU, double param, const OdGeInterval &interval) const
 
bool getPoles (OdGeDoubleArray *uParams, OdGeDoubleArray *vParams, OdGePoint3dArray *uPoints, OdGePoint3dArray *vPoints, double tol=1e-13) const
 
- Public Member Functions inherited from OdGeEntity3d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity3d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity3dcopy () const
 
OdGeEntity3doperator= (const OdGeEntity3d &entity)
 
bool operator== (const OdGeEntity3d &entity) const
 
bool operator!= (const OdGeEntity3d &entity) const
 
bool isEqualTo (const OdGeEntity3d &object, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dtransformBy (const OdGeMatrix3d &xfm)
 
OdGeEntity3dtranslateBy (const OdGeVector3d &translateVec)
 
OdGeEntity3drotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
OdGeEntity3dmirror (const OdGePlane &plane)
 
OdGeEntity3dscaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
bool isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 

Static Public Member Functions

static OdGeNurbSurfaceconvertFrom (const OdGeSurface *source, const OdGeUvBox &domain, const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false)
 
static OdGeNurbSurfaceconvertFrom (const OdGeSurface *source, const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false)
 

Additional Inherited Members

- Protected Member Functions inherited from OdGeSurface
 OdGeSurface ()
 
 OdGeSurface (const OdGeSurface &surf)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class represents non-uniform, rational B-Spline (NURBS) surfaces.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeNurbSurface, Working with NURBS Surfaces>

Definition at line 56 of file GeNurbSurface.h.

Member Enumeration Documentation

◆ ConnectionSide

Defines OdGeNurbSurface joining rules.

Remarks
Used for joinWith method.
Enumerator
kLowerU 

The object will be connected by lower bound in the U direction

kUpperU 

The object will be connected by upper bound in the U direction

kLowerV 

The object will be connected by lower bound in the V direction

kUpperV 

The object will be connected by upper bound in the V direction

Definition at line 513 of file GeNurbSurface.h.

Constructor & Destructor Documentation

◆ OdGeNurbSurface() [1/5]

OdGeNurbSurface::OdGeNurbSurface ( )

Default constructor for the OdGeNurbSurface class. Constructs an empty NURB surface.

◆ OdGeNurbSurface() [2/5]

OdGeNurbSurface::OdGeNurbSurface ( int  degreeInU,
int  degreeInV,
int  propsInU,
int  propsInV,
int  numControlPointsInU,
int  numControlPointsInV,
const OdGePoint3dArray controlPoints,
const OdGeDoubleArray weights,
const OdGeKnotVector uKnots,
const OdGeKnotVector vKnots,
const OdGeTol tol = OdGeContext::gTol 
)

Constructor for the OdGeNurbSurface class.

Parameters
degreeInU[in] Degree in the U direction.
degreeInV[in] Degree in the V direction.
propsInU[in] Properties in the U direction.
propsInV[in] Properties in the V direction.
numControlPointsInU[in] Number of control points in the U direction.
numControlPointsInV[in] Number of control points in the V direction.
controlPoints[in] Array of 3D control points.
weights[in] Array of weights.
uKnots[in] Knot vector in the U direction.
vKnots[in] Knot vector in the V direction.
tol[in] Geometric tolerance.
Remarks
Constructs a NURB surface defined by input data. propsInU and propsInV utilize OdGe::NurbSurfaceProperties values.

◆ OdGeNurbSurface() [3/5]

OdGeNurbSurface::OdGeNurbSurface ( const OdGeNurbSurface source)

Copy constructor for the OdGeNurbSurface class.

Parameters
source[in] Object to be copied.

◆ OdGeNurbSurface() [4/5]

OdGeNurbSurface::OdGeNurbSurface ( const OdGeEllipCylinder cylinder)

Constructor for the OdGeNurbSurface class.

Parameters
cylinder[in] Input cylinder from which a nurb surface is constructed.

◆ OdGeNurbSurface() [5/5]

OdGeNurbSurface::OdGeNurbSurface ( const OdGeEllipCone cone)

Constructor for the OdGeNurbSurface class.

Parameters
cone[in] Input cone from which a nurb surface is constructed.

Member Function Documentation

◆ computeUIsoLine()

void OdGeNurbSurface::computeUIsoLine ( double  U,
OdGeNurbCurve3d isoline 
) const

Computes and retrieves the isoline for the specified value of U parameter.

Parameters
U[in] Value of U parameter for which an isoline is computed.
isoline[out] Receives the isoline for the specified value of U parameter.

◆ computeVIsoLine()

void OdGeNurbSurface::computeVIsoLine ( double  V,
OdGeNurbCurve3d isoline 
) const

Computes and retrieves the isoline for the specified value of V parameter.

Parameters
V[in] Value of V parameter for which an isoline is computed.
isoline[out] Receives the isoline for the specified value of V parameter.

◆ controlPointAt()

OdGePoint3d OdGeNurbSurface::controlPointAt ( int  iIdxU,
int  iIdxV 
) const

Returns the specified control point in the control point array.

Parameters
iIdxU[in] Control point index for U-dimension.
iIdxV[in] Control point index for V-dimension.

◆ convertFrom() [1/2]

static OdGeNurbSurface * OdGeNurbSurface::convertFrom ( const OdGeSurface source,
const OdGeTol tol = OdGeContext::gTol,
bool  sameParametrization = false 
)
static

Converts source surface to spline with given tolerance and parametrization settings in native domain of source surface.

Parameters
source[in] Source surface to convert.
tol[in] Accuracy of conversion.
sameParametrization[in] Necessity of parametrization preserving during conversion.
Returns
Raw pointer to converted spline or null pointer if conversion failed.
Remarks
If source surface already is spline, a copy is returned. If provided null-pointer to source surface or surface has no analytic representation, a null-pointer is returned If input domain is not coincident to native domain, the intersection of input and native domain is used to build nurb

◆ convertFrom() [2/2]

static OdGeNurbSurface * OdGeNurbSurface::convertFrom ( const OdGeSurface source,
const OdGeUvBox domain,
const OdGeTol tol = OdGeContext::gTol,
bool  sameParametrization = false 
)
static

Converts source surface to spline with given tolerance and parametrization settings.

Parameters
source[in] Source surface to convert.
domain[in] UV-range of source surface to convert.
tol[in] Accuracy of conversion.
sameParametrization[in] Necessity of parametrization preserving during conversion.
Returns
Raw pointer to converted spline or null pointer if conversion failed.
Remarks
If source surface already is spline, a copy is returned. If provided null-pointer to source surface or surface has no analytic representation, a null-pointer is returned If input domain is not coincident to native domain, the intersection of input and native domain is used to build nurb

◆ degreeInU()

int OdGeNurbSurface::degreeInU ( ) const

Returns the degree in the U direction.

Returns
Degree in the U direction as an integer value.
Remarks
High degree values represent flexible surfaces.

◆ degreeInV()

int OdGeNurbSurface::degreeInV ( ) const

Returns the degree in the V direction.

Returns
Degree in the V direction as an integer value.
Remarks
High degree values represent flexible surfaces.

◆ elevateDegree()

OdGeNurbSurface & OdGeNurbSurface::elevateDegree ( bool  iByU,
int  iPlusDegree 
)

Increases spline degree for corresponding dimension (U or V) by the specified value and returns a reference to this spline object.

Parameters
iByU[in] true means U-dimension.
iPlusDegree[in] Degree increment value.
Returns
Reference to this OdGeNurbSurface object.

◆ getControlPoints()

void OdGeNurbSurface::getControlPoints ( OdGePoint3dArray controlPoints) const

Retrieves the array of control points.

Parameters
controlPoints[out] Receives an array of 3D control points.
Remarks
The control points specify the placement of the surface and adjust its shape.

◆ getDefinition()

void OdGeNurbSurface::getDefinition ( int &  degreeInU,
int &  degreeInV,
int &  propsInU,
int &  propsInV,
int &  numControlPointsInU,
int &  numControlPointsInV,
OdGePoint3dArray controlPoints,
OdGeDoubleArray weights,
OdGeKnotVector uKnots,
OdGeKnotVector vKnots 
) const

Retrieves the data used to define this surface.

Parameters
degreeInU[out] Receives the Degree in the U direction.
degreeInV[out] Receives the Degree in the V direction.
propsInU[out] Receives the properties in the U direction.
propsInV[out] Receives the properties in the V direction.
numControlPointsInU[out] Receives the number of control points in the U direction.
numControlPointsInV[out] Receives the number of control points in the V direction.
controlPoints[out] Receives an array of 3D control points.
weights[out] Receives an array of weights.
uKnots[out] Receives the knot vector in the U direction.
vKnots[out] Receives the knot vector in the V direction.
Remarks
propsInU and propsInV utilize OdGe::NurbSurfaceProperties values.

◆ getDerivativesAt()

bool OdGeNurbSurface::getDerivativesAt ( const OdGePoint2d param,
OdUInt32  numDeriv,
VectorDerivArray  derivatives 
) const

Retrieves the derivatives at the point specified by param.

Parameters
param[in] Parameter to be evaluated.
numDeriv[in] Number of derivatives to be computed.
derivatives[out] Receives an array of derivatives at the point corresponding to param.
Returns
true if and only if derivatives were calculated successfully.
Remarks
Not implemented. For third-party use only.

◆ getUKnots()

void OdGeNurbSurface::getUKnots ( OdGeKnotVector uKnots) const

Retrieves the knot vector in the U direction.

Parameters
uKnots[out] Knot vector in the U direction.
Remarks
A knot vector defines a sequence of parameter values that determine where and how the control points affect the surface. Values of knot vector are provided in ascending order, for example: (0, 0, 0, 1, 2, 3, 3, 3) can be valid while (0, 0, 2, 0, 3, 1, 3, 3) cannot be valid.

◆ getVKnots()

void OdGeNurbSurface::getVKnots ( OdGeKnotVector vKnots) const

Retrieves the knot vector in the V direction.

Parameters
vKnots[out] Knot vector in the V direction.
Remarks
A knot vector defines a sequence of parameter values that determine where and how the control points affect the surface. Values of knot vector are provided in ascending order, for example: (0, 0, 0, 1, 2, 3, 3, 3) can be valid while (0, 0, 2, 0, 3, 1, 3, 3) cannot be valid.

◆ getWeights()

bool OdGeNurbSurface::getWeights ( OdGeDoubleArray weights) const

Retrieves the array of weights.

Parameters
weights[out] Array of weight values.
Returns
true if and only if this surface has weighted control points.
Remarks
The weight array is an array of double values, each value is associated with a corresponding control vertex. If the weight increases, the surface pulls toward the corresponding control point. If the weight decreases, the surface pushes from the corresponding control point.

◆ insertKnot()

OdGeNurbSurface & OdGeNurbSurface::insertKnot ( bool  iByU,
double  iNewKnot,
int  iTimes = 1 
)

Inserts new knot of provided multiplicity to the spline knot array for corresponding dimension (U or V).

Parameters
iByU[in] true means U-dimension.
iNewKnot[in] New knot.
iTimes[in] Times to insert knot.
Returns
Reference to this OdGeNurbSurface object.
Remarks
If there is already such knot, then the multiplicity of the knot is increased by iTimes.

◆ isPeriodicInU()

bool OdGeNurbSurface::isPeriodicInU ( double &  period) const

Checks if this surface is periodic in the U direction, and returns the period.

Parameters
period[out] Period in the U direction.
Returns
true if and only if this surface is periodic in the U direction, and returns the period.
Remarks
If a surface is closed in one direction (opposite sides are the same line in object space) and the parameterization and derivatives also match at these boundaries, the surface is periodic in the parameter direction.

◆ isPeriodicInV()

bool OdGeNurbSurface::isPeriodicInV ( double &  period) const

Checks if this surface is periodic in the V direction, and returns the period.

Parameters
period[out] Period in the V direction.
Returns
true if and only if this surface is periodic in the U direction, and returns the period.
Remarks
If a surface is closed in one direction (opposite sides are the same line in object space) and the parameterization and derivatives also match at these boundaries, the surface is periodic in the parameter direction.

◆ isRationalInU()

bool OdGeNurbSurface::isRationalInU ( ) const

Checks if this surface is rational in the U direction.

Returns
true if and only if this surface is rational in the U direction.
Remarks
The U direction is considered rational when it has weighted control points.

◆ isRationalInV()

bool OdGeNurbSurface::isRationalInV ( ) const

Checks if this surface is rational in the V direction.

Returns
true if and only if this surface is rational in the V direction.
Remarks
The V direction is considered rational when it has weighted control points.

◆ joinWith()

OdGeNurbSurface & OdGeNurbSurface::joinWith ( const OdGeNurbSurface surface,
ConnectionSide  thisConnectionSide,
ConnectionSide  surfaceConnectionSide,
const OdGeTol tol = OdGeContext::gTol 
)

Joins the specified OdGeNurbSurface with this OdGeNurbSurface by specified sides and returns a reference to the recomputed OdGeNurbSurface.

Parameters
surface[in] Surface to be joined with this surface.
thisConnectionSide[in] The side of this surface to which another surface will be attached.
surfaceConnectionSide[in] The side of the other surface to which this surface will be attached.
tol[in] Accuracy of joining.
Returns
Reference to this recomputed OdGeNurbSurface object.
Remarks
Joining works in the case of coinciding edges of the same parameter (U-U, V-V).

◆ knotAt()

double OdGeNurbSurface::knotAt ( bool  iByU,
int  iKnotIndex 
) const

Returns a knot value for the specified knot.

Parameters
iByU[in] true means U-dimension.
iKnotIndex[in] Knot index.

◆ loc()

int OdGeNurbSurface::loc ( int  i,
int  j 
) const

Returns the index of the control point (i,j):

Parameters
i[in] Index of the control point in the U direction.
j[in] Index of the control point in the V direction.
Returns
Index of the control point (i,j) as an integer value.

◆ numControlPointsInU()

int OdGeNurbSurface::numControlPointsInU ( ) const

Returns the number of control points in the U direction.

Returns
Number of control points in the U direction as an integer value.

◆ numControlPointsInV()

int OdGeNurbSurface::numControlPointsInV ( ) const

Returns the number of control points in the V direction.

Returns
Number of control points in the V direction as an integer value.

◆ numKnotsInU()

int OdGeNurbSurface::numKnotsInU ( ) const

Returns the number of knots in the U direction.

Returns
Number of knots in the U direction as an integer value.

◆ numKnotsInV()

int OdGeNurbSurface::numKnotsInV ( ) const

Returns the number of knots in the V direction.

Returns
Number of knots in the V direction as an integer value.

◆ operator=()

OdGeNurbSurface & OdGeNurbSurface::operator= ( const OdGeNurbSurface nurb)

Assignment operator for the OdGeNurbSurface object.

Parameters
nurb[in] Nurb surface to assign.
Returns
Reference to this OdGeNurbSurface object.

◆ paramOfPrec()

OdGePoint2d OdGeNurbSurface::paramOfPrec ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the 2D pair of parameter values of a point on this surface.

Parameters
point[in] Point to be evaluated.
tol[in] Geometric tolerance.
Returns
2D pair of parameter values of a point on this surface as a OdGePoint2d object.
Remarks
The returned parameters specify a point within tol of point. If point is not on this surface, the results are unpredictable. If you are not sure the point is on this surface, use isOn() instead of this function. This method is slower than paramOf, but more accurate.

◆ set()

OdGeNurbSurface & OdGeNurbSurface::set ( int  degreeInU,
int  degreeInV,
int  propsInU,
int  propsInV,
int  numControlPointsInU,
int  numControlPointsInV,
const OdGePoint3dArray controlPoints,
const OdGeDoubleArray weights,
const OdGeKnotVector uKnots,
const OdGeKnotVector vKnots,
const OdGeTol tol = OdGeContext::gTol 
)

Sets the parameters for this spline according to the arguments, and returns a reference to this spline.

Parameters
degreeInU[in] Degree in the U direction.
degreeInV[in] Degree in the V direction.
propsInU[in] Properties in the U direction.
propsInV[in] Properties in the V direction.
numControlPointsInU[in] Number of control points in the U direction.
numControlPointsInV[in] Number of control points in the V direction.
controlPoints[in] Array of 3D control points.
weights[in] Array of weights
uKnots[in] Knot vector in the U direction.
vKnots[in] Knot vector in the V direction.
tol[in] Geometric tolerance.
Returns
Reference to this OdGeNurbSurface object.
Remarks
propsInU and propsInV utilize OdGe::NurbSurfaceProperties values.

◆ setControlPointAt()

OdGeNurbSurface & OdGeNurbSurface::setControlPointAt ( int  iIdxU,
int  iIdxV,
const OdGePoint3d iPoint 
)

Sets the specified control point in the control point array.

Parameters
iIdxU[in] Control point index for U-dimension in the array of control points.
iIdxV[in] Control point index for V-dimension in the array of control points.
iPoint[in] New point to be set at the specified index.
Returns
Reference to this OdGeNurbSurface object.

◆ setFitData()

OdGeNurbSurface & OdGeNurbSurface::setFitData ( const OdGePoint3dArray fitPoints,
const OdGeVector3dArray arrTangentsInU,
const OdGeVector3dArray arrTangentsInV,
const OdGeVector3dArray arrMixedDerivs,
const OdGeKnotVector uKnots,
const OdGeKnotVector vKnots,
const OdGeTol tol 
)

Sets the fit data for this spline and returns a reference to this surface object.

Parameters
fitPoints[in] Interpolation points.
arrTangentsInU[in] An array of tangent vectors for U direction.
arrTangentsInV[in] An array of tangent vectors for V direction.
arrMixedDerivs[in] An array of derivatives for both directions.
uKnots[in] Knot vector in the U direction.
vKnots[in] Knot vector in the V direction.
tol[in] Geometric tolerance.
Returns
Reference to this OdGeNurbSurface object.

◆ singularityInU()

int OdGeNurbSurface::singularityInU ( ) const

Returns a description of the singularity in the U direction:

Returns
Description of the singularity in the U direction as a OdGe::NurbSurfaceProperties value.

◆ singularityInV()

int OdGeNurbSurface::singularityInV ( ) const

Returns a description of the singularity in the V direction:

Returns
Description of the singularity in the V direction as a OdGe::NurbSurfaceProperties value.

The documentation for this class was generated from the following file: