Transformation between 2 spatial coordinate systems. More...
#include <vcsl_spatial_transformation.h>

| Public Member Functions | |
| vcsl_spatial_transformation (vcsl_spatial_transformation const &x) | |
| virtual | ~vcsl_spatial_transformation () | 
| vcl_vector< double > | beat () const | 
| Return the list of time clocks. | |
| unsigned int | duration () const | 
| Return the time duration. | |
| vcl_vector< vcsl_interpolator > | interpolators () const | 
| Return the list of interpolators. | |
| bool | valid_time (double time) const | 
| Is `time' between the two time bounds ?. | |
| virtual bool | is_invertible (double time) const =0 | 
| Is `this' invertible at time `time'?. | |
| virtual bool | is_valid () const | 
| Is `this' correctly set ?. | |
| int | matching_interval (double time) const | 
| Return the index of the beat inferior or equal to `time'. | |
| virtual vnl_vector< double > | execute (const vnl_vector< double > &v, double time) const =0 | 
| Image of `v' by `this'. | |
| virtual vnl_vector< double > | inverse (const vnl_vector< double > &v, double time) const =0 | 
| Image of `v' by the inverse of `this'. | |
| 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 | |
| vcsl_spatial_transformation () | |
| Protected Attributes | |
| vcl_vector< double > | beat_ | 
| List of time clocks. | |
| vcl_vector< vcsl_interpolator > | interpolator_ | 
Transformation between 2 spatial coordinate systems.
A spatial transformation can be static or dynamic
Definition at line 39 of file vcsl_spatial_transformation.h.
| vcsl_spatial_transformation::vcsl_spatial_transformation | ( | ) |  [inline, protected] | 
Definition at line 47 of file vcsl_spatial_transformation.h.
| vcsl_spatial_transformation::vcsl_spatial_transformation | ( | vcsl_spatial_transformation const & | x | ) |  [inline] | 
Definition at line 51 of file vcsl_spatial_transformation.h.
| virtual vcsl_spatial_transformation::~vcsl_spatial_transformation | ( | ) |  [inline, virtual] | 
Definition at line 55 of file vcsl_spatial_transformation.h.
| vcl_vector<double> vcsl_spatial_transformation::beat | ( | ) | const  [inline] | 
Return the list of time clocks.
Definition at line 62 of file vcsl_spatial_transformation.h.
| unsigned int vcsl_spatial_transformation::duration | ( | ) | const  [inline] | 
Return the time duration.
Definition at line 65 of file vcsl_spatial_transformation.h.
| virtual vnl_vector<double> vcsl_spatial_transformation::execute | ( | const vnl_vector< double > & | v, | 
| double | time | ||
| ) | const  [pure virtual] | 
Image of `v' by `this'.
REQUIRE: is_valid()
Implemented in vcsl_rotation, vcsl_perspective, vcsl_translation, vcsl_scale, vcsl_composition, vcsl_displacement, vcsl_matrix, and vcsl_cylindrical_to_cartesian_3d.
| vcl_vector<vcsl_interpolator> vcsl_spatial_transformation::interpolators | ( | ) | const  [inline] | 
Return the list of interpolators.
Definition at line 68 of file vcsl_spatial_transformation.h.
| virtual vnl_vector<double> vcsl_spatial_transformation::inverse | ( | const vnl_vector< double > & | v, | 
| double | time | ||
| ) | const  [pure virtual] | 
Image of `v' by the inverse of `this'.
REQUIRE: is_invertible(time) REQUIRE: is_valid()
Implemented in vcsl_rotation, vcsl_perspective, vcsl_translation, vcsl_scale, vcsl_composition, vcsl_displacement, vcsl_matrix, and vcsl_cylindrical_to_cartesian_3d.
| virtual bool vcsl_spatial_transformation::is_invertible | ( | double | time | ) | const  [pure virtual] | 
Is `this' invertible at time `time'?.
REQUIRE: valid_time(time)
Implemented in vcsl_perspective, vcsl_rotation, vcsl_matrix, vcsl_composition, vcsl_translation, vcsl_scale, and vcsl_cylindrical_to_cartesian_3d.
| virtual bool vcsl_spatial_transformation::is_valid | ( | ) | const  [inline, virtual] | 
Is `this' correctly set ?.
Reimplemented in vcsl_perspective, vcsl_rotation, vcsl_matrix, vcsl_composition, vcsl_translation, vcsl_scale, vcsl_cylindrical_to_cartesian_3d, and vcsl_displacement.
Definition at line 78 of file vcsl_spatial_transformation.h.
| vnl_matrix< double > vcsl_spatial_transformation::lmi | ( | const vnl_matrix< double > & | m0, | 
| const vnl_matrix< double > & | m1, | ||
| int | index, | ||
| double | time | ||
| ) | const | 
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 | 
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 | 
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 | 
Linear interpolation on vnl_vectors.
Definition at line 66 of file vcsl_spatial_transformation.cxx.
| int vcsl_spatial_transformation::matching_interval | ( | double | time | ) | const | 
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] | 
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] | 
Set the list of interpolators.
Definition at line 109 of file vcsl_spatial_transformation.h.
| void vcsl_spatial_transformation::set_static | ( | ) | 
Empty the time clock and interpolators, thereby making the transf static.
Definition at line 41 of file vcsl_spatial_transformation.cxx.
| bool vcsl_spatial_transformation::valid_time | ( | double | time | ) | const | 
Is `time' between the two time bounds ?.
Definition at line 9 of file vcsl_spatial_transformation.cxx.
| vcl_vector<double> vcsl_spatial_transformation::beat_  [protected] | 
List of time clocks.
Definition at line 144 of file vcsl_spatial_transformation.h.
| vcl_vector<vcsl_interpolator> vcsl_spatial_transformation::interpolator_  [protected] | 
Definition at line 145 of file vcsl_spatial_transformation.h.
 1.7.5.1
 1.7.5.1