- Cal3D 0.11 API Reference -

bone.h
1 //****************************************************************************//
2 // bone.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_BONE_H
12 #define CAL_BONE_H
13 
14 
15 #include "cal3d/global.h"
16 #include "cal3d/vector.h"
17 #include "cal3d/quaternion.h"
18 #include "cal3d/matrix.h"
19 #include "cal3d/corebone.h"
20 
21 
22 //class CalCoreBone;
23 class CalSkeleton;
24 class CalModel;
25 class CalCoreModel;
26 
27 
28 class CAL3D_API CalBone
29 {
30 public:
31  CalBone(CalCoreBone* coreBone);
32  ~CalBone() { }
33 
34  void blendState(float weight, const CalVector& translation, const CalQuaternion& rotation);
35  void calculateState();
36  void clearState();
37  CalCoreBone *getCoreBone();
38  void setCoreState();
39  void setCoreStateRecursive();
40  void setRotation(const CalQuaternion& rotation);
41  const CalQuaternion& getRotation();
42  const CalQuaternion& getRotationAbsolute();
43  const CalQuaternion& getRotationBoneSpace();
44  void setTranslation(const CalVector& translation);
45  const CalVector& getTranslation();
46  const CalVector& getTranslationAbsolute();
47  const CalVector& getTranslationBoneSpace();
48  const CalMatrix& getTransformMatrix();
49  void lockState();
50  void setSkeleton(CalSkeleton *pSkeleton);
51  void calculateBoundingBox();
52  CalBoundingBox & getBoundingBox();
53 
54 private:
55  CalCoreBone *m_pCoreBone;
56  CalSkeleton *m_pSkeleton;
57  float m_accumulatedWeight;
58  float m_accumulatedWeightAbsolute;
59  CalVector m_translation;
60  CalQuaternion m_rotation;
61  CalVector m_translationAbsolute;
62  CalQuaternion m_rotationAbsolute;
63  CalVector m_translationBoneSpace;
64  CalQuaternion m_rotationBoneSpace;
65  CalMatrix m_transformMatrix;
66  CalBoundingBox m_boundingBox;
67 };
68 
69 #endif
70 
71 //****************************************************************************//
Definition: coremodel.h:25
Definition: corebone.h:25
The bounding box class.
Definition: vector.h:220
The matrix class.
Definition: matrix.h:34
The vector class.
Definition: vector.h:36
Definition: skeleton.h:20
Definition: bone.h:28
Definition: model.h:30
The quaternion class.
Definition: quaternion.h:35

Generated at Sat Aug 16 2014 01:39:51 by The Cal3D Team with Doxygen 1.8.7