#include <MGeometryData.h>
This class allows storage of arbitrary data which is formated to be specifically suitable for usage using a 3D display interface such as OpenGL.
Format options include:
Currently Maya only interprets a fixed format subset for data with recongnized semantics, This does not mean that the user cannot create any arbitrary format for data storage. Support formats with semantics includes:
Memory can be marked as "owned" by this class or the user of this class. Ownership by this class is the default behaviour specified in the constructor. If the data is marked as being owned by the class, it is assumed that the data is created using a "new" operation, as the destructor of this class will use a "delete" operation to free memory.
Internal Maya data which is passed to the user via this class is always assumed to be non-modifiable. If modified, stability cannot be ensured.
Public Types | |
enum | ElementSize { kInvalidElementSize = 0, kOne = 1, kTwo, kThree, kFour } |
Specifies the size or dimension of each data element of the storage. More... | |
enum | ElementType { kInvalidElementType = -1, kFloat = 0, kDouble, kChar, kUnsignedChar, kInt16, kUnsignedInt16, kInt32, kUnsignedInt32 } |
Specifies the data type of each data element of the storage. More... | |
enum | DataType { kInvalidDataType = 0, kPosition, kNormal, kTexCoord, kColor, kWeight, kAPISupported, kTangent, kBiNormal, kVelocity, kPrimitiveCenter, kColorMask, kUserData, kMaxDataTypeIndex } |
Specifies the data type of the storage array. More... | |
Public Member Functions | |
MGeometryData (const char *dataName, DataType dataType, ElementType elementType, ElementSize elementSize, unsigned int elementCount, void *dataPtr=NULL, bool ownsData=true) | |
MGeometryData (const MGeometryData &) | |
~MGeometryData () | |
const char * | objectName () const |
int | uniqueID () const |
DataType | dataType () const |
ElementType | elementType () const |
unsigned int | elementTypeSize () const |
ElementSize | elementSize () const |
unsigned int | elementCount () const |
void * | data () const |
void | setCollectionNumber (int cn) |
int | collectionNumber () const |
void | setObjectOwnsData (bool val) |
bool | objectOwnsData () const |
Friends | |
class | MGeometry |
class | MHardwareRenderer |
class | MD3D9Renderer |
Specifies the data type of each data element of the storage.
Specifies the data type of the storage array.
MGeometryData::MGeometryData | ( | const char * | dataName, | |
MGeometryData::DataType | dataType, | |||
MGeometryData::ElementType | elementType, | |||
MGeometryData::ElementSize | elementSize, | |||
unsigned int | elementCount, | |||
void * | dataPtr = NULL , |
|||
bool | ownsData = true | |||
) |
Geometry data constructor. Data is reference counted. On creation the reference count is set to be 1.
[in] | dataName | name of the data |
[in] | dataType | type of data |
[in] | elementType | element type |
[in] | elementCount | element count |
[in] | dataPtr | pointer to contiguous block of data |
[in] | ownsData | flag to tell if the instance owns the data or not. |
MGeometryData::MGeometryData | ( | const MGeometryData & | other | ) |
Copy constructor.
MGeometryData::~MGeometryData | ( | ) |
Class destructor. Automatically releases the associated image array.
const char * MGeometryData::objectName | ( | ) | const |
Return the logical name of the geometry
int MGeometryData::uniqueID | ( | ) | const |
Return the per session unique identifier
MGeometryData::DataType MGeometryData::dataType | ( | ) | const |
Get the data type for the data.
MGeometryData::ElementType MGeometryData::elementType | ( | ) | const |
unsigned int MGeometryData::elementTypeSize | ( | ) | const |
Return the element type size
MGeometryData::ElementSize MGeometryData::elementSize | ( | ) | const |
unsigned int MGeometryData::elementCount | ( | ) | const |
Return element count.
void * MGeometryData::data | ( | ) | const |
Retrieve a pointer to the internal data
void MGeometryData::setCollectionNumber | ( | int | collectionNumber | ) |
Set the collection number for the object. Numbers less than 0 are invalid collection numbers.
[in] | collectionNumber | The number to use |
int MGeometryData::collectionNumber | ( | ) | const |
Get the collection number of the data. Collection numbers are zero-based.
void MGeometryData::setObjectOwnsData | ( | bool | value | ) |
Set ownship of the interal data.
[in] | value | ownership flag to set to. |
bool MGeometryData::objectOwnsData | ( | ) | const |
Return if the MGeometryData object owns the internal data or not.
Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. | Generated with 1.5.6 |