FBX C++ API Reference
FbxPropertyPage Class Reference

#include <fbxpropertypage.h>

Public Types

enum  EValueIndex {
  eValueMin, eValueSoftMin, eValueMax, eValueSoftMax,
  eValueCount
}
 

Public Member Functions

void Destroy ()
 
template<class T >
T * GetPropertyItem (const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
 
template<class T >
T * ChangePropertyItemState (const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
 
template<class T >
FbxPropertyPageGetFirstPropertyItem (FbxInt pId, const T *pItem) const
 
const char * GetName (FbxInt pId=0)
 
const char * GetLabel (FbxInt pId=0)
 
bool SetLabel (FbxInt pId=0, const char *pLabel="")
 
void * GetUserData (FbxInt pId=0)
 
bool SetUserData (FbxInt pId=0, const void *pUserData=0)
 
int GetUserTag (FbxInt pId=0)
 
bool SetUserTag (FbxInt pId=0, int pUserTag=0)
 
EFbxType GetType (FbxInt pId=0) const
 
FbxInt GetParent (FbxInt pId=0) const
 
FbxPropertyPageGetTypeInfo (FbxInt pId=0)
 
FbxInt Add (FbxInt pParentId, const char *pName, EFbxType pType)
 
FbxInt Add (FbxInt pParentId, const char *pName, FbxPropertyPage *pTypeInfo)
 
bool Reparent (FbxInt, FbxInt)
 
bool IsChildOf (FbxInt pId, FbxInt pParentId) const
 
bool IsDescendentOf (FbxInt pId, FbxInt pAncestorId) const
 
FbxInt GetChild (FbxInt pParentId=0) const
 Retrieves the first child property id of a specified property id. More...
 
FbxInt GetSibling (FbxInt pId) const
 Retrieves the next sibling property id of a specified property id. More...
 
FbxInt GetFirstDescendent (FbxInt pAnscestorId=0) const
 Retrieves the first descendent property id of a specified property id. More...
 
FbxInt GetNextDescendent (FbxInt pAnscestorId, FbxInt pId) const
 Retrieves the next descendent property id of a specified property id, with given a descendent property id. More...
 
FbxInt FastFind (FbxInt pId, const char *pName, FbxPropertyPage *pTypeInfo, bool pCaseSensitive)
 
FbxInt Find (FbxInt pId, const char *pName, FbxPropertyPage *pTypeInfo, bool pCaseSensitive, const char *pChildrenSeparators)
 
int AddEnumValue (FbxInt pId, const char *pStringValue)
 
void InsertEnumValue (FbxInt pId, int pIndex, const char *pStringValue)
 
int GetEnumCount (FbxInt pId)
 
void SetEnumValue (FbxInt pId, int pIndex, const char *pStringValue)
 
void RemoveEnumValue (FbxInt pId, int pIndex)
 
char * GetEnumValue (FbxInt pId, int pIndex)
 
void ClearConnectCache (FbxInt pId)
 
void WipeAllConnections (FbxInt pId)
 
bool ConnectSrc (FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId, FbxConnection::EType pType)
 
bool DisconnectSrc (FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId)
 
bool IsConnectedSrc (FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId)
 
int GetSrcCount (FbxInt pId, FbxConnectionPointFilter *pFilter)
 
bool GetSrc (FbxInt pId, int pIndex, FbxConnectionPointFilter *pFilter, FbxPropertyPage **pSrcPage, FbxInt *pSrcId)
 
bool ConnectDst (FbxInt pSrcId, FbxPropertyPage *pDstPage, FbxInt pDstId, FbxConnection::EType pType)
 
bool DisconnectDst (FbxInt pSrcId, FbxPropertyPage *pDstPage, FbxInt pDstId)
 
bool IsConnectedDst (FbxInt pSrcId, FbxPropertyPage *pDstPage, FbxInt pDstId)
 
int GetDstCount (FbxInt pId, FbxConnectionPointFilter *pFilter)
 
bool GetDst (FbxInt pId, int pIndex, FbxConnectionPointFilter *pFilter, FbxPropertyPage **pDstPage, FbxInt *pDstId)
 
bool HasMinMax (FbxInt pId, FbxPropertyInfo::EValueIndex pValueId) const
 
bool GetMinMax (FbxInt pId, FbxPropertyInfo::EValueIndex pValueId, void *pValue, EFbxType pValueType)
 
bool SetMinMax (FbxInt pId, FbxPropertyInfo::EValueIndex pValueId, const void *pValue, EFbxType pValueType)
 
bool Get (FbxInt pId, void *pValue, EFbxType pValueType)
 
bool Set (FbxInt pId, const void *pValue, EFbxType pValueType, bool pCheckValueEquality)
 
FbxPropertyFlags::EInheritType GetValueInherit (FbxInt pId, bool pCheckInstanceOf) const
 
bool SetValueInherit (FbxInt pId, FbxPropertyFlags::EInheritType pType)
 
bool GetDefaultValue (FbxInt pId, void *pValue, EFbxType pValueType) const
 
template<class T >
bool Set (FbxInt pId, const T &pValue)
 
template<class T >
Get (FbxInt pId, const T *pFBX_TYPE)
 
void SetDataPtr (void *pDataPtr)
 
void * GetDataPtr () const
 
void PushPropertiesToParentInstance ()
 
const FbxPropertyPageGetInstanceOf () const
 
FbxPropertyPageGetInstanceOf ()
 
const FbxSet< FbxPropertyPage * > & GetInstances () const
 
FbxPropertyFlags::EFlags GetFlags (FbxInt pId=0) const
 
bool ModifyFlags (FbxInt pId=0, FbxPropertyFlags::EFlags pFlags=FbxPropertyFlags::eNone, bool pValue=true, bool pCheckFlagEquality=true)
 
FbxPropertyFlags::EInheritType GetFlagsInheritType (FbxPropertyFlags::EFlags pFlags, bool pCheckInstanceOf, FbxInt pId=0) const
 
bool SetFlagsInheritType (FbxPropertyFlags::EInheritType pInheritType, FbxPropertyFlags::EFlags pFlags, FbxInt pId=0)
 
void BeginCreateOrFindProperty ()
 
void EndCreateOrFindProperty ()
 

Static Public Member Functions

static FbxPropertyPageCreate (FbxPropertyPage *pInstanceOf=0)
 
static FbxPropertyPageCreate (const char *pName, FbxPropertyPage *pTypeInfo)
 
static FbxPropertyPageCreate (const char *pName, EFbxType pType=eFbxUndefined)
 

Protected Member Functions

 FbxPropertyPage (FbxPropertyPage *pInstanceOf=0)
 
 FbxPropertyPage (const char *pName, EFbxType pType)
 
 FbxPropertyPage (const char *pName, FbxPropertyPage *pTypeInfo)
 
 ~FbxPropertyPage ()
 
bool Is (FbxPropertyPage *pPage)
 

Friends

class FbxPropertyHandle
 
template<typename T >
T * fbxsdk::FbxNew ()
 
template<typename T , typename T1 >
T * fbxsdk::FbxNew (T1 &p1)
 
template<typename T , typename T1 >
T * fbxsdk::FbxNew (const T1 &p1)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T * fbxsdk::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8, const T9 &p9)
 
template<typename T >
void fbxsdk::FbxDelete (T *p)
 
template<typename T >
void fbxsdk::FbxDelete (const T *p)
 
template<typename T >
T * fbxsdk::FbxNewArray (const int n)
 
template<typename T >
void fbxsdk::FbxDeleteArray (T *p)
 

Detailed Description

Definition at line 433 of file fbxpropertypage.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

FbxPropertyPage ( FbxPropertyPage pInstanceOf = 0)
inlineprotected

Definition at line 1468 of file fbxpropertypage.h.

1469  : mInstanceOf(0)
1470  , mDataPtr(0)
1471  , mPropNextId(0)
1472  {
1473  mEntryMap.Reserve(32);
1474  mNameMap.mFirst = 0;
1475 
1476  // instances don't need to create a root property
1477  if( !pInstanceOf )
1478  {
1479  mPropNextId = FbxNew< FbxPropertyIdGenerator >();
1480  mPropNextId->IncRef();
1481 
1482  // First item is the root information
1484  }
1485 
1486  // Hook the instances
1487  // ------------------------
1488  mInstanceOf = pInstanceOf;
1489  if (mInstanceOf) {
1490  mInstanceOf->mInstances.Insert(this);
1491 
1492  mPropNextId = mInstanceOf->mPropNextId;
1493  mPropNextId->IncRef();
1494  }
1495  }
FbxInt Add(FbxInt pParentId, const char *pName, EFbxType pType)
#define FBXSDK_PROPERTY_ID_NULL
FbxPair< RecordType *, bool > Insert(const ValueType &pValue)
Insert a value.
Definition: fbxset.h:81
Unidentified.
void Reserve(unsigned int pRecordCount)
Preallocate memory.
Definition: fbxmap.h:104
First mFirst
The first object in the pair.
Definition: fbxpair.h:56
FbxPropertyPage ( const char *  pName,
EFbxType  pType 
)
inlineprotected

Definition at line 1496 of file fbxpropertypage.h.

1497  : mInstanceOf(0)
1498  , mDataPtr(0)
1499  , mPropNextId(0)
1500  {
1501  mEntryMap.Reserve(32);
1502  mNameMap.mFirst = 0;
1503 
1504  mPropNextId = FbxNew< FbxPropertyIdGenerator >();
1505  mPropNextId->IncRef();
1506 
1507  // First item is the root information
1508  Add(FBXSDK_PROPERTY_ID_NULL,pName,pType);
1509  }
FbxInt Add(FbxInt pParentId, const char *pName, EFbxType pType)
#define FBXSDK_PROPERTY_ID_NULL
void Reserve(unsigned int pRecordCount)
Preallocate memory.
Definition: fbxmap.h:104
First mFirst
The first object in the pair.
Definition: fbxpair.h:56
FbxPropertyPage ( const char *  pName,
FbxPropertyPage pTypeInfo 
)
inlineprotected

Definition at line 1510 of file fbxpropertypage.h.

1511  : mInstanceOf(0)
1512  , mDataPtr(0)
1513  , mPropNextId(0)
1514  {
1515  mEntryMap.Reserve(32);
1516  mNameMap.mFirst = 0;
1517 
1518  mPropNextId = FbxNew< FbxPropertyIdGenerator >();
1519  mPropNextId->IncRef();
1520 
1521  // First item is the root information
1522  Add(FBXSDK_PROPERTY_ID_NULL,pName,pTypeInfo);
1523  }
FbxInt Add(FbxInt pParentId, const char *pName, EFbxType pType)
#define FBXSDK_PROPERTY_ID_NULL
void Reserve(unsigned int pRecordCount)
Preallocate memory.
Definition: fbxmap.h:104
First mFirst
The first object in the pair.
Definition: fbxpair.h:56
~FbxPropertyPage ( )
inlineprotected

Definition at line 1524 of file fbxpropertypage.h.

1525  {
1526  // Propagate our property entries.
1527  for (FbxSet<FbxPropertyPage*>::Iterator iter = mInstances.Begin(); iter != mInstances.End(); ++iter)
1528  {
1529  FbxPropertyPage* lPage = iter->GetValue();
1530  for (int j = 0; j < GetPropertyEntryCount(); ++j)
1531  {
1532  if (lPage->ChangePropertyEntryState((FbxInt)j, FbxPropertyFlags::eOverride))
1533  {
1534  // Clone the info and values. Don't clone the connections,
1535  // since they aren't propagated.
1538 
1539  // Since all entries have their own flags, just override the ones in the instance.
1541  }
1542  }
1543 
1544  // Instances become their own copies.
1545  lPage->mInstanceOf = NULL;
1546  }
1547 
1548  FbxMapDestroy(mEntryMap);
1549 
1550  if (mInstanceOf)
1551  {
1552  mInstanceOf->mInstances.Remove(this);
1553  }
1554 
1555  mPropNextId->DecRef();
1556  mPropNextId = NULL;
1557 
1558  mInstanceOf = NULL;
1559  mInstances.Clear();
1560  }
Iterator Begin()
Retrieve the begin iterator of the set.
Definition: fbxset.h:107
void FbxMapDestroy(FbxMap< K, V, C, A > &pMap)
Call Destroy on each element of the map, and then clear it.
Definition: fbxmap.h:394
#define NULL
Definition: fbxarch.h:213
Property override this flag from its reference property.
void Clear()
Clear the set.
Definition: fbxset.h:95
int Remove(const ValueType &pValue)
Delete a value.
Definition: fbxset.h:89
bool SetFlagsInheritType(FbxPropertyFlags::EInheritType pInheritType, FbxPropertyFlags::EFlags pFlags, FbxInt pId=0)
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
This class implements an efficient set based on value comparison, which stores values.
Definition: fbxset.h:25
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
signed int FbxInt
Definition: fbxtypes.h:39
Iterator End()
Retrieve the end iterator of the set.
Definition: fbxset.h:113

Member Function Documentation

static FbxPropertyPage* Create ( FbxPropertyPage pInstanceOf = 0)
inlinestatic

Definition at line 438 of file fbxpropertypage.h.

438 { return FbxNew< FbxPropertyPage >(pInstanceOf); }
static FbxPropertyPage* Create ( const char *  pName,
FbxPropertyPage pTypeInfo 
)
inlinestatic

Definition at line 439 of file fbxpropertypage.h.

439 { return FbxNew< FbxPropertyPage >(pName,pTypeInfo); }
static FbxPropertyPage* Create ( const char *  pName,
EFbxType  pType = eFbxUndefined 
)
inlinestatic

Definition at line 440 of file fbxpropertypage.h.

440 { return FbxNew< FbxPropertyPage >(pName,pType); }
void Destroy ( )
inline

Definition at line 441 of file fbxpropertypage.h.

441 { FbxDelete(this); }
void FbxDelete(T *p)
Deletion policy for pointer template classes that uses the FbxDelete() function.
Definition: fbxnew.h:341
T* GetPropertyItem ( const T *  pItemType,
FbxInt  pIndex,
FbxPropertyPage **  pFoundIn = 0 
) const
inline

Definition at line 443 of file fbxpropertypage.h.

444  {
445  FbxPropertyPage* lReferencePage = 0;
446  FbxPropertyEntry* lReferenceEntry = GetPropertyEntry(pIndex,&lReferencePage);
447  if (pFoundIn) *pFoundIn = 0;
448  if (lReferenceEntry) {
449  T* lItem = lReferenceEntry->Get( FBX_TYPE(T) );
450  if (lItem) {
451  if (pFoundIn) *pFoundIn = lReferencePage;
452  return lItem;
453  } else {
454  return lReferencePage->mInstanceOf ? lReferencePage->mInstanceOf->GetPropertyItem(pItemType,pIndex,pFoundIn) : 0 ;
455  }
456  }
457  return 0;
458  }
FbxPropertyInfo * Get(const FbxPropertyInfo *)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
T* ChangePropertyItemState ( const T *  pItemType,
FbxInt  pIndex,
FbxPropertyFlags::EInheritType  pInheritType 
)
inline

Definition at line 460 of file fbxpropertypage.h.

461  {
462  FbxPropertyPage* lReferencePage = NULL;
463  T* lItem = GetPropertyItem(pItemType, pIndex, &lReferencePage);
464  if( pInheritType == FbxPropertyFlags::eOverride )
465  {
466  if( lReferencePage == this )
467  {
468  return lItem;
469  }
470  else if( lItem )
471  {
472  FbxPropertyEntry* lEntry = ChangePropertyEntryState(pIndex, FbxPropertyFlags::eOverride);
473  lEntry->Set(lItem->Clone(this));
474  return lEntry->Get(FBX_TYPE(T));
475  }
476  }
477  else
478  {
479  // can't inherit entries that were created on our page.
480  bool lOwnEntry = !mInstanceOf || (mInstanceOf->GetPropertyItem(pItemType, pIndex) == NULL);
481  if( lOwnEntry && FbxPropertyFlags::eInherit == pInheritType) return 0;
482 
483  if( lItem && (lReferencePage == this) )
484  {
485  FbxPropertyEntry* lEntry = GetPropertyEntry(pIndex);
486  lEntry->Set((T*)0);
487  if( lEntry->IsEmpty() )
488  {
489  ChangePropertyEntryState(pIndex, FbxPropertyFlags::eInherit);
490  }
491  }
492  return 0;
493  }
494  return 0;
495  }
FbxPropertyInfo * Get(const FbxPropertyInfo *)
#define NULL
Definition: fbxarch.h:213
void Set(FbxPropertyInfo *pInfo)
Property override this flag from its reference property.
Property inherit this flag from its reference property.
bool IsEmpty()
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyPage* GetFirstPropertyItem ( FbxInt  pId,
const T *  pItem 
) const
inline

Definition at line 497 of file fbxpropertypage.h.

498  {
499  FbxPropertyPage* lReferencePage = NULL;
500  GetPropertyItem(FBX_TYPE(T), pId, &lReferencePage);
501  if( lReferencePage && lReferencePage->mInstanceOf )
502  {
503  FbxPropertyPage* lReferencePage2 = lReferencePage->mInstanceOf->GetFirstPropertyItem(pId, pItem);
504  return lReferencePage2 ? lReferencePage2 : lReferencePage;
505  }
506  return lReferencePage;
507  }
#define NULL
Definition: fbxarch.h:213
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyPage * GetFirstPropertyItem(FbxInt pId, const T *pItem) const
const char* GetName ( FbxInt  pId = 0)
inline

Definition at line 509 of file fbxpropertypage.h.

510  {
511  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
512  return lPropertyInfo ? ((const char*)lPropertyInfo->GetName()) : "";
513  }
FbxStringSymbol GetName() const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
const char* GetLabel ( FbxInt  pId = 0)
inline

Definition at line 515 of file fbxpropertypage.h.

516  {
517  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
518  return lPropertyInfo ? ((const char*)lPropertyInfo->GetLabel()) : "";
519  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
const char * GetLabel() const
bool SetLabel ( FbxInt  pId = 0,
const char *  pLabel = "" 
)
inline

Definition at line 521 of file fbxpropertypage.h.

522  {
523  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
524  // Don't make it writeable (Keep it shared)
525  if (lPropertyInfo) {
526  lPropertyInfo->SetLabel(pLabel);
527  return true;
528  } else {
529  return false;
530  }
531  }
void SetLabel(const char *pLabel)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void* GetUserData ( FbxInt  pId = 0)
inline

Definition at line 533 of file fbxpropertypage.h.

534  {
535  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
536  return lPropertyInfo ? lPropertyInfo->GetUserData() : 0;
537  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void * GetUserData() const
bool SetUserData ( FbxInt  pId = 0,
const void *  pUserData = 0 
)
inline

Definition at line 539 of file fbxpropertypage.h.

540  {
541  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
542  // Don't make it writeable (Keep it shared)
543  if (lPropertyInfo) {
544  lPropertyInfo->SetUserData(pUserData);
545  return true;
546  } else {
547  return false;
548  }
549  }
void SetUserData(const void *pUserData)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
int GetUserTag ( FbxInt  pId = 0)
inline

Definition at line 551 of file fbxpropertypage.h.

552  {
553  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
554  return lPropertyInfo ? lPropertyInfo->GetUserTag() : 0;
555  }
int GetUserTag() const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool SetUserTag ( FbxInt  pId = 0,
int  pUserTag = 0 
)
inline

Definition at line 557 of file fbxpropertypage.h.

558  {
559  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
560  // Don't make it writeable (Keep it shared)
561  if (lPropertyInfo) {
562  lPropertyInfo->SetUserTag(pUserTag);
563  return true;
564  } else {
565  return false;
566  }
567  }
void SetUserTag(int pUserTag)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
EFbxType GetType ( FbxInt  pId = 0) const
inline

Definition at line 569 of file fbxpropertypage.h.

570  {
571  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
572  return lPropertyInfo ? lPropertyInfo->GetType() : eFbxUndefined;
573  }
Unidentified.
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
EFbxType GetType() const
FbxInt GetParent ( FbxInt  pId = 0) const
inline

Definition at line 575 of file fbxpropertypage.h.

576  {
577  FbxPropertyEntry* lPropertyEntry = GetPropertyEntry( pId );
578  return lPropertyEntry ? lPropertyEntry->GetParentId() : FBXSDK_PROPERTY_ID_NULL;
579  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParentId()
FbxPropertyPage* GetTypeInfo ( FbxInt  pId = 0)
inline

Definition at line 581 of file fbxpropertypage.h.

582  {
583  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
584  return lPropertyInfo ? lPropertyInfo->GetTypeInfo() : 0;
585  }
FbxPropertyPage * GetTypeInfo() const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxInt Add ( FbxInt  pParentId,
const char *  pName,
EFbxType  pType 
)
inline

Definition at line 586 of file fbxpropertypage.h.

587  {
588  return Add(pParentId,FbxPropertyInfo::Create(pName,pType),FbxPropertyValue::Create(0,pType),0);
589  }
FbxInt Add(FbxInt pParentId, const char *pName, EFbxType pType)
static FbxPropertyInfo * Create(const char *pName, FbxPropertyPage *pTypeInfo)
static FbxPropertyValue * Create(void *pData, EFbxType pType)
FbxInt Add ( FbxInt  pParentId,
const char *  pName,
FbxPropertyPage pTypeInfo 
)
inline

Definition at line 590 of file fbxpropertypage.h.

591  {
592  return Add(pParentId,FbxPropertyInfo::Create(pName,pTypeInfo),FbxPropertyValue::Create(0,pTypeInfo->GetType()),0);
593  }
FbxInt Add(FbxInt pParentId, const char *pName, EFbxType pType)
static FbxPropertyInfo * Create(const char *pName, FbxPropertyPage *pTypeInfo)
EFbxType GetType(FbxInt pId=0) const
static FbxPropertyValue * Create(void *pData, EFbxType pType)
bool Reparent ( FbxInt  ,
FbxInt   
)
inline

Definition at line 595 of file fbxpropertypage.h.

596  {
597  // Not implemented.
598  /*
599  if( GetParent(pChildId) != pNewParentId && pChildId < mEntries.GetCount() )
600  {
601  FbxPropertyEntry* lChildEntry = mEntries[pChildId];
602  lChildEntry->mParentId = pNewParentId;
603 
604  //@@@@@ TODO: propagate to instances
605 
606  return true;
607  }
608  */
609  return false;
610  }
bool IsChildOf ( FbxInt  pId,
FbxInt  pParentId 
) const
inline

Definition at line 612 of file fbxpropertypage.h.

613  {
614  return GetParent(pId)==pParentId;
615 
616  }
FbxInt GetParent(FbxInt pId=0) const
bool IsDescendentOf ( FbxInt  pId,
FbxInt  pAncestorId 
) const
inline

Definition at line 618 of file fbxpropertypage.h.

619  {
620  if (pAncestorId>0) {
621  FbxInt lParentId = GetParent(pId);
622  while (lParentId != FBXSDK_PROPERTY_ID_NULL ) {
623  if (lParentId==pAncestorId) {
624  return true;
625  }
626  lParentId = GetParent(lParentId);
627  }
628  return false;
629  } else {
630  return true;
631  }
632 
633  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParent(FbxInt pId=0) const
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt GetChild ( FbxInt  pParentId = 0) const
inline

Retrieves the first child property id of a specified property id.

Parameters
pParentIdThe specified property id
Returns
the first child property id

Definition at line 641 of file fbxpropertypage.h.

642  {
643  #ifdef PROPERTY_PAGE_SANITY_CHECK
645  if (pParentId!=FBXSDK_PROPERTY_ID_NULL) {
646  FbxInt lId = GetMinimumPropertyId(pParentId);
647  FbxInt lParentId = GetParent(lId);
648  const FbxInt lLastId = GetPropertyEntryCount();
649 
650  while (lId<lLastId && lParentId!=pParentId) lParentId=GetParent(++lId);
651  ret0 = lId<lLastId ? lId : FBXSDK_PROPERTY_ID_NULL;
652  } else {
654  }
655  #endif
657  if (pParentId != FBXSDK_PROPERTY_ID_NULL)
658  {
659  FbxPropertyEntry* lEntry;
660  FbxInt lId = pParentId;
661  do
662  {
663  lId = GetMinimumPropertyIdAndEntry(lId, &lEntry);
664  } while (lId != FBXSDK_PROPERTY_ID_NULL && lEntry->GetParentId() != pParentId);
665  ret1 = lId;
666  }
667  #ifdef PROPERTY_PAGE_SANITY_CHECK
668  FBX_ASSERT(ret0==ret1);
669  #endif
670  return ret1;
671  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParent(FbxInt pId=0) const
FbxInt GetParentId()
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt GetSibling ( FbxInt  pId) const
inline

Retrieves the next sibling property id of a specified property id.

Parameters
pIdThe specified property id
Returns
the next sibling property id

Definition at line 677 of file fbxpropertypage.h.

678  {
679  #ifdef PROPERTY_PAGE_SANITY_CHECK
680  FbxInt pIdBackup = pId;
682  if (pId!=FBXSDK_PROPERTY_ID_NULL) {
683  FbxInt lReferenceParentId = GetParent(pId);
684  FbxInt lParentId = GetParent(++pId);
685  const FbxInt lLastId = GetPropertyEntryCount();
686 
687  while (pId<lLastId && lReferenceParentId!=FBXSDK_PROPERTY_ID_NULL && lParentId!=lReferenceParentId)
688  lParentId=GetParent(++pId);
689  ret0 = pId<lLastId ? pId : FBXSDK_PROPERTY_ID_NULL;
690  } else {
692  }
693  pId = pIdBackup;
694  #endif
696  if (pId != FBXSDK_PROPERTY_ID_NULL)
697  {
698  FbxInt lReferenceParentId = GetParent(pId);
699 
700  if (lReferenceParentId != FBXSDK_PROPERTY_ID_NULL)
701  {
702  FbxPropertyEntry *lEntry;
703  do
704  {
705  pId = GetMinimumPropertyIdAndEntry(pId, &lEntry);
706  } while (pId != FBXSDK_PROPERTY_ID_NULL && lEntry->GetParentId() != lReferenceParentId);
707 
708  ret1 = pId;
709  }
710  }
711 
712  #ifdef PROPERTY_PAGE_SANITY_CHECK
713  FBX_ASSERT(ret0==ret1);
714  #endif
715  return ret1;
716  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParent(FbxInt pId=0) const
FbxInt GetParentId()
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt GetFirstDescendent ( FbxInt  pAnscestorId = 0) const
inline

Retrieves the first descendent property id of a specified property id.

Parameters
pAnscestorIdThe specified property id
Returns
the first descendent property id

Definition at line 722 of file fbxpropertypage.h.

723  {
724  #ifdef PROPERTY_PAGE_SANITY_CHECK
726  if (pAnscestorId!=FBXSDK_PROPERTY_ID_NULL) {
727  FbxInt lId = GetMinimumPropertyId(pAnscestorId);
728  FbxInt lParentId = GetParent(lId);
729  const FbxInt lLastId = GetPropertyEntryCount();
730 
731  while (lId<lLastId) {
732  if( lParentId!=FBXSDK_PROPERTY_ID_NULL && IsDescendentOf(lId,pAnscestorId) )
733  {
734  ret0 = lId;
735  break;
736  }
737  lParentId = GetParent(++lId);
738  }
739  }
740  #endif
742  FbxInt lId = pAnscestorId;
743  FbxPropertyEntry* lEntry;
744  if (pAnscestorId != FBXSDK_PROPERTY_ID_NULL)
745  {
746  for(;;)
747  {
748  lId = GetMinimumPropertyIdAndEntry(lId, &lEntry);
749  if (lId == FBXSDK_PROPERTY_ID_NULL)
750  break;
751  if(lEntry->GetParentId() != FBXSDK_PROPERTY_ID_NULL && IsDescendentOf(lId, pAnscestorId))
752  {
753  ret1 = lId;
754  break;
755  }
756  }
757  }
758 
759  #ifdef PROPERTY_PAGE_SANITY_CHECK
760  FBX_ASSERT(ret0==ret1);
761  #endif
762  return ret1;
763  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParent(FbxInt pId=0) const
bool IsDescendentOf(FbxInt pId, FbxInt pAncestorId) const
FbxInt GetParentId()
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt GetNextDescendent ( FbxInt  pAnscestorId,
FbxInt  pId 
) const
inline

Retrieves the next descendent property id of a specified property id, with given a descendent property id.

Parameters
pAnscestorIdThe specified property id
pIdThe descendent property id
Returns
the next descendent property id

Definition at line 770 of file fbxpropertypage.h.

771  {
772  #ifdef PROPERTY_PAGE_SANITY_CHECK
773  FbxInt pIdBackup = pId;
775  if (pId!=FBXSDK_PROPERTY_ID_NULL) {
776  FbxInt lParentId = GetParent(++pId);
777  const FbxInt lLastId = GetPropertyEntryCount();
778 
779  while (pId<lLastId) {
780  // GetParent returns null when the given id isn't in our page,
781  // or our ancestor's page.
782  if( lParentId != FBXSDK_PROPERTY_ID_NULL && IsDescendentOf(pId, pAnscestorId) )
783  {
784  ret0 = pId;
785  break;
786  }
787 
788  lParentId = GetParent(++pId);
789  }
790  }
791 
792  pId = pIdBackup;
793  #endif
795  if (pId != FBXSDK_PROPERTY_ID_NULL)
796  {
797  FbxPropertyEntry* lEntry;
798  for(;;)
799  {
800  pId = GetMinimumPropertyIdAndEntry(pId, &lEntry);
801  if (pId == FBXSDK_PROPERTY_ID_NULL)
802  break;
803  if(lEntry->GetParentId() != FBXSDK_PROPERTY_ID_NULL && IsDescendentOf(pId, pAnscestorId) )
804  {
805  ret1 = pId;
806  break;
807  }
808  }
809 
810  }
811  #ifdef PROPERTY_PAGE_SANITY_CHECK
812  FBX_ASSERT(ret0==ret1);
813  #endif
814  return ret1;
815 
816  }
#define FBXSDK_PROPERTY_ID_NULL
FbxInt GetParent(FbxInt pId=0) const
bool IsDescendentOf(FbxInt pId, FbxInt pAncestorId) const
FbxInt GetParentId()
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt FastFind ( FbxInt  pId,
const char *  pName,
FbxPropertyPage pTypeInfo,
bool  pCaseSensitive 
)
inline

Definition at line 818 of file fbxpropertypage.h.

819  {
821 
822  bool lSlowQuery = true;
823  if( mNameMap.mSecond.GetSize() > 0 )
824  {
825  lSlowQuery = false;
826  // try to use the map if we've got it
827  NameMap::RecordType* lIterator = mNameMap.mSecond.Find( FbxNameMapKey( pId, pName ) );
828  if( !lIterator )
829  {
831  }
832  else
833  {
834  lId = lIterator->GetValue();
835  if (lId != FBXSDK_PROPERTY_ID_NULL && pTypeInfo)
836  {
837  lSlowQuery = true;
838 
839  // Try to match types.
840  // If they are mismatched, fall back to the slow query,
841  // since we might have multiple property with the same name but different types
842  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo), lId );
843  if (lPropertyInfo)
844  {
845  FbxPropertyPage* lTypeInfo2 = lPropertyInfo->GetTypeInfo();
846  if ( lTypeInfo2 && lTypeInfo2->Is(pTypeInfo) )
847  {
848  lSlowQuery = false;
849  }
850  }
851  }
852  }
853  }
854 
855  if (!lSlowQuery)
856  return lId;
857 
858  // fall back if there's no map or we got one with a different type
859 
860  lId = GetChild(pId);
861  FbxStringSymbol lSearchSymbol( pName );
862  while( lId != FBXSDK_PROPERTY_ID_NULL ) {
863  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo), lId );
864  if ( (!pTypeInfo || lPropertyInfo->GetTypeInfo()->Is(pTypeInfo)) &&
865  ((!pCaseSensitive && FBXSDK_stricmp(lPropertyInfo->GetName(),pName)==0) ||
866  (pCaseSensitive && lPropertyInfo->GetName() == lSearchSymbol)) ) {
867  return lId;
868  }
869  lId = GetSibling(lId);
870  }
871 
873  }
#define FBXSDK_PROPERTY_ID_NULL
FbxPropertyPage * GetTypeInfo() const
FbxInt GetChild(FbxInt pParentId=0) const
Retrieves the first child property id of a specified property id.
const RecordType * Find(const KeyType &pKey) const
Query a key.
Definition: fbxmap.h:171
FbxStringSymbol GetName() const
int GetSize() const
Retrieve the number of key-value pairs it holds.
Definition: fbxmap.h:110
This class is to mark a string as symbol.
Definition: fbxsymbol.h:81
FbxPair< FbxInt, const char * > FbxNameMapKey
FbxInt GetSibling(FbxInt pId) const
Retrieves the next sibling property id of a specified property id.
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
Second mSecond
The second object in the pair.
Definition: fbxpair.h:57
signed int FbxInt
Definition: fbxtypes.h:39
bool Is(FbxPropertyPage *pPage)
StorageType::RecordType RecordType
Definition: fbxmap.h:98
FbxInt Find ( FbxInt  pId,
const char *  pName,
FbxPropertyPage pTypeInfo,
bool  pCaseSensitive,
const char *  pChildrenSeparators 
)
inline

Definition at line 875 of file fbxpropertypage.h.

876  {
877  if (pChildrenSeparators)
878  {
879  FbxInt lId;
880  size_t lFoundIndex = strcspn(pName,pChildrenSeparators);
881 
882  // Strip the first part of the name and search
883  if (lFoundIndex<strlen(pName))
884  {
885  FbxString pRootName;
886  pRootName.Append(pName,lFoundIndex);
887  lId = FastFind(pId,pRootName.Buffer(),NULL,pCaseSensitive);
888  return lId != FBXSDK_PROPERTY_ID_NULL ? Find(lId,pName+lFoundIndex+1,pTypeInfo,pCaseSensitive,pChildrenSeparators) : lId;
889  } else {
890  return FastFind(pId,pName,pTypeInfo,pCaseSensitive);
891  }
892  } else {
893  return FastFind(pId,pName,pTypeInfo,pCaseSensitive);
894  }
895  }
#define FBXSDK_PROPERTY_ID_NULL
#define NULL
Definition: fbxarch.h:213
Utility class to manipulate strings.
Definition: fbxstring.h:66
char * Buffer()
Non-const buffer access.
const FbxString & Append(const char *pString, size_t pLength)
Append as "C" strncat().
FbxInt FastFind(FbxInt pId, const char *pName, FbxPropertyPage *pTypeInfo, bool pCaseSensitive)
signed int FbxInt
Definition: fbxtypes.h:39
FbxInt Find(FbxInt pId, const char *pName, FbxPropertyPage *pTypeInfo, bool pCaseSensitive, const char *pChildrenSeparators)
int AddEnumValue ( FbxInt  pId,
const char *  pStringValue 
)
inline

Definition at line 898 of file fbxpropertypage.h.

899  {
900  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
901  // Don't make it writeable (Keep it shared)
902  return lPropertyInfo ? lPropertyInfo->AddEnumValue(pStringValue) : - 1;
903  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
int AddEnumValue(const char *pStringValue)
void InsertEnumValue ( FbxInt  pId,
int  pIndex,
const char *  pStringValue 
)
inline

Definition at line 905 of file fbxpropertypage.h.

906  {
907  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
908  // Don't make it writeable (Keep it shared)
909  if (lPropertyInfo) lPropertyInfo->InsertEnumValue(pIndex,pStringValue);
910  }
void InsertEnumValue(int pIndex, const char *pStringValue)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
int GetEnumCount ( FbxInt  pId)
inline

Definition at line 912 of file fbxpropertypage.h.

913  {
914  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
915  // Don't make it writeable (Keep it shared)
916  return lPropertyInfo ? lPropertyInfo->GetEnumCount() : 0;
917  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void SetEnumValue ( FbxInt  pId,
int  pIndex,
const char *  pStringValue 
)
inline

Definition at line 919 of file fbxpropertypage.h.

920  {
921  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
922  // Don't make it writeable (Keep it shared)
923  if (lPropertyInfo) lPropertyInfo->SetEnumValue(pIndex,pStringValue);
924  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void SetEnumValue(int pIndex, const char *pStringValue)
void RemoveEnumValue ( FbxInt  pId,
int  pIndex 
)
inline

Definition at line 926 of file fbxpropertypage.h.

927  {
928  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
929  // Don't make it writeable (Keep it shared)
930  if (lPropertyInfo) lPropertyInfo->RemoveEnumValue(pIndex);
931  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void RemoveEnumValue(int pIndex)
char* GetEnumValue ( FbxInt  pId,
int  pIndex 
)
inline

Definition at line 933 of file fbxpropertypage.h.

934  {
935  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
936  return lPropertyInfo ? lPropertyInfo->GetEnumValue(pIndex) : (char*)"";
937  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
char * GetEnumValue(int pIndex)
void ClearConnectCache ( FbxInt  pId)
inline

Definition at line 941 of file fbxpropertypage.h.

942  {
943  FbxPropertyPage* lReferencePage = 0;
944  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
945 
946  // Connections are not considered propagated so
947  // make sure that we own the FbxPropertyConnect objects
948  if (lPropertyConnect) {
949  lPropertyConnect->ClearConnectCache();
950  }
951  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
void WipeAllConnections ( FbxInt  pId)
inline

Definition at line 953 of file fbxpropertypage.h.

954  {
955  FbxPropertyPage* lReferencePage = 0;
956  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
957 
958  if (lPropertyConnect) {
959  lPropertyConnect->WipeAllConnections();
960  }
961  }
void WipeAllConnections()
Clear all connect without sending any notification (Internal use ONLY)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool ConnectSrc ( FbxInt  pDstId,
FbxPropertyPage pSrcPage,
FbxInt  pSrcId,
FbxConnection::EType  pType 
)
inline

Definition at line 963 of file fbxpropertypage.h.

964  {
965  FbxPropertyEntry* lDstEntry = ChangePropertyEntryState(pDstId,FbxPropertyFlags::eOverride);
966  FbxPropertyEntry* lSrcEntry = pSrcPage->ChangePropertyEntryState(pSrcId,FbxPropertyFlags::eOverride);
967 
968  // Make sure we have a connection point on both sides of the connection.
969  //
970  // In the case lDstEntry == lSrcEntry, we don't want to create different
971  // connection points (FbxPropertyConnect) since the call to lSrcEntry->Set(...)
972  // would delete the lDstConnect and we can't test for the validity of lDstConnect
973  // because the pointer is != nullptr but its content have already been destroyed.
974  //
975  // Having lDstEntry == lSrcEntry is not a valid operation anyway and is "trapped"
976  // by the call lDstConnect->ConnectSrc(lSrcConnect, pType); so we just need to
977  // make sure we can call it!
978 
979  FbxPropertyConnect* lDstConnect= lDstEntry->Get( FBX_TYPE(FbxPropertyConnect) );
980  if (!lDstConnect) {
981  lDstConnect = FbxPropertyConnect::Create( this,pDstId );
982  lDstEntry->Set( lDstConnect );
983  }
984 
985  FbxPropertyConnect* lSrcConnect = lSrcEntry->Get(FBX_TYPE(FbxPropertyConnect));
986  if (!lSrcConnect) {
987  lSrcConnect = FbxPropertyConnect::Create( pSrcPage,pSrcId );
988  lSrcEntry->Set( lSrcConnect );
989  }
990 
991  // Must @@@@@@@ Propagate to inherited children
992  return (lDstConnect) ? lDstConnect->ConnectSrc(lSrcConnect, pType) : false;
993 
994  }
FbxPropertyInfo * Get(const FbxPropertyInfo *)
void Set(FbxPropertyInfo *pInfo)
Property override this flag from its reference property.
static FbxPropertyConnect * Create(FbxPropertyPage *pPage, FbxInt pId)
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool ConnectSrc(FbxPropertyConnect *pSrc, FbxConnection::EType pType)
bool DisconnectSrc ( FbxInt  pDstId,
FbxPropertyPage pSrcPage,
FbxInt  pSrcId 
)
inline

Definition at line 996 of file fbxpropertypage.h.

997  {
998  FbxPropertyPage* lDstReferencePage = 0;
999  FbxPropertyConnect* lDstConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pDstId,&lDstReferencePage );
1000  FbxPropertyPage* lSrcReferencePage = 0;
1001  FbxPropertyConnect* lSrcConnect = pSrcPage->GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pSrcId,&lSrcReferencePage );
1002 
1003  // Make sure we have a connection point on both sides of the connection
1004  if (lDstConnect && lSrcConnect && lDstReferencePage==this && lSrcReferencePage==pSrcPage) {
1005  // Must @@@@@@@ Remove unused connections
1006  return lDstConnect->DisconnectSrc(lSrcConnect);
1007  }
1008  return false;
1009  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool DisconnectSrc(FbxPropertyConnect *pSrc)
bool IsConnectedSrc ( FbxInt  pDstId,
FbxPropertyPage pSrcPage,
FbxInt  pSrcId 
)
inline

Definition at line 1011 of file fbxpropertypage.h.

1012  {
1013  FbxPropertyPage* lDstReferencePage = 0;
1014  FbxPropertyConnect* lDstConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pDstId,&lDstReferencePage );
1015  FbxPropertyPage* lSrcReferencePage = 0;
1016  FbxPropertyConnect* lSrcConnect = pSrcPage->GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pSrcId,&lSrcReferencePage );
1017 
1018  // Make sure we have a connection point on both sides of the connection
1019  if (lDstConnect && lSrcConnect && lDstReferencePage==this && lSrcReferencePage==pSrcPage) {
1020  // Must @@@@@@@ Remove unused connections
1021  return lDstConnect->IsConnectedSrc(lSrcConnect);
1022  }
1023  return false;
1024  }
bool IsConnectedSrc(FbxPropertyConnect *pSrc)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
int GetSrcCount ( FbxInt  pId,
FbxConnectionPointFilter pFilter 
)
inline

Definition at line 1026 of file fbxpropertypage.h.

1027  {
1028  FbxPropertyPage* lReferencePage = 0;
1029  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
1030 
1031  // Connections are not considered propagated so
1032  // make sure that we own the FbxPropertyConnect objects
1033  return (lPropertyConnect && lReferencePage==this) ? lPropertyConnect->GetSrcCount(pFilter) : 0;
1034  }
int GetSrcCount(FbxConnectionPointFilter *pFilter)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool GetSrc ( FbxInt  pId,
int  pIndex,
FbxConnectionPointFilter pFilter,
FbxPropertyPage **  pSrcPage,
FbxInt pSrcId 
)
inline

Definition at line 1036 of file fbxpropertypage.h.

1037  {
1038  FbxPropertyPage* lReferencePage = 0;
1039  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
1040 
1041  // Connections are always overridden
1042  // make sure that we own the FbxPropertyConnect Item
1043  if (lPropertyConnect && lReferencePage==this)
1044  {
1045  FbxPropertyConnect* lSrc = lPropertyConnect->GetSrc(pFilter,pIndex);
1046  if (lSrc)
1047  {
1048  if (pSrcPage) *pSrcPage = lSrc->GetPage();
1049  if (pSrcId) *pSrcId = lSrc->GetPropertyId();
1050  return true;
1051  }
1052  }
1053  return false;
1054  }
FbxPropertyConnect * GetSrc(FbxConnectionPointFilter *pFilter, int pIndex)
FbxPropertyPage * GetPage()
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool ConnectDst ( FbxInt  pSrcId,
FbxPropertyPage pDstPage,
FbxInt  pDstId,
FbxConnection::EType  pType 
)
inline

Definition at line 1056 of file fbxpropertypage.h.

1057  {
1058  return pDstPage->ConnectSrc(pDstId,this,pSrcId,pType);
1059  }
bool ConnectSrc(FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId, FbxConnection::EType pType)
bool DisconnectDst ( FbxInt  pSrcId,
FbxPropertyPage pDstPage,
FbxInt  pDstId 
)
inline

Definition at line 1061 of file fbxpropertypage.h.

1062  {
1063  return pDstPage->DisconnectSrc(pDstId,this,pSrcId);
1064  }
bool DisconnectSrc(FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId)
bool IsConnectedDst ( FbxInt  pSrcId,
FbxPropertyPage pDstPage,
FbxInt  pDstId 
)
inline

Definition at line 1066 of file fbxpropertypage.h.

1067  {
1068  return pDstPage->IsConnectedSrc(pDstId,this,pSrcId);
1069  }
bool IsConnectedSrc(FbxInt pDstId, FbxPropertyPage *pSrcPage, FbxInt pSrcId)
int GetDstCount ( FbxInt  pId,
FbxConnectionPointFilter pFilter 
)
inline

Definition at line 1071 of file fbxpropertypage.h.

1072  {
1073  FbxPropertyPage* lReferencePage = 0;
1074  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
1075 
1076  // Connections are not considered propagated so
1077  // make sure that we own the FbxPropertyConnect objects
1078  return (lPropertyConnect && lReferencePage==this) ? lPropertyConnect->GetDstCount(pFilter) : 0;
1079  }
int GetDstCount(FbxConnectionPointFilter *pFilter)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool GetDst ( FbxInt  pId,
int  pIndex,
FbxConnectionPointFilter pFilter,
FbxPropertyPage **  pDstPage,
FbxInt pDstId 
)
inline

Definition at line 1081 of file fbxpropertypage.h.

1082  {
1083  FbxPropertyPage* lReferencePage = 0;
1084  FbxPropertyConnect* lPropertyConnect = GetPropertyItem( FBX_TYPE(FbxPropertyConnect),pId,&lReferencePage );
1085 
1086  // Connections are always overridden
1087  // make sure that we own the FbxPropertyConnect Item
1088  if (lPropertyConnect && lReferencePage==this)
1089  {
1090  FbxPropertyConnect* lDst = lPropertyConnect->GetDst(pFilter,pIndex);
1091  if (lDst)
1092  {
1093  if (pDstPage) *pDstPage = lDst->GetPage();
1094  if (pDstId) *pDstId = lDst->GetPropertyId();
1095  return true;
1096  }
1097  }
1098  return false;
1099  }
FbxPropertyPage * GetPage()
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyConnect * GetDst(FbxConnectionPointFilter *pFilter, int pIndex)
bool HasMinMax ( FbxInt  pId,
FbxPropertyInfo::EValueIndex  pValueId 
) const
inline

Definition at line 1105 of file fbxpropertypage.h.

1106  {
1107  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
1108 
1109  return lPropertyInfo ? lPropertyInfo->HasMinMax(pValueId) : false;
1110  }
bool HasMinMax(EValueIndex pId) const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool GetMinMax ( FbxInt  pId,
FbxPropertyInfo::EValueIndex  pValueId,
void *  pValue,
EFbxType  pValueType 
)
inline

Definition at line 1112 of file fbxpropertypage.h.

1113  {
1114  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
1115  // Don't make it writeable (Keep it shared)
1116  return lPropertyInfo ? lPropertyInfo->GetMinMax(pValueId,pValue,pValueType) : false;
1117  }
bool GetMinMax(EValueIndex pId, void *pValue, EFbxType pValueType) const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool SetMinMax ( FbxInt  pId,
FbxPropertyInfo::EValueIndex  pValueId,
const void *  pValue,
EFbxType  pValueType 
)
inline

Definition at line 1119 of file fbxpropertypage.h.

1120  {
1121  FbxPropertyInfo* lPropertyInfo = GetPropertyItem( FBX_TYPE(FbxPropertyInfo),pId );
1122  // Don't make it writeable (Keep it shared)
1123  return lPropertyInfo ? lPropertyInfo->SetMinMax(pValueId,pValue,pValueType) : false;
1124  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
bool SetMinMax(EValueIndex pId, const void *pValue, EFbxType pValueType)
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool Get ( FbxInt  pId,
void *  pValue,
EFbxType  pValueType 
)
inline

Definition at line 1128 of file fbxpropertypage.h.

1129  {
1130  FbxPropertyValue* lPropertyValue = GetPropertyItem( FBX_TYPE(FbxPropertyValue),pId );
1131  return lPropertyValue ? lPropertyValue->Get(pValue,pValueType) : 0;
1132  }
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool Get(void *pValue, EFbxType pValueType)
bool Set ( FbxInt  pId,
const void *  pValue,
EFbxType  pValueType,
bool  pCheckValueEquality 
)
inline

Definition at line 1134 of file fbxpropertypage.h.

1135  {
1136  if( pCheckValueEquality )
1137  {
1138  FbxPropertyPage* lReferencePage = NULL;
1139  FbxPropertyValue* lPropertyValue = GetPropertyItem( FBX_TYPE(FbxPropertyValue),pId,&lReferencePage );
1140  union {
1141  void* lCurrentValue;
1142  char buffer[sizeof(FbxDouble4x4)];
1143  };
1144  FBX_ASSERT(sizeof(buffer) >= FbxTypeSizeOf(pValueType));
1145  bool lValuesEqual = false;
1146  bool lValueChanged = false;
1147  if( lReferencePage && lReferencePage != this )
1148  {
1149  // this page inherits, so check if we have to override the value.
1150  if( lPropertyValue )
1151  {
1152  FbxTypeAllocate(pValueType, lCurrentValue, sizeof(buffer));
1153  lPropertyValue->Get( &lCurrentValue, pValueType );
1154  lValuesEqual = FbxTypeCompare( pValue, &lCurrentValue, pValueType );
1155  FbxTypeDeallocate(pValueType, lCurrentValue, sizeof(buffer));
1156  }
1157  }
1158  else
1159  {
1160  FbxPropertyPage* lReferencePage2 = NULL;
1161  FbxPropertyValue* lPropertyValue2 = mInstanceOf ? mInstanceOf->GetPropertyItem( FBX_TYPE(FbxPropertyValue),pId,&lReferencePage2 ) : NULL;
1162  if( lReferencePage2 && lPropertyValue2 )
1163  {
1164  FbxTypeAllocate(pValueType, lCurrentValue, sizeof(buffer));
1165  // this page is an override, but there is another page before us that overrides the value
1166  lPropertyValue2->Get( &lCurrentValue, pValueType );
1167  lValuesEqual = FbxTypeCompare( pValue, &lCurrentValue, pValueType );
1168  FbxTypeDeallocate(pValueType, lCurrentValue, sizeof(buffer));
1169 
1170  if( lValuesEqual )
1171  {
1173  lValueChanged = true;
1174  }
1175 
1176  }
1177  // else this page is the originator of the property, so no need to check,
1178  }
1179 
1180  if( lValuesEqual )
1181  return lValueChanged;
1182  }
1183 
1185  return lPropertyValue ? lPropertyValue->Set(pValue,pValueType) : false;
1186  }
size_t FbxTypeSizeOf(const EFbxType pType)
Retrieve a type enumeration memory footprint size.
bool Set(const void *pValue, EFbxType pValueType)
#define NULL
Definition: fbxarch.h:213
Property override this flag from its reference property.
Property inherit this flag from its reference property.
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
bool FbxTypeCompare(const void *pA, const void *pB, const EFbxType pType)
Compare two values of the same type.
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool FbxTypeDeallocate(const EFbxType pType, void *pData)
Destroys an fbx primitive type.
FbxVectorTemplate4< FbxDouble4 > FbxDouble4x4
Definition: fbxtypes.h:260
void * FbxTypeAllocate(const EFbxType pType)
Creates a fbx primitive type and initializes its memory.
bool Get(void *pValue, EFbxType pValueType)
FbxPropertyFlags::EInheritType GetValueInherit ( FbxInt  pId,
bool  pCheckInstanceOf 
) const
inline

Definition at line 1188 of file fbxpropertypage.h.

1189  {
1190  FbxPropertyPage* lReferencePage = NULL;
1191  GetPropertyItem(FBX_TYPE(FbxPropertyValue), pId, &lReferencePage);
1192 
1193  // check one level
1194  if( !pCheckInstanceOf )
1195  {
1196  return lReferencePage == this ? FbxPropertyFlags::eOverride : FbxPropertyFlags::eInherit;
1197  }
1198  else
1199  {
1200  if( lReferencePage == this ) return FbxPropertyFlags::eOverride; // this page is either an override, or the originator
1201  else if( !lReferencePage->mInstanceOf ) return FbxPropertyFlags::eInherit; // the reference is the class root, so we must be inheriting
1202 
1203  // The reference page is not the class root, might be another override, or the originator.
1204  FbxPropertyValue* lPropertyValue = lReferencePage->mInstanceOf->GetPropertyItem( FBX_TYPE(FbxPropertyValue), pId );
1205 
1206  // if lReferencePage->mInstanceOf has the property value,
1207  // lReferencePage is an override
1208  // else
1209  // its the originator, so this page inherits from it.
1210  return lPropertyValue ? FbxPropertyFlags::eOverride : FbxPropertyFlags::eInherit;
1211  }
1212  }
#define NULL
Definition: fbxarch.h:213
Property override this flag from its reference property.
Property inherit this flag from its reference property.
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool SetValueInherit ( FbxInt  pId,
FbxPropertyFlags::EInheritType  pType 
)
inline

Definition at line 1214 of file fbxpropertypage.h.

1215  {
1216  // no support for this mode yet
1217  if( FbxPropertyFlags::eDeleted == pType )
1218  return false;
1219 
1221 
1222  // Above call doesn't return error codes, so just check that we match types.
1223  return GetValueInherit(pId, false) == pType;
1224  }
FbxPropertyFlags::EInheritType GetValueInherit(FbxInt pId, bool pCheckInstanceOf) const
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
Property has been deleted, so inheritance is invalid.
bool GetDefaultValue ( FbxInt  pId,
void *  pValue,
EFbxType  pValueType 
) const
inline

Definition at line 1226 of file fbxpropertypage.h.

1227  {
1229  FbxPropertyValue* lPropertyValue = lReferencePage ? lReferencePage->GetPropertyItem( FBX_TYPE(FbxPropertyValue), pId ) : NULL;
1230 
1231  return lPropertyValue ? lPropertyValue->Get( pValue, pValueType ) : false;
1232  }
#define NULL
Definition: fbxarch.h:213
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyPage * GetFirstPropertyItem(FbxInt pId, const T *pItem) const
bool Get(void *pValue, EFbxType pValueType)
bool Set ( FbxInt  pId,
const T &  pValue 
)
inline

Definition at line 1236 of file fbxpropertypage.h.

1236 { return Set( pId,&pValue,FbxTypeOf(pValue),true ); }
EFbxType FbxTypeOf(const FbxChar &)
bool Set(FbxInt pId, const void *pValue, EFbxType pValueType, bool pCheckValueEquality)
T Get ( FbxInt  pId,
const T *  pFBX_TYPE 
)
inline

Definition at line 1237 of file fbxpropertypage.h.

1237 { T lValue; Get( pId,&lValue,FbxTypeOf(lValue) ); return lValue; }
bool Get(FbxInt pId, void *pValue, EFbxType pValueType)
EFbxType FbxTypeOf(const FbxChar &)
void SetDataPtr ( void *  pDataPtr)
inline

Definition at line 1240 of file fbxpropertypage.h.

1240 { mDataPtr = pDataPtr; }
void* GetDataPtr ( ) const
inline

Definition at line 1241 of file fbxpropertypage.h.

1241 { return mDataPtr; }
void PushPropertiesToParentInstance ( )
inline

Definition at line 1245 of file fbxpropertypage.h.

1246  {
1247  if (mInstanceOf) {
1248  const int lCount = GetPropertyEntryCount();
1249  // push the existing properties into the parent
1250  // ----------------------------------------------
1251  for( int i = 0; i < lCount; ++i )
1252  {
1253  FbxPropertyEntry* lParentEntry = mInstanceOf->ChangePropertyEntryState( (FbxInt)i,FbxPropertyFlags::eOverride );
1254  FbxPropertyEntry* lEntry = GetPropertyEntry( (FbxInt)i );
1255 
1256  if( !lParentEntry )
1257  {
1258  lParentEntry = FbxPropertyEntry::Create( lEntry->GetParentId(), 0, 0, 0 );
1259  mInstanceOf->mEntryMap.Insert( i, lParentEntry );
1260 
1261  //mInstanceOf->AddChild(i);
1262 
1263  }
1264 
1265  FBX_ASSERT( lParentEntry );
1266 
1267  // Add it to the parent
1268  // Don't touch the connections
1269  // -----------------------------------------
1270  if (lParentEntry) {
1271  lParentEntry->Set( lEntry->Get(FBX_TYPE(FbxPropertyInfo)) );
1272  lParentEntry->Set( lEntry->Get(FBX_TYPE(FbxPropertyValue)) );
1273  lParentEntry->Set( lEntry->Get(FBX_TYPE(FbxPropertyFlags)) );
1274  }
1275 
1276  /*
1277  else {
1278  mInstanceOf->Add(
1279  lEntry->GetParentId(),
1280  lEntry->Get(FBX_TYPE(FbxPropertyInfo)), // The info
1281  lEntry->Get(FBX_TYPE(FbxPropertyValue)), // The Value
1282  0, // The connections
1283  false,
1284  false
1285  );
1286  }
1287  */
1288 
1289  // Empty the current entry
1290  // Don't touch the connections
1291  // -----------------------------------------
1295  }
1296  }
1297  }
FbxPropertyInfo * Get(const FbxPropertyInfo *)
FbxPair< RecordType *, bool > Insert(const KeyType &pKey, const ValueType &pValue)
Insert a key-value pair.
Definition: fbxmap.h:119
void Set(FbxPropertyInfo *pInfo)
Property override this flag from its reference property.
static FbxPropertyEntry * Create(FbxInt pParentId, FbxPropertyInfo *pInfo, FbxPropertyValue *pValue, FbxPropertyConnect *pConnect)
Property inherit this flag from its reference property.
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
FbxInt GetParentId()
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
signed int FbxInt
Definition: fbxtypes.h:39
const FbxPropertyPage* GetInstanceOf ( ) const
inline

Definition at line 1299 of file fbxpropertypage.h.

1299 { return mInstanceOf; }
FbxPropertyPage* GetInstanceOf ( )
inline

Definition at line 1300 of file fbxpropertypage.h.

1300 { return mInstanceOf; }
const FbxSet<FbxPropertyPage*>& GetInstances ( ) const
inline

Definition at line 1302 of file fbxpropertypage.h.

1302 { return mInstances; }
FbxPropertyFlags::EFlags GetFlags ( FbxInt  pId = 0) const
inline

Definition at line 1306 of file fbxpropertypage.h.

1307  {
1308  FbxPropertyPage* lFoundIn = NULL;
1309  FbxPropertyFlags* lPropertyFlags = GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId, &lFoundIn );
1311 
1312  if( lPropertyFlags )
1313  {
1314  if( !mInstanceOf ) // no inheritance.
1315  lFlags = lPropertyFlags->GetFlags();
1316  else
1317  {
1318  lFlags = mInstanceOf->GetFlags(pId);
1319  lFlags = lPropertyFlags->GetMergedFlags(lFlags);
1320  }
1321  }
1322  return lFlags;
1323  }
FbxPropertyFlags::EFlags GetFlags() const
EFlags
Property flags that affect their behaviors.
#define NULL
Definition: fbxarch.h:213
FbxPropertyFlags::EFlags GetMergedFlags(FbxPropertyFlags::EFlags pFlags) const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyFlags::EFlags GetFlags(FbxInt pId=0) const
bool ModifyFlags ( FbxInt  pId = 0,
FbxPropertyFlags::EFlags  pFlags = FbxPropertyFlags::eNone,
bool  pValue = true,
bool  pCheckFlagEquality = true 
)
inline

Definition at line 1325 of file fbxpropertypage.h.

1326  {
1327  if( pCheckFlagEquality )
1328  {
1329  FbxPropertyPage* lFoundIn = NULL;
1330  FbxPropertyFlags* lFlag = GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId, &lFoundIn );
1331 
1332  if( lFlag )
1333  {
1334  if( lFoundIn == this )
1335  {
1336  // set them in us.
1337  lFlag->ModifyFlags( pFlags, pValue );
1338 
1339  // we override this entry, check if we need to revert
1340  FbxPropertyFlags* lInheritedFlags = mInstanceOf ? mInstanceOf->GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId ) : NULL;
1341  if( lInheritedFlags && lInheritedFlags->Equal( *lFlag, pFlags ) )
1342  {
1343  lFlag->UnsetMask( pFlags );
1344 
1345  if( lFlag->GetMask() == 0 )
1347 
1348  return true;
1349  }
1350  }
1351  else
1352  {
1353  // its not us. Just check if we need to set.
1354  FbxPropertyFlags lNewValues( pFlags );
1355  if( lFlag->Equal( lNewValues, pFlags ) )
1356  return true;
1357  }
1358  }
1359  }
1360 
1362  return lPropertyFlags ? lPropertyFlags->ModifyFlags( pFlags, pValue ) : false;
1363  }
bool UnsetMask(FbxPropertyFlags::EFlags pFlags)
#define NULL
Definition: fbxarch.h:213
bool ModifyFlags(FbxPropertyFlags::EFlags pFlags, bool pValue)
Property override this flag from its reference property.
Property inherit this flag from its reference property.
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyFlags::EFlags GetMask() const
bool Equal(const FbxPropertyFlags &pOther, FbxPropertyFlags::EFlags pFlags) const
FbxPropertyFlags::EInheritType GetFlagsInheritType ( FbxPropertyFlags::EFlags  pFlags,
bool  pCheckInstanceOf,
FbxInt  pId = 0 
) const
inline

Definition at line 1365 of file fbxpropertypage.h.

1366  {
1367  FbxPropertyPage* lFoundIn = NULL;
1368  FbxPropertyFlags* lPropertyFlags = GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId, &lFoundIn );
1369 
1370  if( !pCheckInstanceOf )
1371  return lFoundIn != this ? FbxPropertyFlags::eInherit : ( lPropertyFlags ? lPropertyFlags->GetFlagsInheritType(pFlags) : FbxPropertyFlags::eInherit );
1372  else
1373  {
1374  // This code basically counts the number of overrides for the
1375  // given flags. The original entry is always considered an override.
1376  // so if we see more than one, something overrode the original.
1377  // and thus we are an override.
1378  FbxPropertyPage* lRefPage = lFoundIn;
1379  bool lFoundOverride = false;
1380  while( lRefPage )
1381  {
1382  lPropertyFlags = lRefPage->GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId );
1383 
1384  if( !lPropertyFlags )
1385  break; // gone too far, break.
1386 
1387  if( lPropertyFlags->GetFlagsInheritType( pFlags ) == FbxPropertyFlags::eOverride )
1388  {
1389  if( this == lRefPage || lFoundOverride )
1390  return FbxPropertyFlags::eOverride; // found two overrides or this page is the override.
1391  else
1392  lFoundOverride = true; // signal that we found the first override.
1393  }
1394  lRefPage = lRefPage->mInstanceOf;
1395  }
1396 
1398  }
1399  }
#define NULL
Definition: fbxarch.h:213
Property override this flag from its reference property.
Property inherit this flag from its reference property.
FbxPropertyFlags::EInheritType GetFlagsInheritType(FbxPropertyFlags::EFlags pFlags) const
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
bool SetFlagsInheritType ( FbxPropertyFlags::EInheritType  pInheritType,
FbxPropertyFlags::EFlags  pFlags,
FbxInt  pId = 0 
)
inline

Definition at line 1401 of file fbxpropertypage.h.

1402  {
1403  FbxPropertyPage* lFoundIn = NULL;
1404  FbxPropertyFlags* lPropertyFlags = NULL;
1405 
1406  if( FbxPropertyFlags::eOverride == pInheritType )
1407  {
1409 
1410  // we should initialize our flag to the inherited value, if any.
1411  FbxPropertyFlags* lParentFlags = mInstanceOf ? mInstanceOf->GetPropertyItem( FBX_TYPE(FbxPropertyFlags), pId ) : NULL;
1412  if( lParentFlags && lPropertyFlags )
1413  {
1414  FbxPropertyFlags::EFlags lParentValues = lParentFlags->GetFlags();
1415  lPropertyFlags->SetFlags( pFlags, lParentValues );
1416  return lPropertyFlags->SetMask( pFlags );
1417  }
1418 
1419  return false;
1420  }
1421  else if( FbxPropertyFlags::eInherit == pInheritType )
1422  {
1423  lPropertyFlags = GetPropertyItem(FBX_TYPE(FbxPropertyFlags), pId, &lFoundIn);
1424  if( !lPropertyFlags ) return false;
1425  if( lFoundIn != this ) return true; // not us
1426  lPropertyFlags->UnsetMask( pFlags );
1427  if( lPropertyFlags->GetMask() == 0 ) // revert
1429 
1430  return true;
1431  }
1432  return false;
1433  }
bool UnsetMask(FbxPropertyFlags::EFlags pFlags)
FbxPropertyFlags::EFlags GetFlags() const
EFlags
Property flags that affect their behaviors.
#define NULL
Definition: fbxarch.h:213
bool SetMask(FbxPropertyFlags::EFlags pFlags)
Property override this flag from its reference property.
Property inherit this flag from its reference property.
bool SetFlags(FbxPropertyFlags::EFlags pMask, FbxPropertyFlags::EFlags pFlags)
T * GetPropertyItem(const T *pItemType, FbxInt pIndex, FbxPropertyPage **pFoundIn=0) const
T * ChangePropertyItemState(const T *pItemType, FbxInt pIndex, FbxPropertyFlags::EInheritType pInheritType)
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
FbxPropertyFlags::EFlags GetMask() const
void BeginCreateOrFindProperty ( )
inline

Definition at line 1435 of file fbxpropertypage.h.

1436  {
1437  if( 0 == mNameMap.mFirst )
1438  {
1439  mNameMap.mSecond.Reserve(20);
1440 
1441  // push the existing properties into the map. Note: this includes the root property!
1442  FbxInt lFoundId = FBXSDK_PROPERTY_ID_ROOT;
1443  FbxPropertyEntry* lEntry = GetPropertyEntry(lFoundId);
1444  while(lFoundId != FBXSDK_PROPERTY_ID_NULL)
1445  {
1446  FbxPropertyInfo* lInfo = lEntry->Get(FBX_TYPE(FbxPropertyInfo));
1447  //FBX_ASSERT( lInfo );
1448  if (lInfo)
1449  {
1450  mNameMap.mSecond.Insert(FbxNameMapKey(lEntry->GetParentId(), lInfo->GetName()), lFoundId);
1451  }
1452  lFoundId = GetMinimumPropertyIdAndEntry(lFoundId, &lEntry);
1453  }
1454  mNameMap.mFirst++;
1455  }
1456  }
#define FBXSDK_PROPERTY_ID_NULL
FbxPropertyInfo * Get(const FbxPropertyInfo *)
FbxStringSymbol GetName() const
FbxPair< RecordType *, bool > Insert(const KeyType &pKey, const ValueType &pValue)
Insert a key-value pair.
Definition: fbxmap.h:119
FbxPair< FbxInt, const char * > FbxNameMapKey
void Reserve(unsigned int pRecordCount)
Preallocate memory.
Definition: fbxmap.h:104
FbxInt GetParentId()
#define FBX_TYPE(class)
Convert the class type parameter into a C class parameter for other function inputs.
Definition: fbxobject.h:1476
#define FBXSDK_PROPERTY_ID_ROOT
Second mSecond
The second object in the pair.
Definition: fbxpair.h:57
signed int FbxInt
Definition: fbxtypes.h:39
First mFirst
The first object in the pair.
Definition: fbxpair.h:56
void EndCreateOrFindProperty ( )
inline

Definition at line 1458 of file fbxpropertypage.h.

1459  {
1460  if( mNameMap.mFirst > 0 )
1461  {
1462  if( --(mNameMap.mFirst) == 0 )
1463  mNameMap.mSecond.Clear();
1464  }
1465  }
Second mSecond
The second object in the pair.
Definition: fbxpair.h:57
void Clear()
Clear the map.
Definition: fbxmap.h:133
First mFirst
The first object in the pair.
Definition: fbxpair.h:56
bool Is ( FbxPropertyPage pPage)
inlineprotected

Definition at line 1562 of file fbxpropertypage.h.

1563  {
1564  // @@@@@@@@@@@@@@@ Must complete for sub types
1565  return this==pPage;
1566  }

Friends And Related Function Documentation

friend class FbxPropertyHandle
friend

Definition at line 1754 of file fbxpropertypage.h.

T* fbxsdk::FbxNew ( )
friend
T* fbxsdk::FbxNew ( T1 &  p1)
friend
T* fbxsdk::FbxNew ( const T1 &  p1)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend
T* fbxsdk::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8 
)
friend
T* fbxsdk::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8,
const T9 &  p9 
)
friend
void fbxsdk::FbxDelete ( T *  p)
friend
void fbxsdk::FbxDelete ( const T *  p)
friend
T* fbxsdk::FbxNewArray ( const int  n)
friend
void fbxsdk::FbxDeleteArray ( T *  p)
friend

The documentation for this class was generated from the following file: