3D Cartesian coordinate system. More...
#include <vcsl_cartesian_3d.h>

Public Member Functions | |
| vcsl_cartesian_3d () | |
| ~vcsl_cartesian_3d () override=default | |
| const vcsl_cartesian_3d * | cast_to_cartesian_3d () const override |
| bool | is_right_handed () const |
| Are the axes of ‘this’ right handed ?. More... | |
| void | set_right_handed (bool val) |
| Set whether the coordinate system is right handed or not. More... | |
| const vcsl_spatial * | cast_to_spatial () const override |
| virtual const vcsl_cartesian_2d * | cast_to_cartesian_2d () const |
| virtual const vcsl_polar * | cast_to_polar () const |
| virtual const vcsl_cylindrical * | cast_to_cylindrical () const |
| virtual const vcsl_spherical * | cast_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_sptr > | parent () const |
| Return the list of parent coordinate system along the time. More... | |
| std::vector< vcsl_spatial_transformation_sptr > | motion () 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 | |
| bool | right_handed_ |
| True if the axes of ‘this’ are right handed. More... | |
| std::vector< vcsl_spatial_sptr > | parent_ |
| successive parents of ‘this’ along the time. More... | |
| std::vector< double > | beat_ |
| Clock times. More... | |
| std::vector< vcsl_spatial_transformation_sptr > | motion_ |
| successive transformations from ‘this’ to ‘parent’ along the time. More... | |
| std::vector< vcsl_spatial_sptr > | potential_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_sptr > | axes_ |
| List of axes. More... | |
3D Cartesian coordinate system.
Definition at line 18 of file vcsl_cartesian_3d.h.
| vcsl_cartesian_3d::vcsl_cartesian_3d | ( | ) |
Definition at line 8 of file vcsl_cartesian_3d.cxx.
|
overridedefault |
|
inherited |
Return the axis ‘i’.
REQUIRE: valid_axis(i)
Definition at line 14 of file vcsl_coordinate_system.cxx.
|
inlineinherited |
Return the list of time clocks.
Definition at line 71 of file vcsl_spatial.h.
|
inlinevirtualinherited |
Reimplemented in vcsl_cartesian_2d.
Definition at line 60 of file vcsl_spatial.h.
|
inlineoverridevirtual |
Reimplemented from vcsl_spatial.
Definition at line 36 of file vcsl_cartesian_3d.h.
|
inlinevirtualinherited |
Reimplemented in vcsl_cylindrical.
Definition at line 63 of file vcsl_spatial.h.
|
inlinevirtualinherited |
Reimplemented in vcsl_polar.
Definition at line 61 of file vcsl_spatial.h.
|
inlineoverridevirtualinherited |
Reimplemented from vcsl_coordinate_system.
Definition at line 59 of file vcsl_spatial.h.
|
inlinevirtualinherited |
Reimplemented in vcsl_spherical.
Definition at line 64 of file vcsl_spatial.h.
|
inlineinherited |
Number of axes.
Definition at line 52 of file vcsl_coordinate_system.h.
|
inlineinherited |
Return the time duration.
Definition at line 74 of file vcsl_spatial.h.
|
inherited |
Convert ‘v’, expressed with cs units, to standard units.
REQUIRE: v.size()==dimensionality()
Definition at line 27 of file vcsl_coordinate_system.cxx.
|
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.
|
inherited |
Convert ‘v’, expressed with standard units, to cs units.
REQUIRE: v.size()==dimensionality()
Definition at line 44 of file vcsl_coordinate_system.cxx.
|
virtualinherited |
Is ‘this’ an absolute spatial coordinate system at time ‘time’?.
REQUIRE: valid_time(time)
Definition at line 271 of file vcsl_spatial.cxx.
|
inline |
Are the axes of ‘this’ right handed ?.
Definition at line 43 of file vcsl_cartesian_3d.h.
|
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.
|
inlineinherited |
Return the list of transformations along the time.
Definition at line 80 of file vcsl_spatial.h.
|
inlineinherited |
Return the list of parent coordinate system along the time.
Definition at line 77 of file vcsl_spatial.h.
|
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.
|
virtualinherited |
Does a path from ‘this’ to ‘other’ exist ?.
Definition at line 97 of file vcsl_spatial.cxx.
|
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.
|
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.
|
inlineinherited |
Set the list of time clocks.
Definition at line 90 of file vcsl_spatial.h.
|
virtualinherited |
Definition at line 322 of file vcsl_spatial.cxx.
|
inlineinherited |
Set the list of transformations along the time.
Definition at line 96 of file vcsl_spatial.h.
|
inherited |
Set the list of parent coordinate system along the time.
Definition at line 33 of file vcsl_spatial.cxx.
|
inline |
Set whether the coordinate system is right handed or not.
Definition at line 50 of file vcsl_cartesian_3d.h.
|
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].
| new_parent | CS that 'this' is derived from. |
| new_motion | The transformation from new_parent to 'this'. |
Definition at line 60 of file vcsl_spatial.cxx.
|
inlineinherited |
Is ‘i’ an index on an axis ?.
Definition at line 55 of file vcsl_coordinate_system.h.
|
inherited |
Is ‘time’ between the two time bounds ?.
Definition at line 22 of file vcsl_spatial.cxx.
|
protectedinherited |
List of axes.
Definition at line 86 of file vcsl_coordinate_system.h.
|
protectedinherited |
Clock times.
Definition at line 175 of file vcsl_spatial.h.
|
protectedinherited |
List of all the spatial coordinate system of the graph.
Definition at line 184 of file vcsl_spatial.h.
|
protectedinherited |
successive transformations from ‘this’ to ‘parent’ along the time.
Definition at line 178 of file vcsl_spatial.h.
|
protectedinherited |
successive parents of ‘this’ along the time.
Definition at line 172 of file vcsl_spatial.h.
|
protectedinherited |
List of spatial coordinate system that can be child of ‘this’ at a time.
Definition at line 181 of file vcsl_spatial.h.
|
protectedinherited |
True if ‘this’ is already reached during the search path algorithm.
Definition at line 187 of file vcsl_spatial.h.
|
protected |
True if the axes of ‘this’ are right handed.
Definition at line 58 of file vcsl_cartesian_3d.h.
1.8.15