Represent a location relative to the earth. More...
#include <vcsl_geographic.h>

Public Member Functions | |
| ~vcsl_geographic () override=default | |
| vcsl_spheroid_sptr | spheroid () const |
| Return the spheroid. More... | |
| void | set_spheroid (vcsl_spheroid_sptr const &s) |
| Set the spheroid. 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_cartesian_3d * | cast_to_cartesian_3d () 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 | |
| vcsl_geographic () | |
| 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 | |
| vcsl_spheroid_sptr | spheroid_ |
| Spheroid. 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... | |
Represent a location relative to the earth.
3D coordinate system that is intended to represent a location relative to the earth, although its use is not restricted to earthbound coordinate systems. See the book "Map Projections Used by the U.S. Geological Survey" (Snyder, John P., "Map Projections Used by the U.S. Geological Survey," Geological Survey Bulletin 1532, U.S. Government Printing Office, Washington, 1982.) for further detail on most of these coordinate systems.
Definition at line 27 of file vcsl_geographic.h.
|
protected |
Definition at line 8 of file vcsl_geographic.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.
|
inlinevirtualinherited |
Reimplemented in vcsl_cartesian_3d.
Definition at line 62 of file vcsl_spatial.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.
|
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 the spheroid.
Definition at line 54 of file vcsl_geographic.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.
|
inline |
Return the spheroid.
Definition at line 47 of file vcsl_geographic.h.
|
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 |
Spheroid.
Definition at line 62 of file vcsl_geographic.h.
1.8.15