11#ifndef CAL_COREMORPHTRACK_H
12#define CAL_COREMORPHTRACK_H
18#include "cal3d/global.h"
19#include "cal3d/matrix.h"
20#include "cal3d/vector.h"
21#include "cal3d/quaternion.h"
22#include "cal3d/coremorphkeyframe.h"
43 unsigned int m_morphID;
44 unsigned int m_targetMeshID;
45 std::vector<unsigned int> m_targetSubMeshIDs;
49 std::vector<CalCoreMorphKeyframe*> m_keyframesToDelete;
59 bool getState(
float time,
float & weightOut);
61 const unsigned int& getMorphID()
const{
return m_morphID;}
62 void setMorphID(
const unsigned int &name){m_morphID=name;}
64 inline const unsigned int& getTargetMesh()
const {
return m_targetMeshID;}
65 inline void setTargetMesh(
unsigned int name){m_targetMeshID=name;}
69 inline void addTargetSubMesh(
unsigned int i){m_targetSubMeshIDs.push_back(i);}
70 inline void removeTargetSubMesh(
unsigned int name){
71 for(std::vector<unsigned int>::iterator i=m_targetSubMeshIDs.begin();i!=m_targetSubMeshIDs.begin();i++){
73 m_targetSubMeshIDs.erase(i);
79 inline const unsigned int &getTargetSubMesh(
const unsigned int &name)
const{
return m_targetSubMeshIDs[name];}
81 int getCoreMorphKeyframeCount()
const;
89 const std::vector<CalCoreMorphKeyframe> & getVectorCoreMorphKeyframes()
const;
90 std::vector<CalCoreMorphKeyframe> & getVectorCoreMorphKeyframes();
92 void scale(
float factor);
95 std::vector<CalCoreMorphKeyframe>::iterator getUpperBound(
float time);
The core keyframe class.
Definition: coremorphkeyframe.h:32
Definition: coremorphtrack.h:39
std::vector< CalCoreMorphKeyframe > m_keyframes
List of keyframes, always sorted by time.
Definition: coremorphtrack.h:48
const unsigned int getNumTargetSubMeshes() const
TargetSubMeshes container if empty assume ALL submeshes have morphtarget.
Definition: coremorphtrack.h:68