Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vcsl_scale Class Reference

Scale transformation. More...

#include <vcsl_scale.h>

Inheritance diagram for vcsl_scale:
Inheritance graph
[legend]

Public Member Functions

 vcsl_scale ()=default
 
 ~vcsl_scale () override=default
 
bool is_invertible (double time) const override
 Is ‘this’ invertible at time ‘time’?. More...
 
bool is_valid () const override
 Is ‘this’ correctly set ?. More...
 
void set_static (double new_scale)
 Set the scale value of a static scale. More...
 
void set_scale (std::vector< double > const &new_scale)
 Set the scale variation along the time. More...
 
std::vector< double > scale () const
 Return the scale variation along the time. More...
 
vnl_vector< double > execute (const vnl_vector< double > &v, double time) const override
 Image of ‘v’ by ‘this’. More...
 
vnl_vector< double > inverse (const vnl_vector< double > &v, double time) const override
 Image of ‘v’ by the inverse of ‘this’. More...
 
std::vector< double > beat () const
 Return the list of time clocks. More...
 
unsigned int duration () const
 Return the time duration. More...
 
std::vector< vcsl_interpolatorinterpolators () const
 Return the list of interpolators. More...
 
bool valid_time (double time) const
 Is ‘time’ between the two time bounds ?. More...
 
int matching_interval (double time) const
 Return the index of the beat inferior or equal to ‘time’. More...
 
void set_beat (std::vector< double > const &new_beat)
 Set the list of time clocks. More...
 
void set_interpolators (std::vector< vcsl_interpolator > const &i)
 Set the list of interpolators. More...
 
void set_static ()
 Empty the time clock and interpolators, thereby making the transf static. More...
 
double lsi (double v0, double v1, int index, double time) const
 Linear interpolation on scalar values. More...
 
vnl_vector< double > lvi (const vnl_vector< double > &v0, const vnl_vector< double > &v1, int index, double time) const
 Linear interpolation on vnl_vectors. More...
 
vnl_matrix< double > lmi (const vnl_matrix< double > &m0, const vnl_matrix< double > &m1, int index, double time) const
 Linear interpolation on vnl_matrices. More...
 
vnl_quaternion< double > lqi (const vnl_quaternion< double > &v0, const vnl_quaternion< double > &v1, int index, double time) const
 Linear interpolation on quaternions. More...
 
void ref ()
 
void unref ()
 
long get_references () const
 
bool is_referenced () const
 

Protected Member Functions

double scale_value (double time) const
 Compute the value of the parameter at time ‘time’. More...
 

Protected Attributes

std::vector< double > scale_
 Scale variation along the time. More...
 
std::vector< double > beat_
 List of time clocks. More...
 
std::vector< vcsl_interpolatorinterpolator_
 

Detailed Description

Scale transformation.

Definition at line 22 of file vcsl_scale.h.

Constructor & Destructor Documentation

◆ vcsl_scale()

vcsl_scale::vcsl_scale ( )
default

◆ ~vcsl_scale()

vcsl_scale::~vcsl_scale ( )
overridedefault

Member Function Documentation

◆ beat()

std::vector<double> vcsl_spatial_transformation::beat ( ) const
inlineinherited

Return the list of time clocks.

Definition at line 65 of file vcsl_spatial_transformation.h.

◆ duration()

unsigned int vcsl_spatial_transformation::duration ( ) const
inlineinherited

Return the time duration.

Definition at line 68 of file vcsl_spatial_transformation.h.

◆ execute()

vnl_vector< double > vcsl_scale::execute ( const vnl_vector< double > &  v,
double  time 
) const
overridevirtual

Image of ‘v’ by ‘this’.

REQUIRE: is_valid() Pure virtual function of vcsl_spatial_transformation

Implements vcsl_spatial_transformation.

Definition at line 34 of file vcsl_scale.cxx.

◆ interpolators()

std::vector<vcsl_interpolator> vcsl_spatial_transformation::interpolators ( ) const
inlineinherited

Return the list of interpolators.

Definition at line 71 of file vcsl_spatial_transformation.h.

◆ inverse()

vnl_vector< double > vcsl_scale::inverse ( const vnl_vector< double > &  v,
double  time 
) const
overridevirtual

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 53 of file vcsl_scale.cxx.

◆ is_invertible()

bool vcsl_scale::is_invertible ( double  time) const
overridevirtual

Is ‘this’ invertible at time ‘time’?.

REQUIRE: valid_time(time) Pure virtual function of vcsl_spatial_transformation

Implements vcsl_spatial_transformation.

Definition at line 12 of file vcsl_scale.cxx.

◆ is_valid()

bool vcsl_scale::is_valid ( ) const
inlineoverridevirtual

Is ‘this’ correctly set ?.

Virtual function of vcsl_spatial_transformation

Reimplemented from vcsl_spatial_transformation.

Definition at line 47 of file vcsl_scale.h.

◆ lmi()

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 94 of file vcsl_spatial_transformation.cxx.

◆ lqi()

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 121 of file vcsl_spatial_transformation.cxx.

◆ lsi()

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

Linear interpolation on scalar values.

Definition at line 53 of file vcsl_spatial_transformation.cxx.

◆ lvi()

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 69 of file vcsl_spatial_transformation.cxx.

◆ matching_interval()

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 22 of file vcsl_spatial_transformation.cxx.

◆ scale()

std::vector<double> vcsl_scale::scale ( ) const
inline

Return the scale variation along the time.

Definition at line 63 of file vcsl_scale.h.

◆ scale_value()

double vcsl_scale::scale_value ( double  time) const
protected

Compute the value of the parameter at time ‘time’.

Definition at line 71 of file vcsl_scale.cxx.

◆ set_beat()

void vcsl_spatial_transformation::set_beat ( std::vector< double > const &  new_beat)
inlineinherited

Set the list of time clocks.

Definition at line 109 of file vcsl_spatial_transformation.h.

◆ set_interpolators()

void vcsl_spatial_transformation::set_interpolators ( std::vector< vcsl_interpolator > const &  i)
inlineinherited

Set the list of interpolators.

Definition at line 112 of file vcsl_spatial_transformation.h.

◆ set_scale()

void vcsl_scale::set_scale ( std::vector< double > const &  new_scale)
inline

Set the scale variation along the time.

Definition at line 60 of file vcsl_scale.h.

◆ set_static() [1/2]

void vcsl_scale::set_static ( double  new_scale)

Set the scale value of a static scale.

Definition at line 23 of file vcsl_scale.cxx.

◆ set_static() [2/2]

void vcsl_spatial_transformation::set_static ( )
inherited

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

Definition at line 44 of file vcsl_spatial_transformation.cxx.

◆ valid_time()

bool vcsl_spatial_transformation::valid_time ( double  time) const
inherited

Is ‘time’ between the two time bounds ?.

Definition at line 12 of file vcsl_spatial_transformation.cxx.

Member Data Documentation

◆ beat_

std::vector<double> vcsl_spatial_transformation::beat_
protectedinherited

List of time clocks.

Definition at line 147 of file vcsl_spatial_transformation.h.

◆ interpolator_

std::vector<vcsl_interpolator> vcsl_spatial_transformation::interpolator_
protectedinherited

Definition at line 148 of file vcsl_spatial_transformation.h.

◆ scale_

std::vector<double> vcsl_scale::scale_
protected

Scale variation along the time.

Definition at line 88 of file vcsl_scale.h.


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