MSpin-JCoupling  2.1
Public Member Functions | Static Public Member Functions | List of all members
magnes::Coordinate Class Reference

representaion of a 3D point More...

#include <coordinate.h>

Public Member Functions

 Coordinate ()
 
 Coordinate (float cx, float cy, float cz)
 
Coordinate operator^ (const Coordinate &b) const
 
float operator* (const Coordinate &b) const
 
void operator-= (const Coordinate &b)
 
void operator+= (float f)
 
void operator+= (const Coordinate &b)
 
void operator*= (float f)
 
void operator/= (float f)
 
Coordinate operator* (float f) const
 
Coordinate operator/ (float f) const
 
Coordinate operator- (const Coordinate &b) const
 
Coordinate operator+ (const Coordinate &b) const
 
float & x ()
 
const float & x () const
 
float & y ()
 
const float & y () const
 
float & z ()
 
const float & z () const
 
 operator const D1StaticArray< float, 3 > & () const
 
 operator D1StaticArray< float, 3 > & ()
 
D1Array< double > DoublePrecisionCoords () const
 
float Norm () const
 
void Normalize ()
 

Static Public Member Functions

static float Distance (const Coordinate &a, const Coordinate &b)
 
static float Angle (const Coordinate &a, const Coordinate &b)
 
static float Dihedral (const Coordinate &a, const Coordinate &b, const Coordinate &c, const Coordinate &d)
 
static Coordinate MiddlePoint (const Coordinate &a, const Coordinate &b)
 
static Coordinate RotAroundAxis (const Coordinate &c, const Coordinate &axisorigin, const Coordinate &axisend, float angle)
 

Detailed Description

representaion of a 3D point

This class manage representation and basic geometric manipulation of 3D vectors. Data are stored as a single precision IMArray<float> vector

Constructor & Destructor Documentation

§ Coordinate() [1/2]

magnes::Coordinate::Coordinate ( )

Buid (0,0,0) vector

§ Coordinate() [2/2]

magnes::Coordinate::Coordinate ( float  cx,
float  cy,
float  cz 
)

Build (cx, cy,cz ) vector

Member Function Documentation

§ Angle()

static float magnes::Coordinate::Angle ( const Coordinate a,
const Coordinate b 
)
static
Returns
angle between vectors a and b

§ Dihedral()

static float magnes::Coordinate::Dihedral ( const Coordinate a,
const Coordinate b,
const Coordinate c,
const Coordinate d 
)
static
Returns
dihedral angle between vectors a,b,c,d

§ Distance()

static float magnes::Coordinate::Distance ( const Coordinate a,
const Coordinate b 
)
static
Returns
distance between 3D points a and b

§ DoublePrecisionCoords()

D1Array<double> magnes::Coordinate::DoublePrecisionCoords ( ) const

return a double precision version of the coordinates

§ MiddlePoint()

static Coordinate magnes::Coordinate::MiddlePoint ( const Coordinate a,
const Coordinate b 
)
static
Returns
(b-a)/2

§ Norm()

float magnes::Coordinate::Norm ( ) const
Returns
the norm of this vector

§ Normalize()

void magnes::Coordinate::Normalize ( )

normalize the vector

Referenced by magnes::Quaternion::operator^().

§ operator const D1StaticArray< float, 3 > &()

magnes::Coordinate::operator const D1StaticArray< float, 3 > & ( ) const
inline

return the

See also
IMArray representation of the coordinate

§ operator D1StaticArray< float, 3 > &()

magnes::Coordinate::operator D1StaticArray< float, 3 > & ( )
inline

return the

See also
IMArray representation of the coordinate

§ operator*() [1/2]

float magnes::Coordinate::operator* ( const Coordinate b) const

scalar (dot) product

§ operator*() [2/2]

Coordinate magnes::Coordinate::operator* ( float  f) const

vector scalar product

§ operator*=()

void magnes::Coordinate::operator*= ( float  f)

multiplication with a scalar

§ operator+()

Coordinate magnes::Coordinate::operator+ ( const Coordinate b) const

vector vector addition

§ operator+=() [1/2]

void magnes::Coordinate::operator+= ( float  f)

sum of vector and scalar

§ operator+=() [2/2]

void magnes::Coordinate::operator+= ( const Coordinate b)

sum of two vectors

§ operator-()

Coordinate magnes::Coordinate::operator- ( const Coordinate b) const

vector-vector difference

§ operator-=()

void magnes::Coordinate::operator-= ( const Coordinate b)

difference of vectors

§ operator/()

Coordinate magnes::Coordinate::operator/ ( float  f) const

vector scalar division

§ operator/=()

void magnes::Coordinate::operator/= ( float  f)

division by a scalar number

§ operator^()

Coordinate magnes::Coordinate::operator^ ( const Coordinate b) const

vectorial product

§ RotAroundAxis()

static Coordinate magnes::Coordinate::RotAroundAxis ( const Coordinate c,
const Coordinate axisorigin,
const Coordinate axisend,
float  angle 
)
static

Rotate coordinate c theta radians clockwise around axis

§ x() [1/2]

float& magnes::Coordinate::x ( )
inline

§ x() [2/2]

const float& magnes::Coordinate::x ( ) const
inline
Returns
x coordinate

§ y() [1/2]

float& magnes::Coordinate::y ( )
inline

§ y() [2/2]

const float& magnes::Coordinate::y ( ) const
inline
Returns
y coordinate

§ z() [1/2]

float& magnes::Coordinate::z ( )
inline

§ z() [2/2]

const float& magnes::Coordinate::z ( ) const
inline
Returns
z coordinate

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