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

3D coordinate system specified by distance rho, angle theta and distance z. More...

#include <vcsl_cylindrical.h>

Inheritance diagram for vcsl_cylindrical:
Inheritance graph
[legend]

Public Member Functions

 vcsl_cylindrical ()
 
 ~vcsl_cylindrical () override=default
 
const vcsl_cylindricalcast_to_cylindrical () const override
 
const vcsl_spatialcast_to_spatial () const override
 
virtual const vcsl_cartesian_2dcast_to_cartesian_2d () const
 
virtual const vcsl_polarcast_to_polar () const
 
virtual const vcsl_cartesian_3dcast_to_cartesian_3d () const
 
virtual const vcsl_sphericalcast_to_spherical () const
 
std::vector< double > beat () const
 Return the list of time clocks. More...
 
unsigned int duration () const
 Return the time duration. More...
 
std::vector< vcsl_spatial_sptrparent () const
 Return the list of parent coordinate system along the time. More...
 
std::vector< vcsl_spatial_transformation_sptrmotion () const
 Return the list of transformations along the time. More...
 
bool valid_time (double time) const
 Is ‘time’ between the two time bounds ?. More...
 
void set_beat (std::vector< double > const &new_beat)
 Set the list of time clocks. More...
 
void set_parent (std::vector< vcsl_spatial_sptr > const &new_parent)
 Set the list of parent coordinate system along the time. More...
 
void set_motion (std::vector< vcsl_spatial_transformation_sptr > const &m)
 Set the list of transformations along the time. More...
 
void set_unique (const vcsl_spatial_sptr &new_parent, const vcsl_spatial_transformation_sptr &new_motion)
 Set the unique parent and the unique motion. More...
 
virtual int matching_interval (double time) const
 Return the index of the beat inferior or equal to ‘time’. More...
 
virtual bool path_from_local_to_cs_exists (const vcsl_spatial_sptr &other, double time)
 Does a path from ‘this’ to ‘other’ exist ?. More...
 
virtual bool is_absolute (double time) const
 Is ‘this’ an absolute spatial coordinate system at time ‘time’?. More...
 
virtual vnl_vector< double > from_local_to_cs (const vnl_vector< double > &v, const vcsl_spatial_sptr &other, double time)
 Return v but expressed in the spatial coordinate system ‘other’. More...
 
virtual void set_graph (const vcsl_graph_sptr &new_graph)
 
int dimensionality () const
 Number of axes. More...
 
bool valid_axis (unsigned int i) const
 Is ‘i’ an index on an axis ?. More...
 
vcsl_axis_sptr axis (int i) const
 Return the axis ‘i’. More...
 
vnl_vector< double > from_cs_to_standard_units (const vnl_vector< double > &v) const
 Convert ‘v’, expressed with cs units, to standard units. More...
 
vnl_vector< double > from_standard_units_to_cs (const vnl_vector< double > &v) const
 Convert ‘v’, expressed with standard units, to cs units. More...
 
void ref ()
 
void unref ()
 
long get_references () const
 
bool is_referenced () const
 

Protected Member Functions

virtual bool recursive_path_from_local_to_cs_exists (const vcsl_spatial_sptr &other, double time)
 Does a path from ‘this’ to ‘other’ exist ?. More...
 
virtual void path_from_local_to_cs (const vcsl_spatial_sptr &other, double time, std::vector< vcsl_spatial_transformation_sptr > &path, VCSL_SPATIAL_VECTOR_BOOL &sens)
 Find the sequence of transformations from ‘this’ to ‘other’. More...
 
virtual bool recursive_path_from_local_to_cs (const vcsl_spatial_sptr &other, double time, std::vector< vcsl_spatial_transformation_sptr > &path, VCSL_SPATIAL_VECTOR_BOOL &sens)
 Find the sequence of transformations from ‘this’ to ‘other’. More...
 

Protected Attributes

std::vector< vcsl_spatial_sptrparent_
 successive parents of ‘this’ along the time. More...
 
std::vector< double > beat_
 Clock times. More...
 
std::vector< vcsl_spatial_transformation_sptrmotion_
 successive transformations from ‘this’ to ‘parent’ along the time. More...
 
std::vector< vcsl_spatial_sptrpotential_children_
 List of spatial coordinate system that can be child of ‘this’ at a time. More...
 
vcsl_graph_sptr graph_
 List of all the spatial coordinate system of the graph. More...
 
bool reached_
 True if ‘this’ is already reached during the search path algorithm. More...
 
std::vector< vcsl_axis_sptraxes_
 List of axes. More...
 

Detailed Description

3D coordinate system specified by distance rho, angle theta and distance z.

Definition at line 18 of file vcsl_cylindrical.h.

Constructor & Destructor Documentation

◆ vcsl_cylindrical()

vcsl_cylindrical::vcsl_cylindrical ( )

