Public Member Functions | Private Attributes | List of all members
ecl::CartesianPoint< T, N > Class Template Reference

Generic container storing a cartesian point of dimension N. More...

#include <cartesian_point.hpp>

Public Member Functions

 CartesianPoint (const T &value=T())
 Default constructor - sets all elements to the same value. More...
 
 CartesianPoint (const ecl::linear_algebra::Matrix< T, N, 1 > &point_vector)
 Initialises with the specified eigen style vector. More...
 
ecl::linear_algebra::CommaInitializer< ecl::linear_algebra::Matrix< T, N, 1 > > operator<< (const T &value)
 
T & operator[] (const unsigned int &index)
 Array like accessor. More...
 
const T & operator[] (const unsigned int &index) const
 Const array like accessor. More...
 
ecl::linear_algebra::Matrix< T, N, 1 > & positionVector ()
 Representation of the position vector in eigen vector format. More...
 
const ecl::linear_algebra::Matrix< T, N, 1 > & positionVector () const
 Representation of the position vector in const eigen vector format. More...
 

Private Attributes

ecl::linear_algebra::Matrix< T, N, 1 > elements
 

Detailed Description

template<typename T, unsigned int N>
class ecl::CartesianPoint< T, N >

Generic container storing a cartesian point of dimension N.

This simply stores a cartesian point as a vector of dimension N.

Template Parameters
T: the underlying element type.
N: the dimension.
See also
CartesianPoint<T,3>, CartesianPoint<T,2>.

Definition at line 46 of file cartesian_point.hpp.

Constructor & Destructor Documentation

◆ CartesianPoint() [1/2]

template<typename T , unsigned int N>
ecl::CartesianPoint< T, N >::CartesianPoint ( const T &  value = T())
inline

Default constructor - sets all elements to the same value.

Definition at line 51 of file cartesian_point.hpp.

◆ CartesianPoint() [2/2]

template<typename T , unsigned int N>
ecl::CartesianPoint< T, N >::CartesianPoint ( const ecl::linear_algebra::Matrix< T, N, 1 > &  point_vector)
inline

Initialises with the specified eigen style vector.

Parameters
point_vector: input eigen style vector.

Definition at line 57 of file cartesian_point.hpp.

Member Function Documentation

◆ operator<<()

template<typename T , unsigned int N>
ecl::linear_algebra::CommaInitializer< ecl::linear_algebra::Matrix<T,N,1> > ecl::CartesianPoint< T, N >::operator<< ( const T &  value)
inline

Provides a comma initialisation facility. This initiates the comma initialiser with an iterator to the underlying elements and then leaves the initialiser to do the rest.

CartesianPoint<double,3> point; // At this point it is initialised with default values.
point << 1.0,2.0,3.0;
Parameters
value: the first of three points to enter.
Returns
CommaInitialiser : eigen's comma initialiser mechanism.

Definition at line 75 of file cartesian_point.hpp.

◆ operator[]() [1/2]

template<typename T , unsigned int N>
T& ecl::CartesianPoint< T, N >::operator[] ( const unsigned int &  index)
inline

Array like accessor.

Parameters
index: idnex of the element to access.
Returns
T& : handle to the underlying element.
Exceptions
StandardException: throws if the index is outside of the array range [debug mode only].

Definition at line 86 of file cartesian_point.hpp.

◆ operator[]() [2/2]

template<typename T , unsigned int N>
const T& ecl::CartesianPoint< T, N >::operator[] ( const unsigned int &  index) const
inline

Const array like accessor.

Parameters
index: idnex of the element to access.
Returns
const T& : handle to the underlying element.
Exceptions
StandardException: throws if the index is outside of the array range [debug mode only].

Definition at line 98 of file cartesian_point.hpp.

◆ positionVector() [1/2]

template<typename T , unsigned int N>
ecl::linear_algebra::Matrix<T,N,1>& ecl::CartesianPoint< T, N >::positionVector ( )
inline

Representation of the position vector in eigen vector format.

Converts representation to an eigen vector reference - oft necessary in mathematics calculations.

Returns
Matrix<T,N,1> : a reference to the underlying storage container.

Definition at line 113 of file cartesian_point.hpp.

◆ positionVector() [2/2]

template<typename T , unsigned int N>
const ecl::linear_algebra::Matrix<T,N,1>& ecl::CartesianPoint< T, N >::positionVector ( ) const
inline

Representation of the position vector in const eigen vector format.

Converts representation to a const eigen vector reference - oft necessary in mathematics calculations.

Returns
Matrix<T,N,1> : a reference to the underlying storage container.

Definition at line 121 of file cartesian_point.hpp.

Member Data Documentation

◆ elements

template<typename T , unsigned int N>
ecl::linear_algebra::Matrix<T,N,1> ecl::CartesianPoint< T, N >::elements
private

Definition at line 126 of file cartesian_point.hpp.


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


ecl_geometry
Author(s): Daniel Stonier
autogenerated on Mon Feb 28 2022 22:18:49