3ds Max C++ API Reference
SplineKnotAssy Class Reference

Used for the internal storage of spline knot assemblies in the Spline3D class. More...

#include <spline3d.h>

+ Inheritance diagram for SplineKnotAssy:

Public Member Functions

CoreExport SplineKnotAssy ()
 
CoreExport SplineKnotAssy (int k, int l, const Point3 &p, const Point3 &in, const Point3 &out, int a1=-1, int a2=-1, int a3=-1, int Ia1=-1, int Ia2=-1, int Ia3=-1, int Oa1=-1, int Oa2=-1, int Oa3=-1, DWORD f=0)
 
CoreExport SplineKnotAssy (int k, int l, const SplinePoint &p, const SplinePoint &in, const SplinePoint &out, DWORD f=0)
 
CoreExport SplineKnotAssy (const SplineKnot &k)
 
int Ktype () const
 
void SetKtype (int t)
 
int Ltype () const
 
void SetLtype (int t)
 
Point3 Knot () const
 
void SetKnot (const Point3 &p)
 
Point3 InVec () const
 
void SetInVec (const Point3 &p)
 
Point3 OutVec () const
 
void SetOutVec (const Point3 &p)
 
float GetParm () const
 
void SetParm (float p)
 
MtlID GetMatID () const
 
void SetMatID (MtlID id)
 
CoreExport int GetAux (int index, int which) const
 Allow access as if the in/knot/out components are contained vertices. More...
 
CoreExport void SetAux (int index, int which, int value)
 Allow access as if the in/knot/out components are contained vertices. More...
 
CoreExport Point3 GetVert (int index) const
 Allow access as if the in/knot/out components are contained vertices. More...
 
CoreExport void SetVert (int index, const Point3 &p)
 Allow access as if the in/knot/out components are contained vertices. More...
 
SplinePoint GetKnot () const
 
SplinePoint GetInVec () const
 
SplinePoint GetOutVec () const
 
void SetKnot (SplinePoint &sp)
 
void SetInVec (SplinePoint &sp)
 
void SetOutVec (SplinePoint &sp)
 
DWORD GetFlags () const
 
BOOL IsHidden () const
 
void Hide ()
 
void Unhide ()
 
BOOL IsNoSnap () const
 
void SetNoSnap ()
 
void ClearNoSnap ()
 
BOOL GetFlag (DWORD fl) const
 
void SetFlag (DWORD fl, BOOL val=TRUE)
 
void ClearFlag (DWORD fl)
 

Friends

class Spline3D
 
class SplineKnot
 

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

Used for the internal storage of spline knot assemblies in the Spline3D class.

Constructor & Destructor Documentation

◆ SplineKnotAssy() [1/4]

◆ SplineKnotAssy() [2/4]

CoreExport SplineKnotAssy ( int  k,
int  l,
const Point3 p,
const Point3 in,
const Point3 out,
int  a1 = -1,
int  a2 = -1,
int  a3 = -1,
int  Ia1 = -1,
int  Ia2 = -1,
int  Ia3 = -1,
int  Oa1 = -1,
int  Oa2 = -1,
int  Oa3 = -1,
DWORD  f = 0 
)

◆ SplineKnotAssy() [3/4]

CoreExport SplineKnotAssy ( int  k,
int  l,
const SplinePoint p,
const SplinePoint in,
const SplinePoint out,
DWORD  f = 0 
)

◆ SplineKnotAssy() [4/4]

Member Function Documentation

◆ Ktype()

int Ktype ( ) const
inline
162 { return ktype; }

◆ SetKtype()

void SetKtype ( int  t)
inline
163 { ktype=t; }

◆ Ltype()

int Ltype ( ) const
inline
164 { return ltype; }

◆ SetLtype()

void SetLtype ( int  t)
inline
165 { ltype=t; }

◆ Knot()

Point3 Knot ( ) const
inline
166 { return knot.point; }

◆ SetKnot() [1/2]

void SetKnot ( const Point3 p)
inline
167 { knot.point=p; }

◆ InVec()

Point3 InVec ( ) const
inline
168 { return inVec.point; }

◆ SetInVec() [1/2]

void SetInVec ( const Point3 p)
inline
169 { inVec.point=p; }

◆ OutVec()

Point3 OutVec ( ) const
inline
170 { return outVec.point; }

