00001 #ifndef FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXCOLLECTION_H
00002 #define FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXCOLLECTION_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00040
00041
00042 #include <fbxfilesdk/kfbxplugins/kfbxobject.h>
00043 #include <fbxfilesdk/kfbxplugins/kfbxsdkmanager.h>
00044
00045 #include <fbxfilesdk/kfbxevents/kfbxevents.h>
00046
00047 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00048
00049 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00050
00051 class KFbxCriteria;
00052
00058 class KFBX_DLL KFbxCollection : public KFbxObject
00059 {
00060 KFBXOBJECT_DECLARE(KFbxCollection,KFbxObject);
00061
00066 public:
00068 virtual void Clear();
00072 inline void AddMember(KFbxObject *pMember) { ConnectSrcObject(pMember); }
00076 inline void RemoveMember(KFbxObject *pMember) { DisconnectSrcObject(pMember); }
00081 template <class T> inline T * FindMember(T const *pfbxType, const char *pName) { return FindSrcObject(pfbxType, pName); }
00085 inline int GetMemberCount () const { return GetSrcObjectCount(); }
00090 template < class T > inline int GetMemberCount (T const *pFBX_TYPE) const { return GetSrcObjectCount(T::ClassId); }
00095 int GetMemberCount( KFbxCriteria pCriteria ) const;
00096
00101 inline KFbxObject* GetMember (int pIndex=0) const { return GetSrcObject(pIndex); }
00107 template < class T > inline T* GetMember (T const *pFBX_TYPE, int pIndex=0) const { return (T *)GetSrcObject(T::ClassId,pIndex); }
00108
00114 KFbxObject* GetMember (KFbxCriteria pCriteria, int pIndex=0) const;
00119 virtual bool IsMember(KFbxObject *pMember) const;
00121
00126 public:
00130 virtual void SetSelectedAll(bool pSelection);
00135 virtual void SetSelected(KFbxObject* pObject,bool pSelection);
00139 virtual bool GetSelected(KFbxObject* pObject);
00141
00143
00144
00145
00147 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00148
00149
00150 protected:
00151 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00152 KFbxCollection(KFbxSdkManager& pManager, char const* pName);
00153 ~KFbxCollection();
00154 virtual void Construct (const KFbxCollection* pFrom);
00155 virtual void Destruct (bool pRecursive, bool pDependents);
00156
00157
00158 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00159
00160 };
00161
00162 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00163
00164 #endif // FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXCOLLECTION_H
00165