NURBSChamferCurve Class Reference

#include <surf_api.h>

Class Description

See also
Class NURBSCurve.

Description:
This class defines a dependent chamfer curve. A chamfer is a curve that creates a straight line corner between two parent curves. Methods are availalble to get/set the parent indices and ids, to get/set which ends of the curves are used for the chamfer, get/set the trim settings for each curve, and to get/set the length of the curve back from the selected end that represents the start of the chamfer.

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

Public Member Functions

DllExport NURBSChamferCurve (void)
 
virtual DllExport ~NURBSChamferCurve (void)
 
DllExport NURBSChamferCurveoperator= (const NURBSChamferCurve &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 SetLength (TimeValue t, int pnum, double length)
 
DllExport double GetLength (TimeValue t, int pnum)
 
DllExport BOOL GetTrimCurve (int pnum)
 
DllExport void SetTrimCurve (int pnum, BOOL trim)
 
DllExport BOOL GetFlipTrim (int pnum)
 
DllExport void SetFlipTrim (int pnum, BOOL flip)
 
- 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;
mTrimCurve[i] = TRUE;
mFlipTrim[i] = FALSE;
mLength[i] = 0.0;
}
virtual DllExport ~NURBSChamferCurve ( void  )
virtual
Remarks
Destructor. The cache is cleared.

Member Function Documentation

DllExport NURBSChamferCurve& operator= ( const NURBSChamferCurve curve)
Remarks
Assignment operator.
Parameters:
const NURBSChamferCurve& 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 specified 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 which end of the specified curve is used for the chamfer.
Parameters:
int pnum

The parent number: 0 or 1.

BOOL end

TRUE to use the end of the curve; FALSE to use the beginning.
DllExport BOOL GetEnd ( int  pnum)
Remarks
Returns which end of the specified curve is used for the chamfer. TRUE if the end of the curve is used; FALSE if the beginning is used.
Parameters:
int pnum

The parent curve number: 0 or 1.
DllExport void SetLength ( TimeValue  t,
int  pnum,
double  length 
)
Remarks
Sets the length for the specified parent curve back from the end that defines the beginning of the chamfer, at the specified time.
Parameters:
TimeValue t

The time at which to set the chamfer length.

int pnum

The parent curve number: 0 or 1.

double length

The chamfer length to set.
DllExport double GetLength ( TimeValue  t,
int  pnum 
)
Remarks
Returns the length of the chamfer at the specified time.
Parameters:
TimeValue t

The time at which to return the chamfer length.

int pnum

The parent curve number: 0 or 1.
DllExport BOOL GetTrimCurve ( int  pnum)
Remarks
Determines if the specified curve is trimmed beyond the fillet. TRUE if the curve is trimmed; otherwise FALSE.
Parameters:
int pnum

The parent curve number: 0 or 1.
DllExport void SetTrimCurve ( int  pnum,
BOOL  trim 
)
Remarks
Sets if the specified curve is trimmed beyond the chamfer.
Parameters:
int pnum

The parent curve number: 0 or 1.

BOOL trim

TRUE to trim the curve beyond the chamfer; otherwise FALSE.
DllExport BOOL GetFlipTrim ( int  pnum)
Remarks
Returns the flip state for the specified curve.
Parameters:
int pnum

The parent curve number: 0 or 1.
Returns
TRUE if flip is set; FALSE it not.
DllExport void SetFlipTrim ( int  pnum,
BOOL  flip 
)
Remarks
Sets the flip state for the specified curve.
Parameters:
int pnum

The parent curve number: 0 or 1.

BOOL flip

TRUE to flip; FALSE to not flip.
Operators:

Friends And Related Function Documentation

friend class NURBSSet
friend