Detailed Description
- See also:
- Class NURBSObject, Class NURBSDisplay, Class
TessApprox, Class
NURBSFuseSurfaceCV,
Class NURBSFuseCurveCV,
Template Class
Tab.
- Description:
- This class is available in release 2.0 and later only.
This class contains a table of NURBSObject entities used to
make up the set. Additionally it has two fuse tables: one for fuse
curves and one for fuse surfaces. These are used to allow the CVs
in the curves or surfaces to be 'stitched' together so if one curve
or surface moves the other moves with it. This class also has
information required to tessellate the objects to triangle meshes
for use in the viewports and the production renderer.
All methods of this class are implemented by the system.
- Data Members:
- protected:
TessApprox
*mpVTess;
This object describes the properties of a tesselation approximation
to the mathematical surface for representation in the
viewports.
TessApprox
*mpRTess;
This object describes the properties of a tesselation approximation
to the mathematical surface for the production renderer.
TessApprox
*mpRTessDisp;
This object describes the tesselation properties for displacement
mapping in the production renderer.
TessApprox
*mpVTessCurve;
This object describes the properties of a tesselation approximation
to the mathematical curve for representation in the
viewports.
TessApprox
*mpRTessCurve;
This object describes the properties of a tesselation approximation
to the mathematical curve for the production renderer.
float mTessMerge;
Controls the tessellation of surface sub-objects whose edges are
joined or very nearly joined. When input to a modifier -- such as
Mesh Select -- requires a mesh, and when NURBS surfaces are
tessellated for production rendering, by default 3ds Max adjusts
the tessellation of adjoining surfaces to match each other, in
terms of the number of faces along the edges. The Merge parameter
controls how this is done. If Merge is zero, adjoining faces are
unchanged. Increasing the value of Merge increases the distance 3ds
Max uses to calculate how edges should match, guaranteeing no gaps
between the surfaces when they are rendered.
Tab<NURBSObject*>
mObjects;
A table of pointers to the NURBSObjects in the
set.
Object
*mpObject;
The instantiated object in the scene associated with this
NURBSSet.
This is NULL if there isn't one.
NURBSDisplay mDisplay;
Controls the display of the object in the viewport..
Tab<NURBSFuseSurfaceCV>
mSurfFuse;
A table of objects used to allow surfaces in the set to relate to
on another.
Tab<NURBSFuseCurveCV>
mCurveFuse;
A table of objects used to allow curves in the set to relate to on
another.
#include <surf_api.h>
List of all
members.
Public Member Functions
|
DllExport |
NURBSSet
(void) |
virtual
DllExport |
~NURBSSet
(void) |
DllExport
void |
Clean
() |
DllExport
int |
GetNumObjects
() |
DllExport
void |
SetObject
(int index, NURBSObject *obj) |
DllExport
int |
AppendObject
(NURBSObject
*obj) |
DllExport
void |
RemoveObject
(int index) |
DllExport
void |
DeleteObjects
() |
DllExport
NURBSObject
* |
GetNURBSObject
(int index) |
DllExport
NURBSObject
* |
GetNURBSObject
(NURBSId id) |
DllExport
TessApprox
* |
GetProdTess
(NURBSTessType
type=kNTessSurface) |
DllExport
TessApprox
* |
GetViewTess
(NURBSTessType
type=kNTessSurface) |
DllExport
void |
SetProdTess
(TessApprox
&tess, NURBSTessType
type=kNTessSurface) |
DllExport
void |
SetViewTess
(TessApprox
&tess, NURBSTessType
type=kNTessSurface) |
DllExport
void |
ClearViewTess
(NURBSTessType
type=kNTessSurface) |
DllExport
void |
ClearProdTess
(NURBSTessType
type=kNTessSurface) |
DllExport
float |
GetTessMerge
() |
DllExport
void |
SetTessMerge
(float merge) |
DllExport
Object * |
GetMAXObject
() |
DllExport
NURBSDisplay |
GetDisplaySettings
() |
DllExport
void |
SetDisplaySettings
(NURBSDisplay
&disp) |
Public Attributes
|
Tab< NURBSFuseSurfaceCV
> |
mSurfFuse |
Tab< NURBSFuseCurveCV
> |
mCurveFuse |
Protected Attributes
|
TessApprox * |
mpVTess |
TessApprox * |
mpRTess |
TessApprox * |
mpRTessDisp |
TessApprox * |
mpVTessCurve |
TessApprox * |
mpRTessCurve |
float |
mTessMerge |
Tab< NURBSObject * > |
mObjects |
Object * |
mpObject |
NURBSDisplay |
mDisplay |
Friends
|
DllExport
Object * |
CreateNURBSObject
(IObjParam *ip,
NURBSSet *nset,
Matrix3 &mat) |
DllExport
int |
AddNURBSObjects
(Object *MAXobj,
IObjParam *ip,
NURBSSet
*nset) |
DllExport
BOOL |
GetNURBSSet
(Object *object,
TimeValue t, NURBSSet &nset, BOOL
Relational) |
Constructor & Destructor Documentation
virtual DllExport ~NURBSSet |
( |
void |
|
) |
[virtual] |
Member Function Documentation
DllExport int GetNumObjects |
( |
|
) |
|
DllExport void SetObject |
( |
int |
index, |
|
|
NURBSObject * |
obj |
|
) |
|
|
- Parameters:
- int index
If the index is an existing object in the set this will replace the
object. If it is a new index, all the objects which follow this one
are set to NULL and the one passed is set.
NURBSObject* obj
Points to the object to add to the table.
- Parameters:
- int index
The zero based index of the object to set.
NURBSObject* obj
Points to the object to set.
- Parameters:
- NURBSObject* obj
The pointer to the object to append.
- Returns:
- Returns the number of objects in the table prior to
appending.
DllExport void RemoveObject |
( |
int |
index |
) |
|
- Parameters:
- int index
The zero based index of the object to remove.
DllExport void DeleteObjects |
( |
|
) |
|
- Parameters:
- int index
The zero based index of the object to return.
- Parameters:
- NURBSId id
The Id of the object to return.
- Parameters:
- NURBSTessType type=kNTessSurface
The type of tesselation. See NURBSTess Types.
- Parameters:
- NURBSTessType type=kNTessSurface
The type of tesselation. See NURBSTess Types.
- Parameters:
- TessApprox& tess
The tesselation object.
NURBSTessType type=kNTessSurface
This parameter is available in release 3.0 and later only.
The type of tesselation. See NURBSTess Types.
- Parameters:
- TessApprox& tess
The tesselation object.
NURBSTessType type=kNTessSurface
This parameter is available in release 3.0 and later only.
The type of tesselation. See NURBSTess Types.
DllExport void ClearViewTess |
( |
NURBSTessType |
type =
kNTessSurface |
) |
|
- Parameters:
- NURBSTessType type=kNTessSurface
The type of tesselation. See NURBSTess Types.
DllExport void ClearProdTess |
( |
NURBSTessType |
type =
kNTessSurface |
) |
|
- Parameters:
- NURBSTessType type=kNTessSurface
The type of tesselation. See NURBSTess Types.
DllExport float GetTessMerge |
( |
|
) |
|
DllExport void SetTessMerge |
( |
float |
merge |
) |
|
- Parameters:
- float merge
The tessellation merge value. Controls the tessellation of surface
sub-objects whose edges are joined or very nearly joined. When
input to a modifier -- such as
Mesh Select -- requires a mesh, and when NURBS surfaces are
tessellated for production rendering, by default 3ds Max adjusts
the tessellation of adjoining surfaces to match each other, in
terms of the number of faces along the edges. The Merge parameter
controls how this is done. If Merge is zero, adjoining faces are
unchanged. Increasing the value of Merge increases the distance 3ds
Max uses to calculate how edges should match, guaranteeing no gaps
between the surfaces when they are rendered.
DllExport Object* GetMAXObject |
( |
|
) |
|
Friends And Related Function Documentation
DllExport BOOL GetNURBSSet |
( |
Object * |
object, |
|
|
TimeValue |
t, |
|
|
NURBSSet & |
nset, |
|
|
BOOL |
Relational |
|
) |
|
[friend] |
Member Data Documentation
NURBSSet NURBSSet NURBSSet NURBSSet
NURBSSet NURBSSet NURBSSet NURBSSet NURBSSet NURBSSet
NURBSSet NURBSSet NURBSSet NURBSSet
NURBSSet NURBSSet NURBSSet NURBSSet NURBSSet NURBSSet