TMComponentsArg Struct Reference

TMComponentsArg Struct Reference

#include <control.h>

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

Member Enumeration Documentation

Enumerator
kXYZ 
kXZY 
kYZX 
kYXZ 
kZXY 
kZYX 
kXYX 
kYZY 
kZXZ 
kQuat 
kUnknown 
146  {
147  // kXYZ should equals EULERTYPE_XYZ, which is 0.(c.f. euler.h)
148  kXYZ,
149  kXZY,
150  kYZX,
151  kYXZ,
152  kZXY,
153  kZYX,
154  kXYX,
155  kYZY,
156  kZXZ,
157  kQuat,
158  kUnknown
159  };
Definition: control.h:156
Definition: control.h:158
Definition: control.h:148
Definition: control.h:152
Definition: control.h:150
Definition: control.h:149
Definition: control.h:153
Definition: control.h:155
Definition: control.h:157
Definition: control.h:154
Definition: control.h:151

Constructor & Destructor Documentation

TMComponentsArg ( )
inline
Remarks
Constructor
140 :position(0),rotation(0),scale(0),rotRep(kUnknown) {}
Definition: control.h:158
Point3 * position
If not NULL this is the position.
Definition: control.h:161
ScaleValue * scale
If non-NULL this is the ScaleValue.
Definition: control.h:184
float * rotation
If not NULL this is the rotation and should be a float[4].
Definition: control.h:165
RotationRep rotRep
The rotation representation.
Definition: control.h:182
TMComponentsArg ( Point3 pos,
Interval posInv,
float *  rot,
Interval rotInv,
ScaleValue scl,
Interval sclInv 
)
inline
Remarks
Constructor
144  : position(pos),posValidity(posInv),rotation(rot),rotValidity(rotInv)
145  , scale(scl),sclValidity(sclInv) {}
Point3 * position
If not NULL this is the position.
Definition: control.h:161
ScaleValue * scale
If non-NULL this is the ScaleValue.
Definition: control.h:184
float * rotation
If not NULL this is the rotation and should be a float[4].
Definition: control.h:165
Interval * sclValidity
The validity interval for the ScaleValue.
Definition: control.h:186
Interval * rotValidity
If not NULL this points to the validity interval for the rotation.
Definition: control.h:167
Interval * posValidity
If not NULL this points to the validity interval for the position.
Definition: control.h:163

Member Data Documentation

Point3* position

If not NULL this is the position.

Interval* posValidity

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

float* rotation

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

Interval* rotValidity

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

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.

ScaleValue* scale

If non-NULL this is the ScaleValue.

Interval* sclValidity

The validity interval for the ScaleValue.