FBX C++ API Reference
|
#include <fbxlayer.h>
FbxLayerElementArray is the base class for FbxLayerElementArrayTemplate, it provides lock handling and data array manipulation of the data buffer for FbxLayerElement.
Definition at line 332 of file fbxlayer.h.
Public Types | |
enum | ELockMode { eReadLock = 1, eWriteLock = 2, eReadWriteLock = 3 } |
Identifies the access mode to the data buffer. More... | |
Public Member Functions | |
bool | IsInUse () const |
Returns whether this Array is accessed in any way. More... | |
int | ReadLock () const |
Increments the number of read locks on this array. More... | |
int | ReadUnlock () const |
Releases a read lock on this array. More... | |
bool | WriteLock () const |
Locks this array for writing. More... | |
void | WriteUnlock () const |
Releases the write lock on this array. More... | |
bool | ReadWriteLock () const |
Locks this array for writing. More... | |
void | ReadWriteUnlock () const |
Releases the write lock on this array. More... | |
virtual void * | GetLocked (ELockMode pLockMode, EFbxType pDataType) |
Grants a locked access to the data buffer. More... | |
void * | GetLocked (ELockMode pLockMode=eReadWriteLock) |
Grants a locked access to the data buffer. More... | |
template<class T > | |
T * | GetLocked (T *, ELockMode pLockMode=eReadWriteLock) |
Grants a locked access to the data buffer. More... | |
virtual void | Release (void **pDataPtr, EFbxType pDataType) |
Unlock the data buffer. More... | |
void | Release (void **pDataPtr) |
Unlock the data buffer. More... | |
template<class T > | |
void | Release (T **pDataPtr, T *dummy) |
Unlock the data buffer. More... | |
virtual size_t | GetStride () const |
Returns the Stride size which equals the size of the data type of the data buffer. More... | |
Protected Member Functions | |
void * | GetDataPtr () |
void * | GetReference (int pIndex, EFbxType pValueType) |
void | GetReferenceTo (int pIndex, void **pRef, EFbxType pValueType) |
void | SetStatus (LockAccessStatus::ELockAccessStatus pVal) const |
void | SetImplementation (void *pImplementation) |
void * | GetImplementation () |
virtual void | ConvertDataType (EFbxType pDataType, void **pDataPtr, size_t *pStride) |
Protected Attributes | |
EFbxType | mDataType |
Constructor and Destructor | |
FbxLayerElementArray (EFbxType pDataType) | |
Constructor. More... | |
virtual | ~FbxLayerElementArray () |
Destructor. More... | |
Status handling | |
void | ClearStatus () |
Clears the access state and sets it to eSuccess. More... | |
LockAccessStatus::ELockAccessStatus | GetStatus () const |
Retrieves the access state. More... | |
Locks handling | |
bool | IsWriteLocked () const |
Returns whether write is locked. More... | |
int | GetReadLockCount () const |
Retrieves the read lock count. More... | |
Data array manipulation | |
int | GetCount () const |
Returns the count of items in the data buffer. More... | |
void | SetCount (int pCount) |
Sets the count of items in the data buffer. More... | |
void | Clear () |
Clears the data buffer. More... | |
void | Resize (int pItemCount) |
Resizes the data buffer. More... | |
void | AddMultiple (int pItemCount) |
Appends space to the data buffer. More... | |
int | Add (const void *pItem, EFbxType pValueType) |
Appends a new item to the end of the data buffer. More... | |
int | InsertAt (int pIndex, const void *pItem, EFbxType pValueType) |
Inserts a new item at the specified position of the data buffer. More... | |
void | SetAt (int pIndex, const void *pItem, EFbxType pValueType) |
Sets the value for the specified item. More... | |
void | SetLast (const void *pItem, EFbxType pValueType) |
Sets the value of the last item. More... | |
void | RemoveAt (int pIndex, void **pItem, EFbxType pValueType) |
Removes the specified item from the data buffer. More... | |
void | RemoveLast (void **pItem, EFbxType pValueType) |
Removes the last item from the data buffer. More... | |
bool | RemoveIt (void **pItem, EFbxType pValueType) |
Removes one item from the data buffer. More... | |
bool | GetAt (int pIndex, void **pItem, EFbxType pValueType) const |
Returns the specified item's value. More... | |
bool | GetFirst (void **pItem, EFbxType pValueType) const |
Returns the first item's value. More... | |
bool | GetLast (void **pItem, EFbxType pValueType) const |
Returns the last item's value. More... | |
int | Find (const void *pItem, EFbxType pValueType) const |
Searches for an item in the data buffer. More... | |
int | FindAfter (int pAfterIndex, const void *pItem, EFbxType pValueType) const |
Searches for an item after the specified index in the data buffer. More... | |
int | FindBefore (int pBeforeIndex, const void *pItem, EFbxType pValueType) const |
Searches for an item before the specified index in the data buffer. More... | |
bool | IsEqual (const FbxLayerElementArray &pArray) const |
Equivalence operator. More... | |
template<class T > | |
int | Add (T const &pItem) |
Appends a new item to the end of the data buffer. More... | |
template<class T > | |
int | InsertAt (int pIndex, T const &pItem) |
Inserts a new item at the specified position of the data buffer. More... | |
template<class T > | |
void | SetAt (int pIndex, T const &pItem) |
Sets the value of the specified item. More... | |
template<class T > | |
void | SetLast (T const &pItem) |
Sets the value of the last item. More... | |
template<class T > | |
void | RemoveAt (int pIndex, T *pItem) |
Removes the specified item from the data buffer. More... | |
template<class T > | |
void | RemoveLast (T *pItem) |
Removes the last item from the data buffer. More... | |
template<class T > | |
bool | RemoveIt (T *pItem) |
Removes one item from the data buffer. More... | |
template<class T > | |
bool | GetAt (int pIndex, T *pItem) const |
Returns the specified item's value. More... | |
template<class T > | |
bool | GetFirst (T *pItem) const |
Returns the first item's value. More... | |
template<class T > | |
bool | GetLast (T *pItem) const |
Returns the last item's value. More... | |
template<class T > | |
int | Find (T const &pItem) const |
Searches for an item in the data buffer. More... | |
template<class T > | |
int | FindAfter (int pAfterIndex, T const &pItem) const |
Searches for an item after the specified index in the data buffer. More... | |
template<class T > | |
int | FindBefore (int pBeforeIndex, T const &pItem) const |
Searches for one item before the specified index in the data buffer. More... | |
template<typename T > | |
void | CopyTo (FbxArray< T > &pDst) |
Copies the items in the data buffer to an array. More... | |
enum ELockMode |
Identifies the access mode to the data buffer.
Enumerator | |
---|---|
eReadLock | |
eWriteLock | |
eReadWriteLock |
Definition at line 419 of file fbxlayer.h.
FbxLayerElementArray | ( | EFbxType | pDataType | ) |
Constructor.
pDataType | The data type of the items in the data array. |
|
virtual |
Destructor.
|
inline |
Clears the access state and sets it to eSuccess.
Definition at line 356 of file fbxlayer.h.
|
inline |
|
inline |
Returns whether write is locked.
True
if write is locked, false
otherwise. Definition at line 370 of file fbxlayer.h.
|
inline |
Retrieves the read lock count.
Definition at line 375 of file fbxlayer.h.
bool IsInUse | ( | ) | const |
Returns whether this Array is accessed in any way.
True
if it is in use, false
otherwise. int ReadLock | ( | ) | const |
Increments the number of read locks on this array.
int ReadUnlock | ( | ) | const |
Releases a read lock on this array.
bool WriteLock | ( | ) | const |
Locks this array for writing.
The data in the array is wiped out.
True
if a write lock has been successfully granted, false
if one or more read locks are active. void WriteUnlock | ( | ) | const |
Releases the write lock on this array.
bool ReadWriteLock | ( | ) | const |
Locks this array for writing.
The data that already exists in the array is kept and is valid.
True
if a write lock has been successfully granted, false
if one or more read locks are active. void ReadWriteUnlock | ( | ) | const |
Releases the write lock on this array.
Grants a locked access to the data buffer.
pLockMode | Access mode to the data buffer. |
pDataType | If defined, tries to return the data as this type. |
|
inline |
Grants a locked access to the data buffer.
pLockMode | Access mode to the data buffer. |
Definition at line 451 of file fbxlayer.h.
|
inline |
Grants a locked access to the data buffer.
pLockMode | Access mode to the data buffer. |
Definition at line 464 of file fbxlayer.h.
|
virtual |
Unlock the data buffer.
pDataPtr | The buffer to be released. |
pDataType | The data type of the data buffer. |
|
inline |
Unlock the data buffer.
pDataPtr | The buffer to be released. |
Definition at line 487 of file fbxlayer.h.
|
inline |
Unlock the data buffer.
pDataPtr | The buffer to be released. |
dummy | The data type of dummy is used to specialize this function. |
Definition at line 499 of file fbxlayer.h.
|
virtual |
Returns the Stride size which equals the size of the data type of the data buffer.
int GetCount | ( | ) | const |
Returns the count of items in the data buffer.
void SetCount | ( | int | pCount | ) |
Sets the count of items in the data buffer.
pCount | The count of items to be set. |
void Clear | ( | ) |
Clears the data buffer.
void Resize | ( | int | pItemCount | ) |
Resizes the data buffer.
pItemCount | The new size of the data buffer. |
void AddMultiple | ( | int | pItemCount | ) |
Appends space to the data buffer.
pItemCount | The appended space size |
int Add | ( | const void * | pItem, |
EFbxType | pValueType | ||
) |
Appends a new item to the end of the data buffer.
pItem | Pointer of the new item to be added |
pValueType | Data type of the new item |
int InsertAt | ( | int | pIndex, |
const void * | pItem, | ||
EFbxType | pValueType | ||
) |
Inserts a new item at the specified position of the data buffer.
pIndex | The specified position |
pItem | Pointer of the new item to be inserted |
pValueType | Data type of the new item |
void SetAt | ( | int | pIndex, |
const void * | pItem, | ||
EFbxType | pValueType | ||
) |
Sets the value for the specified item.
pIndex | The index of the item to be updated. |
pItem | Pointer of the item whose value is copied to pIndex'th item |
pValueType | Data type of the item |
void SetLast | ( | const void * | pItem, |
EFbxType | pValueType | ||
) |
Sets the value of the last item.
pItem | Pointer of the item whose value is copied to the last item |
pValueType | Data type of the item |
void RemoveAt | ( | int | pIndex, |
void ** | pItem, | ||
EFbxType | pValueType | ||
) |
Removes the specified item from the data buffer.
pIndex | The index of the item to be removed |
pItem | Place to hold the value of the removed item. |
pValueType | Data type of the item |
void RemoveLast | ( | void ** | pItem, |
EFbxType | pValueType | ||
) |
Removes the last item from the data buffer.
pItem | Place to hold the value of the removed item. |
pValueType | Data type of the item |
bool RemoveIt | ( | void ** | pItem, |
EFbxType | pValueType | ||
) |
Removes one item from the data buffer.
pItem | The first item who equals pItem is to be removed |
pValueType | Data type of the item |
True
if the item is removed successfully, false
otherwise bool GetAt | ( | int | pIndex, |
void ** | pItem, | ||
EFbxType | pValueType | ||
) | const |
Returns the specified item's value.
pIndex | Index of the item |
pItem | Place to hold the item's value |
pValueType | Data type of the item |
True
if the item's value is returned successfully, false
otherwise bool GetFirst | ( | void ** | pItem, |
EFbxType | pValueType | ||
) | const |
Returns the first item's value.
pItem | Place to hold the item's value |
pValueType | Data type of the item |
True
if the item's value is returned successfully, false
otherwise bool GetLast | ( | void ** | pItem, |
EFbxType | pValueType | ||
) | const |
Returns the last item's value.
pItem | Place to hold the item's value |
pValueType | Data type of the item |
True
if the item's value is returned successfully, false
otherwise int Find | ( | const void * | pItem, |
EFbxType | pValueType | ||
) | const |
Searches for an item in the data buffer.
pItem | The value of the item for which to search. |
pValueType | Data type of the item |
int FindAfter | ( | int | pAfterIndex, |
const void * | pItem, | ||
EFbxType | pValueType | ||
) | const |
Searches for an item after the specified index in the data buffer.
pAfterIndex | The specified index after which the searching begins |
pItem | The value of the item for which to search, the searching begins after pAfterIndex. |
pValueType | Data type of the item |
int FindBefore | ( | int | pBeforeIndex, |
const void * | pItem, | ||
EFbxType | pValueType | ||
) | const |
Searches for an item before the specified index in the data buffer.
pBeforeIndex | The specified index before which the searching begins |
pItem | The value of the item for which to search, the searching begins before pBeforeIndex. |
pValueType | The item's data type. |
bool IsEqual | ( | const FbxLayerElementArray & | pArray | ) | const |
Equivalence operator.
pArray | Array compared to this one |
True
if equal. false
otherwise.
|
inline |
Appends a new item to the end of the data buffer.
pItem | The new item to be added |
Definition at line 647 of file fbxlayer.h.
|
inline |
Inserts a new item at the specified position of the data buffer.
pIndex | The specified position |
pItem | The new item to be inserted |
Definition at line 655 of file fbxlayer.h.
|
inline |
Sets the value of the specified item.
pIndex | The index of the item to be updated. |
pItem | The item whose value is copied to pIndex'th item |
Definition at line 662 of file fbxlayer.h.
|
inline |
Sets the value of the last item.
pItem | The item whose value is copied to the last item |
Definition at line 668 of file fbxlayer.h.
|
inline |
Removes the specified item from the data buffer.
pIndex | The index of the item to be removed |
pItem | Place to hold the value of the removed item. |
Definition at line 675 of file fbxlayer.h.
|
inline |
Removes the last item from the data buffer.
pItem | Place to hold the value of the removed item. |
Definition at line 685 of file fbxlayer.h.
|
inline |
Removes one item from the data buffer.
pItem | The first item who equals pItem is to be removed |
True
if the item is removed successfully, false
otherwise Definition at line 695 of file fbxlayer.h.
|
inline |
Returns the specified item's value.
pIndex | Index of the item |
pItem | Place to hold the item's value |
True
if the item's value is returned successfully, false
otherwise Definition at line 707 of file fbxlayer.h.
|
inline |
Returns the first item's value.
pItem | Place to hold the item's value |
True
if the item's value is returned successfully, false
otherwise Definition at line 717 of file fbxlayer.h.
|
inline |
Returns the last item's value.
pItem | Place to hold the item's value |
True
if the item's value is returned successfully, false
otherwise Definition at line 727 of file fbxlayer.h.
|
inline |
Searches for an item in the data buffer.
pItem | The value of the item for which to search. |
Definition at line 738 of file fbxlayer.h.
|
inline |
Searches for an item after the specified index in the data buffer.
pAfterIndex | The specified index after which the searching begins |
pItem | The value of the item for which to search, the searching begins after pAfterIndex. |
Definition at line 746 of file fbxlayer.h.
|
inline |
Searches for one item before the specified index in the data buffer.
pBeforeIndex | The specified index before which the searching begins |
pItem | The value of the item for which to search, the searching begins before pBeforeIndex. |
Definition at line 754 of file fbxlayer.h.
|
inline |
Copies the items in the data buffer to an array.
pDst | The destination array where the items are to be copied. |
Definition at line 760 of file fbxlayer.h.
|
protected |
|
protected |
|
protected |
|
inlineprotected |
Definition at line 789 of file fbxlayer.h.
|
protected |
|
inlineprotected |
Definition at line 795 of file fbxlayer.h.
|
protectedvirtual |
|
protected |
Definition at line 798 of file fbxlayer.h.