NURBSFilletSurface Class Reference

NURBSFilletSurface Class Reference

#include <surf_api.h>

Class Description

See also
Class NURBSSurface.

Description:
This class provides access to the NURBS Fillet Surface. Methods are provided to get / set the parent surfaces, get / set the radius, and get / set the trim and trim flip settings.
protected:
+ Inheritance diagram for NURBSFilletSurface:

Public Member Functions

DllExport NURBSFilletSurface (void)
 
virtual DllExport ~NURBSFilletSurface (void)
 
DllExport NURBSFilletSurfaceoperator= (const NURBSFilletSurface &curve)
 
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 Point2 GetSeed (int pnum)
 
DllExport void SetSeed (int pnum, Point2 &seed)
 
DllExport BOOL IsCubic ()
 
DllExport void SetCubic (BOOL cubic)
 
DllExport float GetRadius (TimeValue t, int rnum)
 
DllExport void SetRadius (TimeValue t, int rnum, float radius)
 
DllExport BOOL GetTrimSurface (int pnum)
 
DllExport void SetTrimSurface (int pnum, BOOL trim)
 
DllExport BOOL GetFlipTrim (int pnum)
 
DllExport void SetFlipTrim (int pnum, BOOL flip)
 
- Public Member Functions inherited from NURBSSurface
voidGetSurfCache ()
 
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)
 
DllExport BOOL Evaluate (TimeValue t, double u, double v, Point3 &pt, Point3 &dPdU, Point3 &dPdV, Point3 &d2PdU2, Point3 &d2PdV2, Point3 &d2PdUdV)
 
DllExport void GetParameterRange (TimeValue t, double &uMin, double &uMax, double &vMin, double &vMax)
 
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 ()
 
DllExport NURBSKind GetKind ()
 
DllExport NURBSId GetId ()
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
- 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
 

Constructor & Destructor Documentation

Remarks
Constructor. The data members are initialized as follows:

mType = kNFilletSurface;

mpObject = NULL;

mpNSet = NULL;

mParentId[0] = mParentId[1] = 0;

mParentIndex[0] = mParentIndex[1] = -1;

mRadius[0] = mRadius[1] = 10.0f;

mSeed[0] = mSeed[1] = Point2(0.0, 0.0);

mCubic = TRUE;
virtual DllExport ~NURBSFilletSurface ( void  )
virtual
Remarks
Destructor.

Member Function Documentation

DllExport NURBSFilletSurface& operator= ( const NURBSFilletSurface curve)
Remarks
Assignment operator.
Parameters:
const NURBSFilletSurface& curve

The surface to assign.
DllExport void SetParent ( int  pnum,
int  index 
)
Remarks
Sets the specified parent surface (by NURBSSet index) for the fillet.
Parameters:
int pnum

The parent surface: 0 or 1.

int index

The index in the NURBSSet.
DllExport void SetParentId ( int  pnum,
NURBSId  id 
)
Remarks
Sets the specified parent surface (by NURBSId) for the fillet.
Parameters:
int pnum

The parent surface: 0 or 1.

NURBSId id

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

The parent surface: 0 or 1.
DllExport NURBSId GetParentId ( int  pnum)
Remarks
Returns the NURBSId of the specified parent surface.
Parameters:
int pnum

The parent surface: 0 or 1.
DllExport Point2 GetSeed ( int  pnum)
Remarks
Returns the UV location of the seed value on the specified surface.
Parameters:
int pnum

The parent surface: 0 or 1.
DllExport void SetSeed ( int  pnum,
Point2 seed 
)
Remarks
Sets the UV location of the seed value on the specified surface.
Parameters:
int pnum

The parent surface: 0 or 1.

Point2& seed

The seed value to set.
DllExport BOOL IsCubic ( )
Remarks
Returns TRUE if the cubic setting is on; FALSE if off. When off, the radius is always linear. When on, the radius is treated as a cubic function, allowing it to change based on the parent surface's geometry.
DllExport void SetCubic ( BOOL  cubic)
Remarks
Sets the cubic setting to on or off.
Parameters:
BOOL cubic

TRUE for on; FALSE for off.
DllExport float GetRadius ( TimeValue  t,
int  rnum 
)
Remarks
Returns the specified radius at the time passed.
Parameters:
TimeValue t

The time at which to get the radius.

int rnum

Specifies which radius to get: 0 for start, 1 for end.
DllExport void SetRadius ( TimeValue  t,
int  rnum,
float  radius 
)
Remarks
Sets the specified radius at the time passed.
Parameters:
TimeValue t

The time at which to set the radius.

int rnum

Specifies which radius to set: 0 for start, 1 for end.

float radius

The radius to set.
DllExport BOOL GetTrimSurface ( int  pnum)
Remarks
Returns the trim surface setting for the specified parent surface. TRUE if on (trims the parent surface at the edge of the fillet); FALSE if off.
Parameters:
int pnum

The parent surface: 0 or 1.
DllExport void SetTrimSurface ( int  pnum,
BOOL  trim 
)
Remarks
Sets the trim surface setting for the specified parent surface.
Parameters:
int pnum

The parent surface: 0 or 1.

BOOL trim

TRUE for on (trims the parent surface at the edge of the fillet); FALSE for off.
DllExport BOOL GetFlipTrim ( int  pnum)
Remarks
Returns the state of the trim flip setting. When set this reverses the direction of the trim.
Parameters:
int pnum

The parent surface: 0 or 1.
DllExport void SetFlipTrim ( int  pnum,
BOOL  flip 
)
Remarks
Sets the state of the trim flip setting. When set this reverses the direction of the trim.
Parameters:
int pnum

The parent surface: 0 or 1.

BOOL flip

TRUE for on; FALSE for off.

Friends And Related Function Documentation

friend class NURBSSet
friend