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

Member Enumeration Documentation

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

Constructor & Destructor Documentation

TMComponentsArg ( )
inline
Remarks
Constructor
153 :position(0),rotation(0),scale(0),rotRep(kUnknown) {}
Definition: control.h:171
Point3 * position
If not NULL this is the position.
Definition: control.h:174
ScaleValue * scale
If non-NULL this is the ScaleValue.
Definition: control.h:197
float * rotation
If not NULL this is the rotation and should be a float[4].
Definition: control.h:178
RotationRep rotRep
The rotation representation.
Definition: control.h:195
TMComponentsArg ( Point3 pos,
Interval posInv,
float *  rot,
Interval rotInv,
ScaleValue scl,
Interval sclInv 
)
inline
Remarks
Constructor
157  : position(pos),posValidity(posInv),rotation(rot),rotValidity(rotInv)
158  , scale(scl),sclValidity(sclInv) {}
Point3 * position
If not NULL this is the position.
Definition: control.h:174
ScaleValue * scale
If non-NULL this is the ScaleValue.
Definition: control.h:197
float * rotation
If not NULL this is the rotation and should be a float[4].
Definition: control.h:178
Interval * sclValidity
The validity interval for the ScaleValue.
Definition: control.h:199
Interval * rotValidity
If not NULL this points to the validity interval for the rotation.
Definition: control.h:180
Interval * posValidity
If not NULL this points to the validity interval for the position.
Definition: control.h:176

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.