3ds Max C++ API Reference
Loading...
Searching...
No Matches
NURBSUVLoftSurface Class Reference

#include <surf_api.h>

+ Inheritance diagram for NURBSUVLoftSurface:

Public Member Functions

DllExport NURBSUVLoftSurface (void)
 
virtual DllExport ~NURBSUVLoftSurface (void)
 
DllExport NURBSUVLoftSurface & operator= (const NURBSUVLoftSurface &surf)
 
DllExport void SetNumUCurves (int num)
 
DllExport int GetNumUCurves (void)
 
DllExport int AppendUCurve (int index)
 
DllExport int AppendUCurve (NURBSId id)
 
DllExport void SetUParent (int pnum, int index)
 
DllExport void SetUParentId (int pnum, NURBSId id)
 
DllExport int GetUParent (int pnum)
 
DllExport NURBSId GetUParentId (int pnum)
 
DllExport void SetNumVCurves (int num)
 
DllExport int GetNumVCurves (void)
 
DllExport int AppendVCurve (int index)
 
DllExport int AppendVCurve (NURBSId id)
 
DllExport void SetVParent (int pnum, int index)
 
DllExport void SetVParentId (int pnum, NURBSId id)
 
DllExport int GetVParent (int pnum)
 
DllExport NURBSId GetVParentId (int pnum)
 
- Public Member Functions inherited from NURBSSurface
void * GetSurfCache ()
 
const void * GetSurfCache () const
 
void SetSurfCache (void *pCache)
 
DllExport NURBSSurface (void)
 
virtual DllExport ~NURBSSurface (void)
 
DllExport NURBSSurface & operator= (const NURBSSurface &surf)
 
DllExport BOOL Renderable ()
 
DllExport void Renderable (BOOL state)
 
DllExport BOOL FlipNormals ()
 
DllExport void FlipNormals (BOOL state)
 
DllExport BOOL GenerateUVs (int channel=0)
 
DllExport void SetGenerateUVs (BOOL state, int channel=0)
 
DllExport int MatID ()
 
DllExport void MatID (int id)
 
DllExport Point2 GetTextureUVs (TimeValue t, int i, int channel=0)
 
DllExport void SetTextureUVs (TimeValue t, int i, Point2 pt, int channel=0)
 
DllExport void GetTileOffset (TimeValue t, float &ut, float &vt, float &uo, float &vo, float &a, int channel=0)
 
DllExport void SetTileOffset (TimeValue t, float ut, float vt, float uo, float vo, float a, int channel=0)
 
DllExport NURBSTextureSurface & GetTextureSurface (int channel)
 
DllExport void SetTextureSurface (int channel, NURBSTextureSurface &texSurf)
 
DllExport int NumChannels ()
 
DllExport int GetChannelFromIndex (int index)
 
DllExport BOOL IsClosedInU (void)
 
DllExport BOOL IsClosedInV (void)
 
DllExport BOOL Evaluate (TimeValue t, double u, double v, Point3 &pt, Point3 &dPdU, Point3 &dPdV) const
 
DllExport BOOL Evaluate (TimeValue t, double u, double v, Point3 &pt, Point3 &dPdU, Point3 &dPdV, Point3 &d2PdU2, Point3 &d2PdV2, Point3 &d2PdUdV) const
 
DllExport void GetParameterRange (TimeValue t, double &uMin, double &uMax, double &vMin, double &vMax) const
 
DllExport BOOL GetNURBSData (TimeValue t, int &degreeInU, int &degreeInV, int &numInU, int &numInV, NURBSCVTab &cvs, int &numKnotsInU, int &numKnotsInV, NURBSKnotTab &uKnots, NURBSKnotTab &vKnots)
 
DllExport BOOL GetCLPTextureSurfaceData (TimeValue t, int channel, int &degreeInU, int &degreeInV, int &numInU, int &numInV, NURBSCVTab &cvs, int &numKnotsInU, int &numKnotsInV, NURBSKnotTab &uKnots, NURBSKnotTab &vKnots)
 
DllExport int NumTrimLoops (TimeValue t)
 
DllExport int NumCurvesInLoop (TimeValue t, int loop)
 
DllExport BOOL Get2dTrimCurveData (TimeValue t, int loop, int curve, int &degree, int &numCVs, NURBSCVTab &cvs, int &numKnots, NURBSKnotTab &knots)
 
DllExport BOOL Get3dTrimCurveData (TimeValue t, int loop, int curve, int &degree, int &numCVs, NURBSCVTab &cvs, int &numKnots, NURBSKnotTab &knots)
 
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)
 
- Public Member Functions inherited from NURBSObject
DllExport NURBSObject (void)
 
virtual DllExport ~NURBSObject (void)
 
DllExport NURBSObject & operator= (const NURBSObject &pt)
 
DllExport void SetName (const MCHAR *name)
 
DllExport const MCHAR * GetName (void)
 
DllExport NURBSType GetType () const
 
DllExport NURBSKind GetKind () const
 
DllExport NURBSId GetId () const
 
DllExport void SetId (NURBSId id)
 
DllExport void SetNSet (NURBSSet *nset)
 
DllExport void SetObject (Object *object)
 
DllExport Object * GetMAXObject ()
 
DllExport NURBSSet * GetNSet ()
 
DllExport int GetIndex ()
 
DllExport BOOL IsSelected ()
 
DllExport void SetSelected (BOOL set)
 

Friends

class NURBSSet
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport void * operator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
 
static UtilExport void * operator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
 
static UtilExport void * operator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
 
static UtilExport void * operator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport void * operator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
static UtilExport void * operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport void * operator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport void * operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void * operator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport void * aligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport void * aligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 
- Protected Member Functions inherited from NURBSObject
DllExport void Clean (NURBSIdTab ids)
 
- Protected Attributes inherited from NURBSSurface
NURBSTextureChannelSet mTextureChannelSet
 
BOOL mFlipNormals
 
BOOL mRenderable
 
int mMatID
 
BOOL mClosedInU
 
BOOL mClosedInV
 
TessApprox * mpVTess
 
TessApprox * mpRTess
 
TessApprox * mpRTessDisp
 
TessApprox * mpVTessCurve
 
TessApprox * mpRTessCurve
 
void * mpSurfCache
 
- Protected Attributes inherited from NURBSObject
MCHAR mName [NURBS_NAME_SIZE]
 
NURBSType mType
 
NURBSKind mKind
 
NURBSId mId
 
Object * mpObject
 
NURBSSet * mpNSet
 
BOOL mSelected
 

Detailed Description

See also
Class NURBSSurface.

Description:
This class provides access to the UV Loft Surface. This surface is similar to the U Loft surface, but has a set of curves in the V dimension as well as the U dimension.

Constructor & Destructor Documentation

◆ NURBSUVLoftSurface()

Remarks
Constructor. The data members are initialized as follows:

mType = kNUVLoftSurface;

mpObject = NULL;

mpNSet = NULL;

mUParentId.SetCount(0);

mUParentIndex.SetCount(0);

mVParentId.SetCount(0);

mVParentIndex.SetCount(0);

◆ ~NURBSUVLoftSurface()

virtual DllExport ~NURBSUVLoftSurface ( void  )
virtual
Remarks
Destructor.

Member Function Documentation

◆ operator=()

DllExport NURBSUVLoftSurface & operator= ( const NURBSUVLoftSurface &  surf)
Remarks
Assignment operator.
Parameters:
const NURBSUVLoftSurface& surf

The surface to assign.

◆ SetNumUCurves()

DllExport void SetNumUCurves ( int  num)
Remarks
Sets the number of curves in the U dimension.
Parameters:
int num

The number of curves to use in the U dimension.

◆ GetNumUCurves()

DllExport int GetNumUCurves ( void  )
Remarks
Returns the number of curves in the U dimension.

◆ AppendUCurve() [1/2]

DllExport int AppendUCurve ( int  index)
Remarks
Appends the specified curve (by NURBSSet index) to the list of U curves.
Parameters:
int index

The index in the NURBSSet of the curve to use.

◆ AppendUCurve() [2/2]

DllExport int AppendUCurve ( NURBSId  id)
Remarks
Appends the specified curve (by NURBSId) to the list of U curves.
Parameters:
NURBSId id

The NURBSId of the curve to use.
Returns
Returns the number of curves in the set prior to appending.

◆ SetUParent()

DllExport void SetUParent ( int  pnum,
int  index 
)
Remarks
Sets the specified parent curve (by NURBSSet index) as the speciifed curve in the surface.
Parameters:
int pnum

The index into the list of U curves of the parent curve to set.

int index

The index into the NURBSSet of the parent curve to set.

◆ SetUParentId()

DllExport void SetUParentId ( int  pnum,
NURBSId  id 
)
Remarks
Sets the specified parent curve (by NURBSId) as the speciifed curve in the surface.
Parameters:
int pnum

The index into the list of U curves of the parent curve to set.

NURBSId id

The NURBSId of the parent curve to set.

◆ GetUParent()

DllExport int GetUParent ( int  pnum)
Remarks
Returns the index into the NURBSSet of the specified parent curve.
Parameters:
int pnum

The zero based index of the parent curve.

◆ GetUParentId()

DllExport NURBSId GetUParentId ( int  pnum)
Remarks
Returns the NURBSId of the specified parent curve. Note that a NURBSId won't be valid until the surface has been instantiated in the scene.
Parameters:
int pnum

The zero based index of the parent curve.

◆ SetNumVCurves()

DllExport void SetNumVCurves ( int  num)
Remarks
Sets the number of curves in the V dimension.
Parameters:
int num

The number of curves to use in the V dimension.

◆ GetNumVCurves()

DllExport int GetNumVCurves ( void  )
Remarks
Returns the number of curves in the V dimension.

◆ AppendVCurve() [1/2]

DllExport int AppendVCurve ( int  index)
Remarks
Appends the specified curve (by NURBSSet index) to the list of V curves.
Parameters:
int index

The index in the NURBSSet of the curve to use.
Returns
Returns the number of curves in the set prior to appending.

◆ AppendVCurve() [2/2]

DllExport int AppendVCurve ( NURBSId  id)
Remarks
Appends the specified curve (by NURBSId) to the list of U curves.
Parameters:
NURBSId id

The NURBSId of the curve to use.
Returns
Returns the number of curves in the set prior to appending.

◆ SetVParent()

DllExport void SetVParent ( int  pnum,
int  index 
)
Remarks
Sets the specified parent curve (by NURBSSet index) as the speciifed curve in the surface.
Parameters:
int pnum

The index into the list of V curves of the parent curve to set.

int index

The index into the NURBSSet of the parent curve to set.

◆ SetVParentId()

DllExport void SetVParentId ( int  pnum,
NURBSId  id 
)
Remarks
Sets the specified parent curve (by NURBSId) as the speciifed curve in the surface.
Parameters:
int pnum

The index into the list of V curves of the parent curve to set.

NURBSId id

The NURBSId of the parent curve to set.

◆ GetVParent()

DllExport int GetVParent ( int  pnum)
Remarks
Returns the index into the NURBSSet of the specified parent curve.
Parameters:
int pnum

The zero based index of the parent curve.

◆ GetVParentId()

DllExport NURBSId GetVParentId ( int  pnum)
Remarks
Returns the NURBSId of the specified parent curve. Note that a NURBSId won't be valid until the surface has been instantiated in the scene.
Parameters:
int pnum

The zero based index of the parent curve.

Friends And Related Function Documentation

◆ NURBSSet

friend class NURBSSet
friend