IMP Reference Guide  develop.ba5ef9f91e,2024/02/26 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.

Vector3D
Vector2D

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: