IMP logo
IMP Reference Guide  2.22.0
The Integrative Modeling Platform
IMP::algebra::VectorBaseD< D > Class Template Reference

A Cartesian vector in D-dimensions. More...

#include <IMP/algebra/VectorBaseD.h>

+ Inheritance diagram for IMP::algebra::VectorBaseD< D >:

Detailed Description

template<int D>
class IMP::algebra::VectorBaseD< D >

A Cartesian vector in D-dimensions.

Store a vector of Cartesian coordinates. It supports all expected mathematical operators, including using * for the dot product.

See Also
Vector3D
Vector2D

See geometric primitives for more information.

Definition at line 58 of file VectorBaseD.h.

Public Types

typedef const double * const_iterator
 
typedef const double & const_reference
 
typedef std::ptrdiff_t difference_type
 
typedef double * iterator
 
typedef
std::random_access_iterator_tag 
iterator_category
 
typedef double * pointer
 
typedef double & reference
 
typedef double value_type
 

Public Member Functions

template<class Range >
 VectorBaseD (const Range &r)
 
 VectorBaseD ()
 Default constructor. More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
Floats get_coordinates () const
 
const double * get_data () const
 Return a pointer to the data stored. More...
 
unsigned int get_dimension () const
 
double get_distance (const VectorBaseD< D > &o) const
 Return the distance between this and another vector. More...
 
double get_magnitude () const
 
double get_scalar_product (const VectorBaseD &o) const
 
double get_squared_magnitude () const
 
template<class R >
VectorBaseD< D > & operator= (const R &r)
 
double operator[] (unsigned int i) const
 Return the ith Cartesian coordinate. More...
 
double & operator[] (unsigned int i)
 Return the ith Cartesian coordinate. More...
 

Static Public Attributes

static const int DIMENSION = D
 

Constructor & Destructor Documentation

template<int D>
template<class Range >
IMP::algebra::VectorBaseD< D >::VectorBaseD ( const Range &  r)
explicit

Will accept a list of floats from Python.

Definition at line 89 of file VectorBaseD.h.

template<int D>
IMP::algebra::VectorBaseD< D >::VectorBaseD ( )

Default constructor.

Definition at line 133 of file VectorBaseD.h.

Member Function Documentation

template<int D>
const double* IMP::algebra::VectorBaseD< D >::get_data ( ) const

Return a pointer to the data stored.

Useful for conversion to other types.

Definition at line 257 of file VectorBaseD.h.

template<int D>
double IMP::algebra::VectorBaseD< D >::get_distance ( const VectorBaseD< D > &  o) const

Return the distance between this and another vector.

This is essentially identical to (v1 - v2).get_magnitude() but may be slightly more efficient as it avoids creating a temporary vector object.

Definition at line 164 of file VectorBaseD.h.

template<int D>
double IMP::algebra::VectorBaseD< D >::operator[] ( unsigned int  i) const

Return the ith Cartesian coordinate.

In 3D use [0] to get the x coordinate etc.

Definition at line 119 of file VectorBaseD.h.

template<int D>
double& IMP::algebra::VectorBaseD< D >::operator[] ( unsigned int  i)

Return the ith Cartesian coordinate.

In 3D use [0] to get the x coordinate etc.

Definition at line 126 of file VectorBaseD.h.


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