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

#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/surf_api.h>

Inheritance diagram for NURBSMultiCurveTrimSurface:

Public Member Functions

DllExport NURBSMultiCurveTrimSurface (void)
virtual DllExport ~NURBSMultiCurveTrimSurface (void)
DllExport NURBSMultiCurveTrimSurfaceoperator= (const NURBSMultiCurveTrimSurface &surf)
DllExport void SetNumCurves (int num)
DllExport int GetNumCurves (void)
DllExport int AppendCurve (int index)
DllExport int AppendCurve (NURBSId id)
DllExport void SetParent (int pnum, int index)
DllExport void SetParentId (int pnum, NURBSId id)
DllExport int GetParent (int pnum)
DllExport NURBSId GetParentId (int pnum)
DllExport void SetSurfaceParent (int index)
DllExport void SetSurfaceParentId (NURBSId id)
DllExport int GetSurfaceParent ()
DllExport NURBSId GetSurfaceParentId ()
DllExport BOOL GetFlipTrim ()
DllExport void SetFlipTrim (BOOL flip)
Public Member Functions inherited from NURBSSurface
voidGetSurfCache ()
const voidGetSurfCache () const
void SetSurfCache (void *pCache)
DllExport NURBSSurface (void)
virtual DllExport ~NURBSSurface (void)
DllExport NURBSSurfaceoperator= (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 NURBSTextureSurfaceGetTextureSurface (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 TessApproxGetProdTess (NURBSTessType type=kNTessSurface)
DllExport TessApproxGetViewTess (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 NURBSObjectoperator= (const NURBSObject &pt)
DllExport void SetName (const MCHAR *name)
DllExport const MCHARGetName (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 ObjectGetMAXObject ()
DllExport NURBSSetGetNSet ()
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 voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator 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 voidoperator 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 voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
static UtilExport voidoperator 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 voidoperator 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 voidoperator 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 voidoperator 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 voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
static UtilExport voidaligned_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
TessApproxmpVTess
TessApproxmpRTess
TessApproxmpRTessDisp
TessApproxmpVTessCurve
TessApproxmpRTessCurve
voidmpSurfCache
Protected Attributes inherited from NURBSObject
MCHAR mName [NURBS_NAME_SIZE]
NURBSType mType
NURBSKind mKind
NURBSId mId
ObjectmpObject
NURBSSetmpNSet
BOOL mSelected

Detailed Description

See also
Class NURBSSurface.

Description:
This class provides access to the Multicurve Trim Surface which is a surface that is trimmed by multiple curves forming a loop.

Constructor & Destructor Documentation

◆ NURBSMultiCurveTrimSurface()

Remarks
Constructor. The data members are initialized as follows:

mType = kNMultiCurveTrimSurface;

mpObject = NULL;

mpNSet = NULL;

mParentId.SetCount(0);

mParentIndex.SetCount(0);

mSurfaceId = NULL;

mSurfaceIndex = -1;

mFlipTrim = FALSE;

◆ ~NURBSMultiCurveTrimSurface()

Remarks
Destructor.

Member Function Documentation

◆ operator=()

Remarks
Assignment operator.
Parameters:
const NURBSMultiCurveTrimSurface& surf

The surface to assign.

◆ SetNumCurves()

DllExport void SetNumCurves ( int num)
Remarks
Sets the number of curves used for the trim loop.
Parameters:
int num

The number of curves to use.

◆ GetNumCurves()

DllExport int GetNumCurves ( void )
Remarks
Returns the number of curves used for the trim loop.

◆ AppendCurve() [1/2]

DllExport int AppendCurve ( int index)
Remarks
Adds the specified curve (using a NURBSSet index) to the end of the list of curves comprising the trim loop.
Parameters:
int index

The index into the NURBSSet of the curve to add.
Returns
The number of curves in the loop prior to appending.

◆ AppendCurve() [2/2]

DllExport int AppendCurve ( NURBSId id)
Remarks
Adds the specified curve (using a NURBSSet index) to the end of the list of curves comprising the trim loop.
Parameters:
NURBSId id

The id to use.
Returns
The number of curves in the loop prior to appending.

◆ SetParent()

DllExport void SetParent ( int pnum,
int index )
Remarks
Sets the specified curve in the trim loop to the curve specified by an index into the NURBSSet.
Parameters:
int pnum

Zero based index of which curve to set.

int index

The index into the NURBSSet of the curve to use.

◆ SetParentId()

DllExport void SetParentId ( int pnum,
NURBSId id )
Remarks
Sets the specified curve in the trim loop to the curve specified by a NURBSId.
Parameters:
int pnum

Zero based index of which curve to set.

NURBSId id

The id of the curve to use.

◆ GetParent()

DllExport int GetParent ( int pnum)
Remarks
Returns the index in the NURBSSet of the specified parent object.
Parameters:
int pnum

Zero based index of which curve to get.

◆ GetParentId()

DllExport NURBSId GetParentId ( int pnum)
Remarks
Returns the NURBSId of the specified curve in the trim loop.
Parameters:
int pnum

Zero based index of which curve to get.

◆ SetSurfaceParent()

DllExport void SetSurfaceParent ( int index)
Remarks
Sets the surface that's trimmed by specifying it's index into the NURBSSet.
Parameters:
int index

The index in the NURBSSet of the surface.

◆ SetSurfaceParentId()

DllExport void SetSurfaceParentId ( NURBSId id)
Remarks
Sets the surface that's trimmed by specifying it's NURBSId.
Parameters:
NURBSId id

The id of the surface.

◆ GetSurfaceParent()

DllExport int GetSurfaceParent ( )
Remarks
Returns the index in the NURBSSet of the surface that is trimmed.

◆ GetSurfaceParentId()

DllExport NURBSId GetSurfaceParentId ( )
Remarks
Returns the NURBSId of the surface that's trimmed.

◆ GetFlipTrim()

DllExport BOOL GetFlipTrim ( )
Remarks
Returns the state of the flip trim flag. This controls which side of the curve is trimmed from the surface.

◆ SetFlipTrim()

DllExport void SetFlipTrim ( BOOL flip)
Remarks
Sets the state of the flip trim flag.
Parameters:
BOOL flip

TRUE to flip; FALSE to not flip.
Operators:

◆ NURBSSet

friend class NURBSSet
friend