Definition at line 9 of file vcsl_cylindrical.cxx.

◆ ~vcsl_cylindrical()

vcsl_cylindrical::~vcsl_cylindrical ( )
overridedefault

Member Function Documentation

◆ axis()

vcsl_axis_sptr vcsl_coordinate_system::axis ( int  i) const
inherited

Return the axis ‘i’.

REQUIRE: valid_axis(i)

Definition at line 14 of file vcsl_coordinate_system.cxx.

◆ beat()

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

Return the list of time clocks.

Definition at line 71 of file vcsl_spatial.h.

◆ cast_to_cartesian_2d()

virtual const vcsl_cartesian_2d* vcsl_spatial::cast_to_cartesian_2d ( ) const
inlinevirtualinherited

Reimplemented in vcsl_cartesian_2d.

Definition at line 60 of file vcsl_spatial.h.

◆ cast_to_cartesian_3d()

virtual const vcsl_cartesian_3d* vcsl_spatial::cast_to_cartesian_3d ( ) const
inlinevirtualinherited

Reimplemented in vcsl_cartesian_3d.

Definition at line 62 of file vcsl_spatial.h.

◆ cast_to_cylindrical()

const vcsl_cylindrical* vcsl_cylindrical::cast_to_cylindrical ( ) const
inlineoverridevirtual

Reimplemented from vcsl_spatial.

Definition at line 36 of file vcsl_cylindrical.h.

◆ cast_to_polar()

virtual const vcsl_polar* vcsl_spatial::cast_to_polar ( ) const
inlinevirtualinherited

Reimplemented in vcsl_polar.

Definition at line 61 of file vcsl_spatial.h.

◆ cast_to_spatial()

const vcsl_spatial* vcsl_spatial::cast_to_spatial ( ) const
inlineoverridevirtualinherited

Reimplemented from vcsl_coordinate_system.

Definition at line 59 of file vcsl_spatial.h.

◆ cast_to_spherical()

virtual const vcsl_spherical* vcsl_spatial::cast_to_spherical ( ) const
inlinevirtualinherited

Reimplemented in vcsl_spherical.

Definition at line 64 of file vcsl_spatial.h.

◆ dimensionality()

int vcsl_coordinate_system::dimensionality ( ) const
inlineinherited

Number of axes.

Definition at line 52 of file vcsl_coordinate_system.h.

◆ duration()

unsigned int vcsl_spatial::duration ( ) const
inlineinherited

Return the time duration.

Definition at line 74 of file vcsl_spatial.h.

◆ from_cs_to_standard_units()

vnl_vector< double > vcsl_coordinate_system::from_cs_to_standard_units ( const vnl_vector< double > &  v) const
inherited

Convert ‘v’, expressed with cs units, to standard units.

REQUIRE: v.size()==dimensionality()

Definition at line 27 of file vcsl_coordinate_system.cxx.

◆ from_local_to_cs()

vnl_vector< double > vcsl_spatial::from_local_to_cs ( const vnl_vector< double > &  v,
const vcsl_spatial_sptr other,
double  time 
)
virtualinherited

Return v but expressed in the spatial coordinate system ‘other’.

REQUIRE: path_from_local_to_cs_exists(other,time)

Definition at line 293 of file vcsl_spatial.cxx.

◆ from_standard_units_to_cs()

vnl_vector< double > vcsl_coordinate_system::from_standard_units_to_cs ( const vnl_vector< double > &  v) const
inherited

Convert ‘v’, expressed with standard units, to cs units.

REQUIRE: v.size()==dimensionality()

Definition at line 44 of file vcsl_coordinate_system.cxx.

◆ is_absolute()

bool vcsl_spatial::is_absolute ( double  time) const
virtualinherited

Is ‘this’ an absolute spatial coordinate system at time ‘time’?.

REQUIRE: valid_time(time)

Definition at line 271 of file vcsl_spatial.cxx.

◆ matching_interval()

int vcsl_spatial::matching_interval ( double  time) const
virtualinherited

Return the index of the beat inferior or equal to ‘time’.

REQUIRE: parent().size()!=0 REQUIRE: valid_time(time)

Definition at line 74 of file vcsl_spatial.cxx.

◆ motion()

std::vector<vcsl_spatial_transformation_sptr> vcsl_spatial::motion ( ) const
inlineinherited

Return the list of transformations along the time.

Definition at line 80 of file vcsl_spatial.h.

◆ parent()

std::vector<vcsl_spatial_sptr> vcsl_spatial::parent ( ) const
inlineinherited

Return the list of parent coordinate system along the time.

Definition at line 77 of file vcsl_spatial.h.

◆ path_from_local_to_cs()

void vcsl_spatial::path_from_local_to_cs ( const vcsl_spatial_sptr other,
double  time,
std::vector< vcsl_spatial_transformation_sptr > &  path,
VCSL_SPATIAL_VECTOR_BOOL sens 
)
protectedvirtualinherited

