MSpin-JCoupling
2.1
|
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) |
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
magnes::Coordinate::Coordinate | ( | ) |
Buid (0,0,0) vector
magnes::Coordinate::Coordinate | ( | float | cx, |
float | cy, | ||
float | cz | ||
) |
Build (cx, cy,cz ) vector
|
static |
|
static |
|
static |
D1Array<double> magnes::Coordinate::DoublePrecisionCoords | ( | ) | const |
return a double precision version of the coordinates
|
static |
float magnes::Coordinate::Norm | ( | ) | const |
void magnes::Coordinate::Normalize | ( | ) |
normalize the vector
Referenced by magnes::Quaternion::operator^().
|
inline |
return the
|
inline |
return the
float magnes::Coordinate::operator* | ( | const Coordinate & | b | ) | const |
scalar (dot) product
Coordinate magnes::Coordinate::operator* | ( | float | f | ) | const |
vector scalar product
void magnes::Coordinate::operator*= | ( | float | f | ) |
multiplication with a scalar
Coordinate magnes::Coordinate::operator+ | ( | const Coordinate & | b | ) | const |
vector vector addition
void magnes::Coordinate::operator+= | ( | float | f | ) |
sum of vector and scalar
void magnes::Coordinate::operator+= | ( | const Coordinate & | b | ) |
sum of two vectors
Coordinate magnes::Coordinate::operator- | ( | const Coordinate & | b | ) | const |
vector-vector difference
void magnes::Coordinate::operator-= | ( | const Coordinate & | b | ) |
difference of vectors
Coordinate magnes::Coordinate::operator/ | ( | float | f | ) | const |
vector scalar division
void magnes::Coordinate::operator/= | ( | float | f | ) |
division by a scalar number
Coordinate magnes::Coordinate::operator^ | ( | const Coordinate & | b | ) | const |
vectorial product
|
static |
Rotate coordinate c theta radians clockwise around axis
|
inline |
Referenced by magnes::Quaternion::Invert(), magnes::operator<<(), and magnes::Quaternion::operator^().
|
inline |
|
inline |
Referenced by magnes::Quaternion::Invert(), magnes::operator<<(), and magnes::Quaternion::operator^().
|
inline |
|
inline |
Referenced by magnes::Quaternion::Invert(), magnes::operator<<(), and magnes::Quaternion::operator^().
|
inline |