3ds Max C++ API Reference
NURBSCurveConstPoint Class Reference

#include <surf_api.h>

+ Inheritance diagram for NURBSCurveConstPoint:

Public Member Functions

DllExport NURBSCurveConstPoint (void)
 
virtual DllExport ~NURBSCurveConstPoint (void)
 
DllExport NURBSCurveConstPointoperator= (const NURBSCurveConstPoint &pt)
 
DllExport void SetParent (int index)
 
DllExport void SetParentId (NURBSId id)
 
DllExport int GetParent (void)
 
DllExport NURBSId GetParentId (void)
 
DllExport void SetPointType (NURBSConstType type)
 
DllExport NURBSConstType GetPointType (void)
 
DllExport void SetOffset (TimeValue t, Point3 pt)
 
DllExport Point3 GetOffset (TimeValue t)
 
DllExport void SetUParam (TimeValue t, double param)
 
DllExport double GetUParam (TimeValue t)
 
DllExport void SetNormal (TimeValue t, float dist)
 
DllExport float GetNormal (TimeValue t)
 
DllExport void SetUTangent (TimeValue t, float dist)
 
DllExport float GetUTangent (TimeValue t)
 
DllExport BOOL GetTrimCurve ()
 
DllExport void SetTrimCurve (BOOL trim)
 
DllExport BOOL GetFlipTrim ()
 
DllExport void SetFlipTrim (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
 
int mParentIndex
 
NURBSConstType mCType
 
Point3 mOffset
 
float mNormal
 
float mUTangent
 
double mUParam
 
BOOL mTrimCurve
 
BOOL mFlipTrim
 
- 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 NURBSObject, NURBSConst Types, Class Point3.

Description:
This class is used to create a dependent point that lies on a curve or relative to it.

The point can either be on the curve or off the curve. If it is on the curve, the U Position is the only control of its location. The U Position specifies a location along the curve (based on the curve's local U axis). There are three ways to displace the point's location relative to the U position:

Offset moves the point according to a relative (object space) X,Y,Z location.

Normal moves the point along the direction of the curve's normal. (Negative values move it opposite to the normal.)

U Position

Tangent moves the point along the tangent of the U Position.

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

NURBSId mParentId;

The NURBSId of the parent curve.

int mParentIndex;

The index in the NURBSSet of the parent curve.

NURBSConstType mCType;

The type of constraint in use.

Point3 mOffset;

The offset amount.

float mNormal;

The distance along the normal.

float mUTangent;

The distance along the tangent.

double mUParam;

Specifies the point along the parent curve.

BOOL mTrimCurve;

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

BOOL mFlipTrim;

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

◆ NURBSCurveConstPoint()

Remarks
Constructor. The data members are initialized as follows:

mType = kNCurveCPoint;

mpObject = NULL;

mpNSet = NULL;

mParentId = 0;

mParentIndex = -1;

mCType = kNConstOnObject;

mOffset = Point3(0,0,0);

mNormal = 0.0f;

mUTangent = 0.0f;

mUParam = 0.0;

mTrimCurve = FALSE;

mFlipTrim = FALSE;

◆ ~NURBSCurveConstPoint()

virtual DllExport ~NURBSCurveConstPoint ( void  )
virtual
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 NURBSCurveConstPoint& pt

The point to assign.

◆ SetParent()

DllExport void SetParent ( int  index)
Remarks
Sets the parent index to the specified value.
Parameters:
int index

The parent index to set.

◆ SetParentId()

DllExport void SetParentId ( NURBSId  id)
Remarks
Sets the parent ID to the specified value.
Parameters:
NURBSId id

The parent ID to set.

◆ GetParent()

DllExport int GetParent ( void  )
Remarks
Returns the parent index.

◆ GetParentId()

DllExport NURBSId GetParentId ( void  )
Remarks
Returns the NURBSId of the parent. Note that a NURBSId won't be valid until the object has been instantiated in the scene.

◆ SetPointType()

DllExport void SetPointType ( NURBSConstType  type)
Remarks
Sets the point type.
Parameters:
NURBSConstType type

Specifies the construction point type. See NURBSConst Types.

◆ GetPointType()

DllExport NURBSConstType GetPointType ( void  )
Remarks
Returns the point type. See NURBSConst Types.

◆ SetOffset()

DllExport void SetOffset ( TimeValue  t,
Point3  pt 
)
Remarks
Sets the offset value at the specified time.
Parameters:
TimeValue t

Specifies the time at which the offset value is set.

Point3 pt

The offset to set in object space.

◆ GetOffset()

DllExport Point3 GetOffset ( TimeValue  t)
Remarks
Returns the offset value in object space at the specified time.
Parameters:
TimeValue t

Specifies the time at which the offset value is returned.

◆ SetUParam()

DllExport void SetUParam ( TimeValue  t,
double  param 
)
Remarks
Sets the U Parameter for the point.
Parameters:
TimeValue t

Specifies the time at which the value is set.

double param

The U parameter to set.

◆ GetUParam()

DllExport double GetUParam ( TimeValue  t)
Remarks
Returns the U parameter at the specified time.
Parameters:
TimeValue t

Specifies the time at which the value is returned.

◆ SetNormal()

DllExport void SetNormal ( TimeValue  t,
float  dist 
)
Remarks
Sets the normal distance at the specified time.
Parameters:
TimeValue t

Specifies the time at which the value is set.

float dist

The distance to set.

◆ GetNormal()

DllExport float GetNormal ( TimeValue  t)
Remarks
Returns the distance along the normal at the specified time.
Parameters:
TimeValue t

Specifies the time at which the value is returned.

◆ SetUTangent()

DllExport void SetUTangent ( TimeValue  t,
float  dist 
)
Remarks
Set the U tangent value at the specified time.
Parameters:
TimeValue t

Specifies the time at which the value is set.

float dist

The distance to set.

◆ GetUTangent()

DllExport float GetUTangent ( TimeValue  t)
Remarks
Returns the U tangent value at the specified time.
Parameters:
TimeValue t

Specifies the time at which the value is returned.

◆ GetTrimCurve()

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

◆ SetTrimCurve()

DllExport void SetTrimCurve ( BOOL  trim)
Remarks
Sets the trim curve boolean.
Parameters:
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 ( )
Remarks
Returns the state of the flip trim boolean.

◆ SetFlipTrim()

DllExport void SetFlipTrim ( BOOL  flip)
Remarks
Sets the state of the flip trim boolean.
Parameters:
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
protected

◆ mParentIndex

int mParentIndex
protected

◆ mCType

NURBSConstType mCType
protected

◆ mOffset

Point3 mOffset
protected

◆ mNormal

float mNormal
protected

◆ mUTangent

float mUTangent
protected

◆ mUParam

double mUParam
protected

◆ mTrimCurve

BOOL mTrimCurve
protected

◆ mFlipTrim

BOOL mFlipTrim
protected