00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 Autodesk, Inc. 00004 All rights reserved. 00005 00006 Use of this software is subject to the terms of the Autodesk license agreement 00007 provided at the time of installation or download, or which otherwise accompanies 00008 this software in either electronic or hard copy form. 00009 00010 ****************************************************************************************/ 00011 00013 #ifndef _FBXSDK_SCENE_COLLECTION_H_ 00014 #define _FBXSDK_SCENE_COLLECTION_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/fbxobject.h> 00019 00020 #include <fbxsdk/fbxsdk_nsbegin.h> 00021 00022 class FbxCriteria; 00023 00028 class FBXSDK_DLL FbxCollection : public FbxObject 00029 { 00030 FBXSDK_OBJECT_DECLARE(FbxCollection, FbxObject); 00031 00032 public: 00037 00038 virtual void Clear(); 00039 00043 virtual bool AddMember(FbxObject* pMember) { return ConnectSrcObject(pMember); } 00044 00048 virtual bool RemoveMember(FbxObject* pMember) { return DisconnectSrcObject(pMember); } 00049 00053 inline int GetMemberCount () const { return GetSrcObjectCount(); } 00054 00059 inline FbxObject* GetMember(int pIndex=0) const { return GetSrcObject(pIndex); } 00060 00065 virtual bool IsMember(const FbxObject* pMember) const; 00067 00075 template <class T> FBX_DEPRECATED inline int GetMemberCount(const T*) const { return GetSrcObjectCount<T>(); } 00076 00079 template <class T> inline int GetMemberCount() const { return GetSrcObjectCount<T>(); } 00080 00085 template <class T> FBX_DEPRECATED inline T* GetMember(const T*, int pIndex=0) const { return GetSrcObject<T>(pIndex); } 00086 00090 template <class T> inline T* GetMember(int pIndex=0) const { return GetSrcObject<T>(pIndex); } 00091 00095 template <class T> FBX_DEPRECATED inline T* FindMember(const T*, const char* pName) const { return FindSrcObject<T>(pName); } 00096 00099 template <class T> inline T* FindMember(const char* pName) const { return FindSrcObject<T>(pName); } 00101 00109 inline int GetMemberCount(const FbxCriteria& pCriteria) const { return GetSrcObjectCount(pCriteria); } 00110 00115 inline FbxObject* GetMember(const FbxCriteria& pCriteria, int pIndex=0) const { return GetSrcObject(pCriteria, pIndex); } 00116 00120 inline FbxObject* FindMember(const FbxCriteria& pCriteria, const char* pName) const { return FindSrcObject(pCriteria, pName); } 00122 00130 virtual void SetSelectedAll(bool pSelection); 00131 00136 virtual void SetSelected(FbxObject* pObject, bool pSelection); 00137 00142 virtual bool GetSelected(FbxObject* pObject); 00144 }; 00145 00146 #include <fbxsdk/fbxsdk_nsend.h> 00147 00148 #endif /* _FBXSDK_SCENE_COLLECTION_H_ */