- Cal3D 0.11 API Reference -

coreskeleton.h
1 //****************************************************************************//
2 // coreskeleton.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_CORESKELETON_H
12 #define CAL_CORESKELETON_H
13 
14 #include "cal3d/global.h"
15 #include "cal3d/vector.h"
16 #include "cal3d/refcounted.h"
17 #include "cal3d/refptr.h"
18 
19 
20 class CalCoreBone;
21 class CalCoreModel;
22 
23 
24 class CAL3D_API CalCoreSkeleton : public cal3d::RefCounted
25 {
26 protected:
27  ~CalCoreSkeleton();
28 
29 public:
31 
32  int addCoreBone(CalCoreBone *pCoreBone);
33  void calculateState();
34  CalCoreBone *getCoreBone(int coreBoneId);
35  const CalCoreBone *getCoreBone(int coreBoneId) const;
36  CalCoreBone *getCoreBone(const std::string& strName);
37  const CalCoreBone *getCoreBone(const std::string& strName) const;
38  int getCoreBoneId(const std::string& strName) const;
39  bool mapCoreBoneName(int coreBoneId, const std::string& strName);
40  std::vector<int>& getVectorRootCoreBoneId();
41  const std::vector<int>& getVectorRootCoreBoneId() const;
42  std::vector<CalCoreBone *>& getVectorCoreBone();
43  const std::vector<CalCoreBone *>& getVectorCoreBone() const;
44  void calculateBoundingBoxes(CalCoreModel *pCoreModel);
45  void scale(float factor);
46  unsigned int getNumCoreBones() const { return ( unsigned int ) m_vectorCoreBone.size(); }
47  void setSceneAmbientColor( CalVector const & color );
48  void getSceneAmbientColor( CalVector & color ) const;
49  void setName(const std::string& name);
50  const std::string& getName(void) const;
51 
52 private:
53  std::vector<CalCoreBone *> m_vectorCoreBone;
54  std::map< std::string, int > m_mapCoreBoneNames;
55  std::vector<int> m_vectorRootCoreBoneId;
56  CalVector m_sceneAmbientColor;
57  std::string m_name;
58 };
60 
61 #endif
62 
63 //****************************************************************************//
Definition: coremodel.h:25
Definition: corebone.h:34
Definition: coreskeleton.h:24
The vector class.
Definition: vector.h:36
Derive from RefCounted to make your class have reference-counted lifetime semantics.
Definition: refcounted.h:28

Generated by The Cal3D Team with Doxygen 1.8.14