3ds Max C++ API Reference
NURBSProjectVectorCurve Class Reference

#include <surf_api.h>

+ Inheritance diagram for NURBSProjectVectorCurve:

Public Member Functions

DllExport NURBSProjectVectorCurve (void)
 
virtual DllExport ~NURBSProjectVectorCurve (void)
 
DllExport NURBSProjectVectorCurveoperator= (const NURBSProjectVectorCurve &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 BOOL GetTrim ()
 
DllExport void SetTrim (BOOL trim)
 
DllExport BOOL GetFlipTrim ()
 
DllExport void SetFlipTrim (BOOL flip)
 
DllExport Point2 GetSeed ()
 
DllExport void SetSeed (Point2 &seed)
 
DllExport void SetPVec (TimeValue t, Point3 &pvec)
 
DllExport Point3GetPVec (TimeValue t)
 
- 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 () 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)
 

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

Detailed Description

See also
Class NURBSCurve, Class Point2, Class Point3.

Description:
This class provides access to the Vector Projected Curve. A Vector Projected curve lies on a surface. This is almost the same as a Normal Projected curve, except that the projection from the existing curve to the surface is in the direction of a vector that you can control. Vector projected curves may be used for trimming.

Constructor & Destructor Documentation

◆ NURBSProjectVectorCurve()

Remarks
Constructor. The data members are initialized as follows:

mType = kNProjectVectorCurve;

mpObject = NULL;

mpNSet = NULL;

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

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

mTrim = FALSE;

mFlipTrim = FALSE;

mSeed = Point2(0.0, 0.0);

mPVec = Point3(0.0, 0.0, 1.0);

◆ ~NURBSProjectVectorCurve()

virtual DllExport ~NURBSProjectVectorCurve ( void  )
virtual
Remarks
Destructor.

Member Function Documentation

◆ operator=()

Remarks
Assignment operator.
Parameters:
const NURBSProjectVectorCurve& curve

The curve to assign.

◆ SetParent()

DllExport void SetParent ( int  pnum,
int  index 
)
Remarks
Parameters:
int pnum

Pass 0 for the surface and 1 for the curve.

int index

The index in the NURBSSet of the surface or curve.

◆ SetParentId()

DllExport void SetParentId ( int  pnum,
NURBSId  id 
)
Remarks
Sets the surface or curve used by specifying its NURBSId.
Parameters:
int pnum

Pass 0 for the surface and 1 for the curve.

NURBSId id

The id of the surface or curve.

◆ GetParent()

DllExport int GetParent ( int  pnum)
Remarks
Returns the index into the NURBSSet of surface or curve used.
Parameters:
int pnum

Pass 0 for the surface and 1 for the curve.

◆ GetParentId()

DllExport NURBSId GetParentId ( int  pnum)
Remarks
Returns the NURBSId of surface or curve used.
Parameters:
int pnum

Pass 0 for the surface and 1 for the curve.

◆ GetTrim()

DllExport BOOL GetTrim ( )
Remarks
Returns the state of the trim flag. When set the surface is trimmed against the curve. When not set, the surface isn't trimmed

◆ SetTrim()

DllExport void SetTrim ( BOOL  trim)
Remarks
Sets the state of the trim flag. When set the surface is trimmed against the curve. When not set, the surface isn't trimmed
Parameters:
BOOL trim

TRUE to trim; FALSE to not trim.

◆ GetFlipTrim()

DllExport BOOL GetFlipTrim ( )
Remarks
Returns the state of the trim flip flag. When set this trims the surface in the opposite direction.

◆ SetFlipTrim()

DllExport void SetFlipTrim ( BOOL  flip)
Remarks
Sets the state of the trim flip flag. When set this trims the surface in the opposite direction
Parameters:
BOOL flip

TRUE to flip; FALSE to not flip.

◆ GetSeed()

DllExport Point2 GetSeed ( )
Remarks
Returns the UV location of the seed value on the surface.

◆ SetSeed()

DllExport void SetSeed ( Point2 seed)
Remarks
Sets the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve.
Parameters:
Point2& seed

The seed value to set.

◆ SetPVec()

DllExport void SetPVec ( TimeValue  t,
Point3 pvec 
)
Remarks
Sets the projection vector used at the time passed.
Parameters:
TimeValue t

The time at which to set the projection vector.

Point3& pvec

The vector to set.

◆ GetPVec()

DllExport Point3& GetPVec ( TimeValue  t)
Remarks
Returns the projection vector used at the time passed.
Parameters:
TimeValue t

The time at which to get the projection vector.

Friends And Related Function Documentation

◆ NURBSSet

friend class NURBSSet
friend