Public Member Functions | Protected Member Functions | Protected Attributes
vcsl_translation Class Reference

Translation transformation. More...

#include <vcsl_translation.h>

Inheritance diagram for vcsl_translation:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 vcsl_translation ()
virtual ~vcsl_translation ()
virtual bool is_invertible (double time) const
 Is `this' invertible at time `time'?.
virtual bool is_valid () const
 Is `this' correctly set ?.
void set_static (vnl_vector< double > const &new_vector)
 Set the parameters of a static translation.
void set_vector (list_of_vectors const &new_vector)
 Set the direction vector variation along the time.
list_of_vectors vector () const
 Return the angle variation along the time.
virtual vnl_vector< double > execute (const vnl_vector< double > &v, double time) const
 Image of `v' by `this'.
virtual vnl_vector< double > inverse (const vnl_vector< double > &v, double time) const
 Image of `v' by the inverse of `this'.
vcl_vector< double > beat () const
 Return the list of time clocks.
unsigned int duration () const
 Return the time duration.
vcl_vector< vcsl_interpolatorinterpolators () const
 Return the list of interpolators.
bool valid_time (double time) const
 Is `time' between the two time bounds ?.
int matching_interval (double time) const
 Return the index of the beat inferior or equal to `time'.
void set_beat (vcl_vector< double > const &new_beat)
 Set the list of time clocks.
void set_interpolators (vcl_vector< vcsl_interpolator > const &i)
 Set the list of interpolators.
void set_static ()
 Empty the time clock and interpolators, thereby making the transf static.
double lsi (double v0, double v1, int index, double time) const
 Linear interpolation on scalar values.
vnl_vector< double > lvi (const vnl_vector< double > &v0, const vnl_vector< double > &v1, int index, double time) const
 Linear interpolation on vnl_vectors.
vnl_matrix< double > lmi (const vnl_matrix< double > &m0, const vnl_matrix< double > &m1, int index, double time) const
 Linear interpolation on vnl_matrices.
vnl_quaternion< double > lqi (const vnl_quaternion< double > &v0, const vnl_quaternion< double > &v1, int index, double time) const
 Linear interpolation on quaternions.
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Protected Member Functions

vnl_vector< double > vector_value (double time) const
 Compute the value of the parameter at time `time'.

Protected Attributes

list_of_vectors vector_
 Direction vector variation along the time.
vcl_vector< double > beat_
 List of time clocks.
vcl_vector< vcsl_interpolatorinterpolator_

Detailed Description

Translation transformation.

Definition at line 23 of file vcsl_translation.h.


Constructor & Destructor Documentation

vcsl_translation::vcsl_translation ( ) [inline]

Definition at line 32 of file vcsl_translation.h.

virtual vcsl_translation::~vcsl_translation ( ) [inline, virtual]

Definition at line 35 of file vcsl_translation.h.


Member Function Documentation

vcl_vector<double> vcsl_spatial_transformation::beat ( ) const [inline, inherited]

Return the list of time clocks.

Definition at line 62 of file vcsl_spatial_transformation.h.

unsigned int vcsl_spatial_transformation::duration ( ) const [inline, inherited]

Return the time duration.

Definition at line 65 of file vcsl_spatial_transformation.h.

vnl_vector< double > vcsl_translation::execute ( const vnl_vector< double > &  v,
double  time 
) const [virtual]

Image of `v' by `this'.

REQUIRE: is_valid() Pure virtual function of vcsl_spatial_transformation

Implements vcsl_spatial_transformation.

Definition at line 30 of file vcsl_translation.cxx.

vcl_vector<vcsl_interpolator> vcsl_spatial_transformation::interpolators ( ) const [inline, inherited]

Return the list of interpolators.

Definition at line 68 of file vcsl_spatial_transformation.h.

vnl_vector< double > vcsl_translation::inverse ( const vnl_vector< double > &  v,
double  time 
) const [virtual]

Image of `v' by the inverse of `this'.

REQUIRE: is_valid() REQUIRE: is_invertible(time) Pure virtual function of vcsl_spatial_transformation

