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

Cartesian coordinate system. More...

#include <vcsl_cartesian.h>

Inheritance diagram for vcsl_cartesian:
Inheritance graph
[legend]

Public Member Functions

 ~vcsl_cartesian () override=default
 
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...
 
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...
 
virtual const vcsl_spatialcast_to_spatial () const
 
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 Attributes

bool right_handed_
 True if the axes of ‘this’ are right handed. More...
 
std::vector< vcsl_axis_sptraxes_
 List of axes. More...
 

Private Member Functions

 vcsl_cartesian ()
 Default constructor. Sets itself right handed. More...
 

Detailed Description

Cartesian coordinate system.

The axes of a cartesian coordinate system are orthogonal and normally right handed. This is not necessarily a spatial coordinate system.

Definition at line 20 of file vcsl_cartesian.h.

Constructor & Destructor Documentation

◆ vcsl_cartesian()

vcsl_cartesian::vcsl_cartesian ( )
inlineprivate

Default constructor. Sets itself right handed.

Definition at line 28 of file vcsl_cartesian.h.

◆ ~vcsl_cartesian()

vcsl_cartesian::~vcsl_cartesian ( )
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.

◆ cast_to_spatial()

virtual const vcsl_spatial* vcsl_coordinate_system::cast_to_spatial ( ) const
inlinevirtualinherited

Reimplemented in vcsl_spatial.

Definition at line 64 of file vcsl_coordinate_system.h.

◆ dimensionality()

int vcsl_coordinate_system::dimensionality ( ) const
inlineinherited

Number of axes.

Definition at line 52 of file vcsl_coordinate_system.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_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_right_handed()

bool vcsl_cartesian::is_right_handed ( ) const
inline

Are the axes of ‘this’ right handed ?.

Definition at line 39 of file vcsl_cartesian.h.

◆ set_right_handed()

void vcsl_cartesian::set_right_handed ( bool  val)
inline

Set whether the coordinate system is right handed or not.

Definition at line 46 of file vcsl_cartesian.h.

◆ 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.

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.

◆ right_handed_

bool vcsl_cartesian::right_handed_
protected

True if the axes of ‘this’ are right handed.

Definition at line 54 of file vcsl_cartesian.h.


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