◆ SetOutVec() [1/2]

void SetOutVec ( const Point3 p)
inline
171 { outVec.point=p; }

◆ GetParm()

float GetParm ( ) const
inline
172 { return du; }

◆ SetParm()

void SetParm ( float  p)
inline
173 { du = p; }

◆ GetMatID()

MtlID GetMatID ( ) const
inline
174 {return (int)((flags>>SPLINE_MATID_SHIFT)&SPLINE_MATID_MASK);}
#define SPLINE_MATID_SHIFT
The mat ID is stored in the HIWORD of the knot flags.
Definition: spline3d.h:115
#define SPLINE_MATID_MASK
The mat ID is stored in the HIWORD of the knot flags.
Definition: spline3d.h:116

◆ SetMatID()

void SetMatID ( MtlID  id)
inline
175 {flags &= 0xFFFF; flags |= (DWORD)(id<<SPLINE_MATID_SHIFT);}

◆ GetAux()

CoreExport int GetAux ( int  index,
int  which 
) const

Allow access as if the in/knot/out components are contained vertices.


Parameters
index0=inVec 1=knot 2=outVec
which0=aux1 1=aux2 2=aux3

◆ SetAux()

CoreExport void SetAux ( int  index,
int  which,
int  value 
)

Allow access as if the in/knot/out components are contained vertices.


Parameters
index0=inVec 1=knot 2=outVec
which0=aux1 1=aux2 2=aux3
value

◆ GetVert()

CoreExport Point3 GetVert ( int  index) const

Allow access as if the in/knot/out components are contained vertices.


Parameters
index0=inVec 1=knot 2=outVec

◆ SetVert()

CoreExport void SetVert ( int  index,
const Point3 p 
)

Allow access as if the in/knot/out components are contained vertices.


Parameters
index0=inVec 1=knot 2=outVec
p0=aux1 1=aux2 2=aux3

◆ GetKnot()

SplinePoint GetKnot ( ) const
inline
199 { return knot; }

◆ GetInVec()

SplinePoint GetInVec ( ) const
inline
200 { return inVec; }

◆ GetOutVec()

SplinePoint GetOutVec ( ) const
inline
201 { return outVec; }

◆ SetKnot() [2/2]

void SetKnot ( SplinePoint sp)
inline
202 { knot = sp; }

◆ SetInVec() [2/2]

void SetInVec ( SplinePoint sp)
inline
203 { inVec = sp; }

◆ SetOutVec() [2/2]

void SetOutVec ( SplinePoint sp)
inline
204 { outVec = sp; }

◆ GetFlags()

DWORD GetFlags ( ) const
inline
205 { return flags; }

◆ IsHidden()

BOOL IsHidden ( ) const
inline
208 {return (flags&SEGMENT_VISIBLE);}
#define SEGMENT_VISIBLE
Definition: spline3d.h:118

◆ Hide()

void Hide ( )
inline
209 { flags |= (DWORD)(SEGMENT_VISIBLE);}

◆ Unhide()

void Unhide ( )
inline
210 { flags &= (DWORD)(~SEGMENT_VISIBLE);}

◆ IsNoSnap()

BOOL IsNoSnap ( ) const
inline
212 {return (flags&SPLINEKNOT_NO_SNAP);}
#define SPLINEKNOT_NO_SNAP
Suppresses snapping to knot if set.
Definition: spline3d.h:119

◆ SetNoSnap()

void SetNoSnap ( )
inline
213 { flags |= (DWORD)(SPLINEKNOT_NO_SNAP);}

◆ ClearNoSnap()

void ClearNoSnap ( )
inline
214 { flags &= (DWORD)(~SPLINEKNOT_NO_SNAP);}

◆ GetFlag()

BOOL GetFlag ( DWORD  fl) const
inline
216 { return (flags & fl) ? TRUE : FALSE; }

◆ SetFlag()

void SetFlag ( DWORD  fl,
BOOL  val = TRUE 
)
inline
217 { if (val) flags |= fl; else flags &= ~fl; }

◆ ClearFlag()

void ClearFlag ( DWORD  fl)
inline
218 { flags &= ~fl; }

Friends And Related Function Documentation

◆ Spline3D

friend class Spline3D
friend

◆ SplineKnot

friend class SplineKnot
friend