13 #ifndef _FBXSDK_CORE_CONNECTION_POINT_H_
14 #define _FBXSDK_CORE_CONNECTION_POINT_H_
32 eSystemOrUser = eUser | eSystem,
37 eLinkType = eReference | eContains | eData,
38 eDefault = eUser | eReference,
39 eUnidirectional = 1 << 7
53 eDirBoth = eDirSrc | eDirDst,
54 eDirMask = eDirSrc | eDirDst | eDirUni
60 eSubConnection = 1 << 3,
61 eTypeMask = eSubConnection
68 eAttributeMask = eCache
75 eAllocFlagMask = eAllocated
82 eCleanedFlagMask = eCleaned
110 void InternalClear();
113 void WipeConnectionList();
115 void SubConnectRemoveAll();
124 inline void SetDirection(
int pDirections){ mFlags = (mFlags & ~eDirMask) | pDirections; }
126 inline void SetAttribute(
int pAttributes){ mFlags = (mFlags & ~eAttributeMask) | pAttributes; }
128 inline void SetAllocatedFlag(
bool pBool){ mFlags = ( pBool ) ? mFlags | eAllocated : mFlags & ~eAllocFlagMask; }
130 inline void SetCleanedFlag(
bool pBool){ mFlags = ( pBool ) ? mFlags | eCleaned : mFlags & ~eCleanedFlagMask; }
131 inline bool GetCleanedFlag(){
return ( mFlags & eCleanedFlagMask ) ?
true :
false; }
149 void DisconnectAllSrc();
150 void DisconnectAllDst();
152 bool DisconnectDstAt(
int pIndex);
153 bool DisconnectSrcAt(
int pIndex);
159 bool SwapSrc(
int pIndexA,
int pIndexB);
167 bool MoveSrcAt(
int pIndex,
int pAtIndex);
182 inline int GetSrcCount()
const {
return mConnectionList.GetSrcCount(); }
185 inline int GetDstCount()
const {
return mConnectionList.GetDstCount(); }
205 #ifndef DOXYGEN_SHOULD_SKIP_THIS
217 void RemoveSrcAt(
int pIndex);
220 int GetSrcCount()
const;
226 void RemoveDstAt(
int pIndex);
228 int GetDstCount()
const;
259 bool InternalMoveSrcBefore(
int pIndex,
int pBeforeIndex);
266 inline void RemoveSrcAt(
int pIndex){ mConnectionList.RemoveSrcAt(pIndex); }
267 inline void RemoveDstAt(
int pIndex){ mConnectionList.RemoveDstAt(pIndex); }
281 ConnectionList mConnectionList;
298 virtual void Unref();
EDirection GetDirection()
FBX SDK environment definition.
bool IsConnected(FbxConnectionPoint *pConnect)
FbxConnection::EType GetSrcType(int pIndex, FbxConnectionPointFilter *pFilter)
void SetConnectType(EType pType)
int FindDst(FbxConnectionPoint *pConnect)
void SetDirection(int pDirections)
FbxConnectionPoint * GetSrc(int pIndex) const
FbxConnectionPoint * GetDst(int pIndex) const
virtual ~FbxConnectionPointFilter()
void SetAttribute(int pAttributes)
int GetDstCount(FbxConnectionPointFilter *pFilter)
virtual FbxInt GetUniqueId() const
Get unique filter ID.
void SetCleanedFlag(bool pBool)
int GetSrcCount(FbxConnectionPointFilter *pFilter)
FbxConnection::EType GetDstType(int pIndex) const
This class implements an efficient set based on value comparison, which stores values.
FbxConnection::EType GetDstType(int pIndex, FbxConnectionPointFilter *pFilter)
FbxConnectionPoint * GetDst(int pIndex, FbxConnectionPointFilter *pFilter)
int FindSrc(FbxConnectionPoint *pConnect)
FbxConnectionPoint * GetSrc(int pIndex, FbxConnectionPointFilter *pFilter)
Class to manage Connect Filter.
EAttribute GetAttribute()
FbxConnectionPoint * GetSubOwnerConnect()
FbxConnection::EType GetSrcType(int pIndex) const
void SetAllocatedFlag(bool pBool)
Class for array of basic elements such as pointers and basic types.
FbxConnectionPointFilter * GetFilter()