Detailed Description
- See also:
- Class NURBSSurface.
- Description:
- This class is available in release 2.0 and later only.
This class defines a surface that uses control vertices (CVs) to
describe its shape. The CVs define a control lattice which
surrounds the surface. This class has methods to close the surface
in U and V, set its order in U and V, set the number of knots and
CVs in U and V, and get/set the knots and CVs in U and V. There is
also a method to add additional CVs to the surface. The CV surface
has a transformation matrix used to position the surface within a
NURBSSet.
All methods of this class are implemented by the system.
#include <surf_api.h>
List of all
members.
Public Member Functions
|
DllExport |
NURBSCVSurface (void) |
virtual
DllExport |
~NURBSCVSurface (void) |
DllExport
NURBSCVSurface
& |
operator= (const NURBSCVSurface
&surf) |
DllExport
BOOL |
IsRigid () |
DllExport
void |
SetRigid (BOOL isRigid) |
DllExport
NURBSAutoParam |
AutoParam () |
DllExport
void |
AutoParam (TimeValue t,
NURBSAutoParam param) |
DllExport
void |
Reparameterize (TimeValue t,
NURBSParamaterization param) |
DllExport
void |
CloseInU (void) |
DllExport
void |
CloseInV (void) |
DllExport
void |
SetUOrder (int order) |
DllExport
int |
GetUOrder (void) |
DllExport
int |
GetVOrder (void) |
DllExport
void |
SetVOrder (int order) |
DllExport
void |
SetNumUKnots (int num) |
DllExport
void |
SetNumVKnots (int num) |
DllExport
int |
GetNumUKnots (void) |
DllExport
int |
GetNumVKnots (void) |
DllExport
void |
SetNumCVs (int u, int v) |
DllExport
int |
GetNumUCVs (void) |
DllExport
int |
GetNumVCVs (void) |
DllExport
void |
GetNumCVs (int &u, int &v) |
DllExport
double |
GetUKnot (int index) |
DllExport
double |
GetVKnot (int index) |
DllExport
void |
SetUKnot (int index, double value) |
DllExport
void |
SetVKnot (int index, double value) |
DllExport
NURBSControlVertex
* |
GetCV (int u, int v) |
DllExport
void |
SetCV (int u, int v, NURBSControlVertex
&cv) |
DllExport
void |
SetTransformMatrix (TimeValue t, SetXFormPacket &mat) |
DllExport
Matrix3 |
GetTransformMatrix (TimeValue t) |
DllExport
void |
EdgesOverlap (BOOL &uOverlap, BOOL &vOverlap) |
DllExport
void |
Refine (TimeValue t, double u, double v, int U_V_Both) |
DllExport
void |
Insert (TimeValue t, double u, double v, int U_V_Both) |
Friends
|
class |
NURBSSet |
Constructor & Destructor Documentation
Member Function Documentation
DllExport BOOL IsRigid |
( |
|
) |
|
DllExport void SetRigid |
( |
BOOL |
isRigid |
) |
|
- Parameters:
- BOOL isRigid
TRUE for on; FALSE for off.
- Parameters:
- TimeValue t
The time at which to set the parameterization.
NURBSAutoParam param
See NURBSAutoParam Types.
- Parameters:
- TimeValue t
The time at which to sets the reparameterization type.
NURBSParamaterization param
See nurbParameterizationTypes.
DllExport void CloseInU |
( |
void |
|
) |
|
DllExport void CloseInV |
( |
void |
|
) |
|
DllExport void SetUOrder |
( |
int |
order |
) |
|
- Parameters:
- int order
Specifies the order of the surface in the U direction.
DllExport int GetUOrder |
( |
void |
|
) |
|
DllExport int GetVOrder |
( |
void |
|
) |
|
DllExport void SetVOrder |
( |
int |
order |
) |
|
- Parameters:
- int order
Specifies the order of the surface in the V direction.
DllExport void SetNumUKnots |
( |
int |
num |
) |
|
- Parameters:
- int num
Specifies the number of knots in the U direction.
DllExport void SetNumVKnots |
( |
int |
num |
) |
|
- Parameters:
- int num
Specifies the number of knots in the V direction.
DllExport int GetNumUKnots |
( |
void |
|
) |
|
DllExport int GetNumVKnots |
( |
void |
|
) |
|
DllExport void SetNumCVs |
( |
int |
u, |
|
|
int |
v |
|
) |
|
|
- Parameters:
- int u
Specifies the number of control vertices in the U direction.
int v
Specifies the number of control vertices in the V direction.
DllExport int GetNumUCVs |
( |
void |
|
) |
|
DllExport int GetNumVCVs |
( |
void |
|
) |
|
DllExport void GetNumCVs |
( |
int & |
u, |
|
|
int & |
v |
|
) |
|
|
- Parameters:
- int &u
The number of CVs in the U direction is returned here.
int &v
The number of CVs in the V direction is returned here.
DllExport double GetUKnot |
( |
int |
index |
) |
|
- Parameters:
- int index
The 0 based index of the knot value to return.
DllExport double GetVKnot |
( |
int |
index |
) |
|
- Parameters:
- int index
The 0 based index of the knot value to return.
DllExport void SetUKnot |
( |
int |
index, |
|
|
double |
value |
|
) |
|
|
- Parameters:
- int index
The 0 based index of the knot value to set.
double value
The value to set.
DllExport void SetVKnot |
( |
int |
index, |
|
|
double |
value |
|
) |
|
|
- Parameters:
- int index
The 0 based index of the knot value to set.
double value
The value to set.
- Parameters:
- int u
The 0 based index in the U direction.
int v
The 0 based index in the V direction.
- Parameters:
- int u
The 0 based index in the U direction.
int v
The 0 based index in the V direction.
NURBSControlVertex
&cv
The control vertex to set.
DllExport void SetTransformMatrix |
( |
TimeValue |
t, |
|
|
SetXFormPacket & |
mat |
|
) |
|
|
- Parameters:
- TimeValue t
The time at which to set the matrix.
SetXFormPacket&
xPack
An instance of the XFormPacket class that describes the
properties of the transformation (specifically if it's being moved,
rotated, or scaled). See Class SetXFormPacket.
DllExport Matrix3 GetTransformMatrix |
( |
TimeValue |
t |
) |
|
- Parameters:
- TimeValue t
The time at which to retrieve the matrix.
DllExport void EdgesOverlap |
( |
BOOL & |
uOverlap, |
|
|
BOOL & |
vOverlap |
|
) |
|
|
- Parameters:
- BOOL& uOverlap
The U result is returned here: TRUE if the edges overlap in U;
otherwise FALSE.
BOOL& vOverlap
The V result is returned here: TRUE if the edges overlap in V;
otherwise FALSE.
DllExport void Refine |
( |
TimeValue |
t, |
|
|
double |
u, |
|
|
double |
v, |
|
|
int |
U_V_Both |
|
) |
|
|
- Parameters:
- TimeValue t
The time at which to refine the surface.
double u
The position for the point in U space.
double v
The position for the point in V space.
int U_V_Both
This value must be 0, 1 or -1.
If 0 the refinement is done in u (and v is specified).
If 1 the refinement is done in v (and u is specified).
If -1 the refinement is done in both u and v (and both u and v must
be specified).
DllExport void Insert |
( |
TimeValue |
t, |
|
|
double |
u, |
|
|
double |
v, |
|
|
int |
U_V_Both |
|
) |
|
|
- Parameters:
- TimeValue t
The time at which to refine the surface.
double u
The position for the point in U space.
double v
The position for the point in V space.
int U_V_Both
This value must be 0, 1 or -1.
If 0 the refinement is done in u (and v is specified).
If 1 the refinement is done in v (and u is specified).
If -1 the refinement is done in both u and v (and both u and v must
be specified).
- Operators:
Friends And Related Function Documentation
NURBSCVSurface NURBSCVSurface
NURBSCVSurface NURBSCVSurface NURBSCVSurface NURBSCVSurface
NURBSCVSurface NURBSCVSurface NURBSCVSurface NURBSCVSurface
NURBSCVSurface NURBSCVSurface
NURBSCVSurface NURBSCVSurface NURBSCVSurface NURBSCVSurface
NURBSCVSurface NURBSCVSurface NURBSCVSurface NURBSCVSurface