NURBSBlendCurve Class Reference

#include <surf_api.h>

Class Description

See also
Class NURBSCurve.

Description:
This class defines a dependent blend curve. A blend curve connects the specified end of one curve to the specified end of another, blending the curvature of the parents to create a smooth curve between them. Methods are available to get/set the parent indices and ids, to get/set the ends of the curves used for the blend, and to get/set the tension values used.

All methods of this class are implemented by the system.
+ Inheritance diagram for NURBSBlendCurve:

Public Member Functions

DllExport NURBSBlendCurve (void)
 
virtual DllExport ~NURBSBlendCurve (void)
 
DllExport NURBSBlendCurveoperator= (const NURBSBlendCurve &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 void SetEnd (int pnum, BOOL end)
 
DllExport BOOL GetEnd (int pnum)
 
DllExport void SetTension (TimeValue t, int pnum, double ten)
 
DllExport double GetTension (TimeValue t, int pnum)
 
- Public Member Functions inherited from NURBSCurve
DllExport NURBSCurve (void)
 
virtual DllExport ~NURBSCurve (void)
 
DllExport NURBSCurveoperator= (const NURBSCurve &curve)
 
DllExport BOOL IsClosed (void)
 
DllExport int NumTrimPoints ()
 
DllExport NURBSTrimPoint GetTrimPoint (TimeValue t, int i)
 
DllExport BOOL Evaluate (TimeValue t, double u, Point3 &pt, Point3 &tangent)
 
DllExport void GetParameterRange (TimeValue t, double &uMin, double &uMax)
 
DllExport BOOL GetNURBSData (TimeValue t, int &degree, int &numCVs, NURBSCVTab &cvs, int &numKnots, NURBSKnotTab &knots)
 
DllExport int MatID ()
 
DllExport void MatID (int id)
 
- 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 NURBSCurve
int mMatID
 
- 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:

for (int i = 0; i < 2; i++)
{
mParentId[i] = 0;
mParentIndex[i] = -1;
mParentEnd[i] = TRUE;
mTension[i] = 1.0;
}
virtual DllExport ~NURBSBlendCurve ( void  )
virtual
Remarks
Destructor. The cache is cleared.

Member Function Documentation

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

The curve to assign.
DllExport void SetParent ( int  pnum,
int  index 
)
Remarks
Sets the index in the NURBSSet of the specified parent object.
Parameters:
int pnum

The parent number: 0 or 1.

int index

The index into the NURBSSet of the parent object.
DllExport void SetParentId ( int  pnum,
NURBSId  id 
)
Remarks
Sets the NURBSId of the specified parent.
Parameters:
int pnum

The parent number: 0 or 1.

NURBSId id

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

The parent number: 0 or 1.
DllExport NURBSId GetParentId ( int  pnum)
Remarks
Returns the NURBSId of the parent. Note that a NURBSId won't be valid until the object has been instantiated in the scene
Parameters:
int pnum

The parent number: 0 or 1.
DllExport void SetEnd ( int  pnum,
BOOL  end 
)
Remarks
Sets if the beginning or end of the specified curve is used for the blend.
Parameters:
int pnum

The parent number: 0 or 1.

BOOL end

TRUE to use the end of the curve; FALSE to use the beginning. The beginning of the curve has lesser parameter values than the end.
DllExport BOOL GetEnd ( int  pnum)
Remarks
Indicates if the beginning or end of the specified curve is used for the blend.
Parameters:
int pnum

The parent number: 0 or 1.
Returns
TRUE if the end of the curve is used; FALSE if the beginning is used.
DllExport void SetTension ( TimeValue  t,
int  pnum,
double  ten 
)
Remarks
Sets the tension value for the specified parent curve.
Parameters:
TimeValue t

The time at which to set the tension

int pnum

The parent number: 0 or 1.

double ten

The tension value to set.
DllExport double GetTension ( TimeValue  t,
int  pnum 
)
Remarks
Returns the tension value for the specified parent curve.
Parameters:
TimeValue t

The time at which to get the tension

int pnum

The parent number: 0 or 1.
Operators:

Friends And Related Function Documentation

friend class NURBSSet
friend