selectionset.h

Go to the documentation of this file.
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