Find the sequence of transformations from ‘this’ to ‘other’.

REQUIRE: path.size()==0 and sens.size()==0 REQUIRE: path_from_local_to_cs_exists()

Definition at line 168 of file vcsl_spatial.cxx.

◆ path_from_local_to_cs_exists()

bool vcsl_spatial::path_from_local_to_cs_exists ( const vcsl_spatial_sptr other,
double  time 
)
virtualinherited

Does a path from ‘this’ to ‘other’ exist ?.

Definition at line 97 of file vcsl_spatial.cxx.

◆ recursive_path_from_local_to_cs()

bool vcsl_spatial::recursive_path_from_local_to_cs ( const vcsl_spatial_sptr other,
double  time,
std::vector< vcsl_spatial_transformation_sptr > &  path,
VCSL_SPATIAL_VECTOR_BOOL sens 
)
protectedvirtualinherited

Find the sequence of transformations from ‘this’ to ‘other’.

Called only by path_from_local_to_cs()

Definition at line 189 of file vcsl_spatial.cxx.

◆ recursive_path_from_local_to_cs_exists()

bool vcsl_spatial::recursive_path_from_local_to_cs_exists ( const vcsl_spatial_sptr other,
double  time 
)
protectedvirtualinherited

Does a path from ‘this’ to ‘other’ exist ?.

Called only by path_to_cs_exists()

Definition at line 109 of file vcsl_spatial.cxx.

◆ set_beat()

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

Set the list of time clocks.

Definition at line 90 of file vcsl_spatial.h.

◆ set_graph()

void vcsl_spatial::set_graph ( const vcsl_graph_sptr new_graph)
virtualinherited

Definition at line 322 of file vcsl_spatial.cxx.

◆ set_motion()

void vcsl_spatial::set_motion ( std::vector< vcsl_spatial_transformation_sptr > const &  m)
inlineinherited

Set the list of transformations along the time.

Definition at line 96 of file vcsl_spatial.h.

◆ set_parent()

void vcsl_spatial::set_parent ( std::vector< vcsl_spatial_sptr > const &  new_parent)
inherited

Set the list of parent coordinate system along the time.

Definition at line 33 of file vcsl_spatial.cxx.

◆ set_unique()

void vcsl_spatial::set_unique ( const vcsl_spatial_sptr new_parent,
const vcsl_spatial_transformation_sptr new_motion 
)
inherited

Set the unique parent and the unique motion.

Can be called to initialize a CS for the first time. Dynamically allocates space for parent_ and motion_. Makes new_parent and new_motion the first element of each, respectively.

Does not set beat_. Effectively, new_parent and new_motion are valid for all times. However, a subsequent call to set_beat() could add a list of clocks with a time corresponding to (*parent_)[0] and (*motion_)[0].

Parameters
new_parentCS that 'this' is derived from.
new_motionThe transformation from new_parent to 'this'.

Definition at line 60 of file vcsl_spatial.cxx.

◆ valid_axis()

bool vcsl_coordinate_system::valid_axis ( unsigned int  i) const
inlineinherited

Is ‘i’ an index on an axis ?.

Definition at line 55 of file vcsl_coordinate_system.h.

◆ valid_time()

bool vcsl_spatial::valid_time ( double  time) const
inherited

Is ‘time’ between the two time bounds ?.

Definition at line 22 of file vcsl_spatial.cxx.

Member Data Documentation

◆ axes_

std::vector<vcsl_axis_sptr> vcsl_coordinate_system::axes_
protectedinherited

List of axes.

Definition at line 86 of file vcsl_coordinate_system.h.

◆ beat_

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

Clock times.

Definition at line 175 of file vcsl_spatial.h.

◆ graph_

vcsl_graph_sptr vcsl_spatial::graph_
protectedinherited

List of all the spatial coordinate system of the graph.

Definition at line 184 of file vcsl_spatial.h.

◆ motion_

std::vector<vcsl_spatial_transformation_sptr> vcsl_spatial::motion_
protectedinherited

successive transformations from ‘this’ to ‘parent’ along the time.

Definition at line 178 of file vcsl_spatial.h.

◆ parent_

std::vector<vcsl_spatial_sptr> vcsl_spatial::parent_
protectedinherited

successive parents of ‘this’ along the time.

Definition at line 172 of file vcsl_spatial.h.

◆ potential_children_

std::vector<vcsl_spatial_sptr> vcsl_spatial::potential_children_
protectedinherited

List of spatial coordinate system that can be child of ‘this’ at a time.

Definition at line 181 of file vcsl_spatial.h.

◆ reached_

bool vcsl_spatial::reached_
protectedinherited

True if ‘this’ is already reached during the search path algorithm.

Definition at line 187 of file vcsl_spatial.h.


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