3ds Max C++ API Reference
TMComponentsArg Struct Reference

#include <control.h>

+ Inheritance diagram for TMComponentsArg:

Public Types

enum  RotationRep {
  kXYZ , kXZY , kYZX , kYXZ ,
  kZXY , kZYX , kXYX , kYZY ,
  kZXZ , kQuat , kUnknown
}
 

Public Member Functions

 TMComponentsArg ()
 
 TMComponentsArg (Point3 *pos, Interval *posInv, float *rot, Interval *rotInv, ScaleValue *scl, Interval *sclInv)
 

Public Attributes

Point3position
 If not NULL this is the position. More...
 
IntervalposValidity
 If not NULL this points to the validity interval for the position. More...
 
float * rotation
 If not NULL this is the rotation and should be a float[4]. More...
 
IntervalrotValidity
 If not NULL this points to the validity interval for the rotation. More...
 
RotationRep rotRep
 The rotation representation. More...
 
ScaleValuescale
 If non-NULL this is the ScaleValue. More...
 
IntervalsclValidity
 The validity interval for the ScaleValue. More...
 

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 Control, Class Matrix3, Class Point3, Class Interval, Class Quat, Class ScaleValue.
Remarks
This structure is available in release 4.0 and later only.

This structure is for collecting the return results of Control::GetLocalTMComponents. Position, Rotation, or Scale, controllers will put results at the respective component when the corresponding pointer is not NULL.

Member Enumeration Documentation

◆ RotationRep

Enumerator
kXYZ 
kXZY 
kYZX 
kYXZ 
kZXY 
kZYX 
kXYX 
kYZY 
kZXZ 
kQuat 
kUnknown 
161  {
162  // kXYZ should equals EULERTYPE_XYZ, which is 0.(c.f. euler.h)
163  kXYZ,
164  kXZY,
165  kYZX,
166  kYXZ,
167  kZXY,
168  kZYX,
169  kXYX,
170  kYZY,
171  kZXZ,
172  kQuat,
173  kUnknown
174  };
@ kZXY
Definition: control.h:167
@ kXZY
Definition: control.h:164
@ kZYX
Definition: control.h:168
@ kYXZ
Definition: control.h:166
@ kZXZ
Definition: control.h:171
@ kXYX
Definition: control.h:169
@ kYZX
Definition: control.h:165
@ kUnknown
Definition: control.h:173
@ kQuat
Definition: control.h:172
@ kXYZ
Definition: control.h:163
@ kYZY
Definition: control.h:170

Constructor & Destructor Documentation

◆ TMComponentsArg() [1/2]

TMComponentsArg ( )
inline
Remarks
Constructor
155 :position(0),rotation(0),scale(0),rotRep(kUnknown) {}
ScaleValue * scale
If non-NULL this is the ScaleValue.
Definition: control.h:199
RotationRep rotRep
The rotation representation.
Definition: control.h:197
Point3 * position
If not NULL this is the position.
Definition: control.h:176
float * rotation
If not NULL this is the rotation and should be a float[4].
Definition: control.h:180

◆ TMComponentsArg() [2/2]

TMComponentsArg ( Point3 pos,
Interval posInv,
float *  rot,
Interval rotInv,
ScaleValue scl,
Interval sclInv 
)
inline
Remarks
Constructor
159  : position(pos),posValidity(posInv),rotation(rot),rotValidity(rotInv)
160  , scale(scl),sclValidity(sclInv) {}
controller mat max min numsubs x z controller keys x z pos
Definition: generics.inl:208
Interval * rotValidity
If not NULL this points to the validity interval for the rotation.
Definition: control.h:182
Interval * sclValidity
The validity interval for the ScaleValue.
Definition: control.h:201
Interval * posValidity
If not NULL this points to the validity interval for the position.
Definition: control.h:178

Member Data Documentation

◆ position

Point3* position

If not NULL this is the position.

◆ posValidity

Interval* posValidity

If not NULL this points to the validity interval for the position.

◆ rotation

float* rotation

If not NULL this is the rotation and should be a float[4].

◆ rotValidity

Interval* rotValidity

If not NULL this points to the validity interval for the rotation.

◆ rotRep

RotationRep rotRep

The rotation representation.

This defines what the 4 numbers in the rotation array mean. One of the following enum values:
kXYZ - Same as EULERTYPE_XYZ
kXZY - Same as EULERTYPE_XZY
kYZX - Same as EULERTYPE_YZX
kYXZ - Same as EULERTYPE_YXZ
kZXY - Same as EULERTYPE_ZXY
kZYX - Same as EULERTYPE_ZYX
kXYX - Same as EULERTYPE_XYX
kYZY - Same as EULERTYPE_YZY
kZXZ - Same as EULERTYPE_ZXZ
kQuat - A quaternion representation.
kUnknown - An unknown representation.

◆ scale

ScaleValue* scale

If non-NULL this is the ScaleValue.

◆ sclValidity

Interval* sclValidity

The validity interval for the ScaleValue.