1 //****************************************************************************// 2 // coremesh.h // 3 // Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger // 4 //****************************************************************************// 5 // This library is free software; you can redistribute it and/or modify it // 6 // under the terms of the GNU Lesser General Public License as published by // 7 // the Free Software Foundation; either version 2.1 of the License, or (at // 8 // your option) any later version. // 9 //****************************************************************************// 10 11 #ifndef CAL_COREMESH_H 12 #define CAL_COREMESH_H 13 14 15 #include "cal3d/global.h" 16 #include "cal3d/refcounted.h" 17 #include "cal3d/refptr.h" 18 19 20 class CalCoreSubmesh; 21 22 23 class CAL3D_API CalCoreMesh : public cal3d::RefCounted 24 { 25 protected: 26 ~CalCoreMesh(); 27 28 public: 29 CalCoreMesh(); 30 31 int addCoreSubmesh(CalCoreSubmesh *pCoreSubmesh); 32 CalCoreSubmesh *getCoreSubmesh(int id); 33 int getCoreSubmeshCount() const; 34 std::vector<CalCoreSubmesh *>& getVectorCoreSubmesh(); 35 int addAsMorphTarget(CalCoreMesh *pCoreMesh); 36 void scale(float factor); 37 void setFilename(const std::string& filename); 38 const std::string& getFilename(void) const; 39 void setName(const std::string& name); 40 const std::string& getName(void) const; 41 42 private: 43 std::vector<CalCoreSubmesh *> m_vectorCoreSubmesh; 44 std::string m_name; 45 std::string m_filename; 46 }; 47 typedef cal3d::RefPtr<CalCoreMesh> CalCoreMeshPtr; 48 49 #endif 50