00001 00002 //**************************************************************************/ 00003 // Copyright (c) 2008 Autodesk, Inc. 00004 // All rights reserved. 00005 // 00006 // Use of this software is subject to the terms of the Autodesk license 00007 // agreement provided at the time of installation or download, or which 00008 // otherwise accompanies this software in either electronic or hard copy form. 00009 // 00010 //**************************************************************************/ 00011 // DESCRIPTION: 00012 // CREATED: June 2009 00013 //**************************************************************************/ 00014 00015 namespace mudbox { 00016 00019 class MBDLL_DECL SelectionSet : public TreeNode 00020 { 00021 public: 00022 DECLARE_CLASS; 00023 00024 protected: 00030 SelectionSet( const QString &sName = "" ); 00031 00032 public: 00033 00036 struct MeshInfo 00037 { 00038 MeshInfo( Mesh *pM ); 00039 Mesh *m_pMesh; 00040 Store<unsigned int> m_aFaces; 00041 }; 00042 00046 MeshInfo *AddMesh( Mesh *pMesh ); 00047 00049 void SetVisible( bool bVisible ); 00050 00052 void Serialize( Stream & ); 00053 00055 inline QList<MeshInfo*>& MeshInfos() { return m_lMeshInfos; } 00056 00057 // internal use only. do not use. 00058 inline bool Active() { return m_bActive; } 00059 00060 // internal use only. do not use. 00061 inline void SetActive( bool bActive ) { m_bActive = bActive; } 00062 00063 protected: 00064 bool m_bActive; 00065 QList<MeshInfo *> m_lMeshInfos; 00066 }; 00067 00068 }; // end of namespace mudbox