6 template<
typename DataType >
12 template<
typename DataType >
15 template<
typename DataType >
18 template<
typename DataType >
21 template<
typename DataType >
24 template<
typename DataType >
27 template<
typename DataType >
30 for(
int i=0 ; i<_dofNames.size() ; i++ )
if( _dofNames[i]==dofName )
return _currentValues[i];
31 THROW(
"could not find dof name: " , dofName );
32 return _currentValues[0];
35 template<
typename DataType >
36 template<
typename ParameterType >
39 if( _keyFrameEvaluator )
delete _keyFrameEvaluator;
43 template<
typename DataType >
46 if( !_keyFrameEvaluator )
THROW(
"_keyFrameEvaluator has not been initialized" );
47 for(
int dof=0 ; dof<_currentValues.size() ; dof++ ) _currentValues[ dof ] = _keyFrameEvaluator->evaluate( dof , t , curveType );
50 template<
typename DataType >
53 stream <<
"#DOFS " << keyFrameData.
_dofNames.size() << std::endl;
54 for(
int i=0 ; i<keyFrameData.
_dofNames.size() ; i++ ) stream <<
" " << keyFrameData.
_dofNames[i] << std::endl;
55 stream <<
"#DURATION " << keyFrameData.
_duration << std::endl;
56 stream <<
"#FRAMES " << keyFrameData.
_data[0].size() << std::endl;
57 for(
int i=0 ; i<keyFrameData.
_data[0].size() ; i++ )
59 for(
int j=0 ; j<keyFrameData.
_data.size() ; j++ ) stream <<
" " << keyFrameData.
_data[j][i];
65 template<
typename DataType >
70 stream >> str >> dofs;
71 if( !stream || str!=
"#DOFS" || dofs<=0 )
THROW(
"Failed to parse DOFS" );
75 keyFrameData.
_data.resize( dofs );
77 for(
int i=0 ; i<dofs ; i++ )
if( !( stream >> keyFrameData.
_dofNames[i] ) )
THROW(
"Failed to read DOF names" );
80 if( !stream || str!=
"#DURATION" || keyFrameData.
_duration<=0 )
THROW(
"Failed to read DURATION" );
83 stream >> str >> frames;
84 if( !stream || str!=
"#FRAMES" || frames<=0 )
THROW(
"Failed to read FRAMES" );
86 for(
int i=0 ; i<keyFrameData.
_data.size() ; i++ ) keyFrameData.
_data[i].resize( frames );
88 for(
int j=0 ; j<frames ; j++ )
for(
int i=0 ; i<dofs ; i++ )
if( !( stream >> keyFrameData.
_data[i][j] ) )
THROW(
"Failed to read parameter" );
95 template<
typename DataType ,
typename ParameterType >
99 _parameters.resize( keyFrameData.
_data.size() );
100 for(
int i=0 ; i<_parameters.size() ; i++ ) _parameters[i].resize( keyFrameData.
_data[i].size() );
103 for(
int d=0 ; d<_parameters.size() ; d++ )
108 for(
int f=1 ; f<_parameters[d].size() ; f++ ) _parameters[d][f] =
ParameterType( keyFrameData.
_data[d][f] , _parameters[d][f-1] );
112 template<
typename DataType ,
typename ParameterType >
59 for(
int j=0 ; j<keyFrameData.
_data.size() ; j++ ) stream <<
" " << keyFrameData.
_data[j][i]; {
…}
56 stream <<
"#FRAMES " << keyFrameData.
_data[0].size() << std::endl; {
…}
53 stream <<
"#DOFS " << keyFrameData.
_dofNames.size() << std::endl; {
…}
50 template<
typename DataType > {
…}
47 for(
int dof=0 ; dof<_currentValues.size() ; dof++ ) _currentValues[ dof ] = _keyFrameEvaluator->evaluate( dof , t , curveType ); {
…}
Definition keyFrames.h:26
std::vector< std::string > _dofNames
Definition keyFrames.h:35
float _duration
Definition keyFrames.h:32
const DataType & current(const std::string &dofName) const
Definition keyFrames.inl:28
std::vector< DataType > _currentValues
Definition keyFrames.h:41
~KeyFrameData(void)
Definition keyFrames.inl:16
void setCurrentValues(double t, int curveType)
Definition keyFrames.inl:44
float duration(void) const
Definition keyFrames.inl:19
std::vector< std::vector< DataType > > _data
Definition keyFrames.h:38
KeyFrameData(void)
Definition keyFrames.inl:13
int dofs(void) const
Definition keyFrames.inl:25
int keyframes(void) const
Definition keyFrames.inl:22
void setEvaluator(void)
Definition keyFrames.inl:37
virtual ~KeyFrameEvaluator(void)
Definition keyFrames.inl:7
Definition keyFrames.h:91
DataType evaluate(unsigned int dof, double t, int curveType)
Definition keyFrames.inl:113
KeyFrameParameters(const KeyFrameData< DataType > &data)
Definition keyFrames.inl:96
static SampleType Sample(const std::vector< SampleType > &samples, double t, int interpolationType)
Definition interpolation.todo.inl:38
#define THROW(...)
Definition exceptions.h:151
CmdLineParameter< int > ParameterType("parameter", RotationParameters::TRIVIAL+1)
std::istream & operator>>(std::istream &stream, Camera &camera)
Definition camera.cpp:15
std::ostream & operator<<(std::ostream &stream, const Camera &camera)
Definition camera.cpp:25