11#ifndef CAL_CORETRACK_H
12#define CAL_CORETRACK_H
15#include "cal3d/global.h"
16#include "cal3d/matrix.h"
17#include "cal3d/vector.h"
18#include "cal3d/quaternion.h"
34 bool m_translationRequired;
35 bool m_highRangeRequired;
36 bool m_translationIsDynamic;
37 static int m_translationRequiredCount;
38 static int m_translationNotRequiredCount;
41 std::vector<CalCoreKeyframe*> m_keyframes;
69 bool setCoreBoneId(
int coreBoneId);
71 int getCoreKeyframeCount()
const;
75 static int translationRequiredCount() {
return m_translationRequiredCount; }
76 static int translationNotRequiredCount() {
return m_translationNotRequiredCount; }
79 void removeCoreKeyFrame(
int _i) { m_keyframes.erase( m_keyframes.begin() + _i); }
80 bool getTranslationRequired() {
return m_translationRequired; }
81 void setTranslationRequired(
bool p ) { m_translationRequired = p; }
82 bool getTranslationIsDynamic() {
return m_translationIsDynamic; }
83 void setTranslationIsDynamic(
bool p ) { m_translationIsDynamic = p; }
84 bool getHighRangeRequired() {
return m_highRangeRequired; }
85 void setHighRangeRequired(
bool p ) { m_highRangeRequired = p; }
86 void fillInvalidTranslations(
CalVector const & trans );
88 void scale(
float factor);
89 void compress(
double translationTolerance,
double rotationToleranceDegrees,
CalCoreSkeleton * skelOrNull );
91 void translationCompressibility(
92 bool * transRequiredResult,
bool * transDynamicResult,
bool * highRangeRequiredResult,
94 void collapseSequences(
double translationTolerance,
double rotationToleranceDegrees );
97 std::vector<CalCoreKeyframe *>::const_iterator getUpperBound(
float time)
const;
99 double translationTolerance,
double rotationToleranceDegrees);
Definition: corebone.h:35
The core keyframe class.
Definition: corekeyframe.h:32
Definition: coreskeleton.h:25
Definition: coretrack.h:27
int getCoreBoneId() const
Returns the ID of the core bone.
Definition: coretrack.h:64
The quaternion class.
Definition: quaternion.h:36
The vector class.
Definition: vector.h:37