Implements vcsl_spatial_transformation.

Definition at line 49 of file vcsl_translation.cxx.

bool vcsl_translation::is_invertible ( double  time) const [virtual]

Is `this' invertible at time `time'?.

REQUIRE: valid_time(time) Pure virtual function of vcsl_spatial_transformation

Implements vcsl_spatial_transformation.

Definition at line 9 of file vcsl_translation.cxx.

virtual bool vcsl_translation::is_valid ( ) const [inline, virtual]

Is `this' correctly set ?.

Virtual function of vcsl_spatial_transformation

Reimplemented from vcsl_spatial_transformation.

Definition at line 48 of file vcsl_translation.h.

vnl_matrix< double > vcsl_spatial_transformation::lmi ( const vnl_matrix< double > &  m0,
const vnl_matrix< double > &  m1,
int  index,
double  time 
) const [inherited]

Linear interpolation on vnl_matrices.

Definition at line 91 of file vcsl_spatial_transformation.cxx.

vnl_quaternion< double > vcsl_spatial_transformation::lqi ( const vnl_quaternion< double > &  v0,
const vnl_quaternion< double > &  v1,
int  index,
double  time 
) const [inherited]

Linear interpolation on quaternions.

Definition at line 118 of file vcsl_spatial_transformation.cxx.

double vcsl_spatial_transformation::lsi ( double  v0,
double  v1,
int  index,
double  time 
) const [inherited]

Linear interpolation on scalar values.

Definition at line 50 of file vcsl_spatial_transformation.cxx.

vnl_vector< double > vcsl_spatial_transformation::lvi ( const vnl_vector< double > &  v0,
const vnl_vector< double > &  v1,
int  index,
double  time 
) const [inherited]

Linear interpolation on vnl_vectors.

Definition at line 66 of file vcsl_spatial_transformation.cxx.

int vcsl_spatial_transformation::matching_interval ( double  time) const [inherited]

Return the index of the beat inferior or equal to `time'.

REQUIRE: valid_time(time)

Definition at line 19 of file vcsl_spatial_transformation.cxx.

void vcsl_spatial_transformation::set_beat ( vcl_vector< double > const &  new_beat) [inline, inherited]

Set the list of time clocks.

Definition at line 106 of file vcsl_spatial_transformation.h.

void vcsl_spatial_transformation::set_interpolators ( vcl_vector< vcsl_interpolator > const &  i) [inline, inherited]

Set the list of interpolators.

Definition at line 109 of file vcsl_spatial_transformation.h.

void vcsl_translation::set_static ( vnl_vector< double > const &  new_vector)

Set the parameters of a static translation.

Definition at line 20 of file vcsl_translation.cxx.

void vcsl_spatial_transformation::set_static ( ) [inherited]

Empty the time clock and interpolators, thereby making the transf static.

Definition at line 41 of file vcsl_spatial_transformation.cxx.

void vcsl_translation::set_vector ( list_of_vectors const &  new_vector) [inline]

Set the direction vector variation along the time.

Definition at line 61 of file vcsl_translation.h.

bool vcsl_spatial_transformation::valid_time ( double  time) const [inherited]

Is `time' between the two time bounds ?.

Definition at line 9 of file vcsl_spatial_transformation.cxx.

list_of_vectors vcsl_translation::vector ( ) const [inline]

Return the angle variation along the time.

Definition at line 64 of file vcsl_translation.h.

vnl_vector< double > vcsl_translation::vector_value ( double  time) const [protected]

Compute the value of the parameter at time `time'.

Definition at line 67 of file vcsl_translation.cxx.


Member Data Documentation

vcl_vector<double> vcsl_spatial_transformation::beat_ [protected, inherited]

List of time clocks.

Definition at line 144 of file vcsl_spatial_transformation.h.

Definition at line 145 of file vcsl_spatial_transformation.h.

Direction vector variation along the time.

Definition at line 88 of file vcsl_translation.h.


The documentation for this class was generated from the following files: