- 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;
23class CalSkeleton;
24class CalModel;
25class CalCoreModel;
26
27
28class CAL3D_API CalBone
29{
30public:
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
54private:
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: bone.h:29
The bounding box class.
Definition: vector.h:221
Definition: corebone.h:26
Definition: coremodel.h:26
The matrix class.
Definition: matrix.h:35
Definition: model.h:31
The quaternion class.
Definition: quaternion.h:36
Definition: skeleton.h:21
The vector class.
Definition: vector.h:37

Generated by The Cal3D Team with Doxygen 1.9.4