3ds Max C++ API Reference
NURBSCurveCurveIntersectionPoint Class Reference

#include <surf_api.h>

+ Inheritance diagram for NURBSCurveCurveIntersectionPoint:

Public Member Functions

DllExport NURBSCurveCurveIntersectionPoint (void)
 
virtual DllExport ~NURBSCurveCurveIntersectionPoint (void)
 
DllExport NURBSCurveCurveIntersectionPointoperator= (const NURBSCurveCurveIntersectionPoint &pt)
 
DllExport void SetCurveParam (int curveNum, double param)
 
DllExport double GetCurveParam (int curveNum)
 
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 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 NURBSPoint
DllExport NURBSPoint ()
 
virtual DllExport Point3 GetPosition (TimeValue t)
 
virtual DllExport void GetPosition (TimeValue t, float &x, float &y, float &z)
 
virtual DllExport void GetPosition (TimeValue t, double &x, double &y, double &z)
 
- 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)
 

Protected Member Functions

DllExport void Clean (NURBSIdTab ids)
 
- Protected Member Functions inherited from NURBSObject
DllExport void Clean (NURBSIdTab ids)
 

Protected Attributes

NURBSId mParentId [2]
 
int mParentIndex [2]
 
double mCurveParam [2]
 
BOOL mTrimCurve [2]
 
BOOL mFlipTrim [2]
 
- Protected Attributes inherited from NURBSPoint
double mX
 
double mY
 
double mZ
 
- Protected Attributes inherited from NURBSObject
MCHAR mName [NURBS_NAME_SIZE]
 
NURBSType mType
 
NURBSKind mKind
 
NURBSId mId
 
ObjectmpObject
 
NURBSSetmpNSet
 
BOOL mSelected
 

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...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

See also
Class NURBSPoint.

Description:
This class is used to create a dependent point at the intersection of two curves.

All methods of this class are implemented by the system.
Data Members:
protected:

NURBSId mParentId[2];

The ids of the two parent curves.

int mParentIndex[2];

The indicies of the two parent curves in the NURBSSet.

BOOL mTrimCurve[2];

Indicates the point that is constrained to the curve may be used to trim the curve.

BOOL mFlipTrim[2];

If TRUE the curve is trimmed from the point towards low parameter space. If FALSE the curve is trimmed from the point towards high parameter space.

Constructor & Destructor Documentation

◆ NURBSCurveCurveIntersectionPoint()

Remarks
Constructor. The data members are initialized by value:

mType = kNCurveCurveIntersectionPoint;

mpObject = NULL;

mpNSet = NULL;

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

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

mCurveParam[0] = mCurveParam[1] = 0.0;

mTrimCurve[0] = mTrimCurve[1] = FALSE;

mFlipTrim[0] = mFlipTrim[1] = FALSE;

◆ ~NURBSCurveCurveIntersectionPoint()

Remarks
Destructor.

Member Function Documentation

◆ Clean()

DllExport void Clean ( NURBSIdTab  ids)
protected
Remarks
This methods breaks the relation between this NURBSObject and a NURBSSet.
Parameters:
NURBSIdTab ids

A table with the IDs of each object in the NURBSSet.

◆ operator=()

Remarks
Assignment operator.
Parameters:
const NURBSCurveCurveIntersectionPoint &pt

The intersection point to assign.

◆ SetCurveParam()

DllExport void SetCurveParam ( int  curveNum,
double  param 
)

◆ GetCurveParam()

DllExport double GetCurveParam ( int  curveNum)
Remarks
Returns the point in parameter space of the specified curve of the point of intersection.
Parameters:
int curveNum

The parent curve number: 0 or 1.

◆ SetParent()

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 surface.

◆ SetParentId()

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.

◆ GetParent()

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.

◆ GetParentId()

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.

◆ GetTrimCurve()

DllExport BOOL GetTrimCurve ( int  pnum)
Remarks
Returns TRUE if this point is used to trim the specified curve and FALSE if it is not.
Parameters:
int pnum

The parent curve number: 0 or 1.

◆ SetTrimCurve()

DllExport void SetTrimCurve ( int  pnum,
BOOL  trim 
)
Remarks
Sets the trim curve boolean for the specified curve.
Parameters:
int pnum

The parent curve number: 0 or 1.

BOOL trim

TRUE to indicate this point is used to trim the curve; FALSE to indicate the curve is not trimmed beyond the point.

◆ GetFlipTrim()

DllExport BOOL GetFlipTrim ( int  pnum)
Remarks
Returns the state of the flip trim boolean.
Parameters:
int pnum

The parent curve number: 0 or 1.
Returns
TRUE indicates the specified curve is trimmed from the point towards low parameter space. FALSE indicates the curve is trimmed from the point towards high parameter space.

◆ SetFlipTrim()

DllExport void SetFlipTrim ( int  pnum,
BOOL  flip 
)
Remarks
Sets the state of the flip trim boolean for the specified parent curve.
Parameters:
int pnum

The parent curve number: 0 or 1.

BOOL flip

TRUE to indicate the curve is trimmed from the point towards low parameter space. Use FALSE to indicate the curve is trimmed from the point towards high parameter space.
Operators:

Friends And Related Function Documentation

◆ NURBSSet

friend class NURBSSet
friend

Member Data Documentation

◆ mParentId

NURBSId mParentId[2]
protected

◆ mParentIndex

int mParentIndex[2]
protected

◆ mCurveParam

double mCurveParam[2]
protected

◆ mTrimCurve

BOOL mTrimCurve[2]
protected

◆ mFlipTrim

BOOL mFlipTrim[2]
protected