OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Vector3D Class Reference

A 3-dimension vector. More...

#include <Vector3D.h>

Collaboration diagram for Vector3D:
Collaboration graph

Public Member Functions

 Vector3D ()
 Default constructor.
 
 Vector3D (double x, double y, double z)
 Constructor.
 
bool operator== (const Vector3D &) const
 
bool operator!= (const Vector3D &) const
 
Vector3Doperator+= (const Vector3D &vector)
 Add and assign.
 
Vector3Doperator-= (const Vector3D &vector)
 Subtract and assign.
 
Vector3Doperator*= (double factor)
 Scale and assign.
 
Vector3D operator- () const
 Negative vector.
 
double & operator() (int i)
 Get component.
 
double operator() (int i) const
 Get component.
 
void getComponents (double &x, double &y, double &z) const
 Get components.
 
double getX () const
 Get component.
 
double getY () const
 Get component.
 
double getZ () const
 Get component.
 
void clear ()
 Set to zero.
 
bool isZero () const
 Test for zero.
 
void setX (double)
 Set component.
 
void setY (double)
 Set component.
 
void setZ (double)
 Set component.
 

Protected Attributes

double v [3]
 

Detailed Description

A 3-dimension vector.

Definition at line 30 of file Vector3D.h.

Constructor & Destructor Documentation

◆ Vector3D() [1/2]

Vector3D::Vector3D ( )
inline

Default constructor.

Definition at line 126 of file Vector3D.h.

References v.

Referenced by operator-().

◆ Vector3D() [2/2]

Vector3D::Vector3D ( double  x,
double  y,
double  z 
)

Constructor.

Definition at line 26 of file Vector3D.cpp.

References v.

Member Function Documentation

◆ clear()

void Vector3D::clear ( )

Set to zero.

Definition at line 79 of file Vector3D.cpp.

References v.

◆ getComponents()

void Vector3D::getComponents ( double &  x,
double &  y,
double &  z 
) const

Get components.

Definition at line 81 of file Vector3D.cpp.

References v.

Referenced by Euclid3D::getAll().

◆ getX()

double Vector3D::getX ( ) const
inline

Get component.

Definition at line 132 of file Vector3D.h.

References v.

Referenced by BendBase::getChordLength(), and Euclid3D::getX().

◆ getY()

double Vector3D::getY ( ) const
inline

Get component.

Definition at line 134 of file Vector3D.h.

References v.

Referenced by BendBase::getChordLength(), and Euclid3D::getY().

◆ getZ()

double Vector3D::getZ ( ) const
inline

Get component.

Definition at line 136 of file Vector3D.h.

References v.

Referenced by BendBase::getChordLength(), and Euclid3D::getZ().

◆ isZero()

bool Vector3D::isZero ( ) const

Test for zero.

Definition at line 87 of file Vector3D.cpp.

References v.

Referenced by Euclid3D::isPureXRotation(), Euclid3D::isPureYRotation(), Euclid3D::isPureZRotation(), and Euclid3D::setDisplacement().

◆ operator!=()

bool Vector3D::operator!= ( const Vector3D rhs) const

Definition at line 57 of file Vector3D.cpp.

References v.

◆ operator()() [1/2]

double & Vector3D::operator() ( int  i)
inline

Get component.

Definition at line 128 of file Vector3D.h.

References v.

◆ operator()() [2/2]

double Vector3D::operator() ( int  i) const
inline

Get component.

Definition at line 130 of file Vector3D.h.

References v.

◆ operator*=()

Vector3D & Vector3D::operator*= ( double  factor)

Scale and assign.

Definition at line 46 of file Vector3D.cpp.

References v.

◆ operator+=()

Vector3D & Vector3D::operator+= ( const Vector3D vector)

Add and assign.

Definition at line 32 of file Vector3D.cpp.

References v.

◆ operator-()

Vector3D Vector3D::operator- ( ) const

Negative vector.

Definition at line 61 of file Vector3D.cpp.

References v, and Vector3D().

Here is the call graph for this function:

◆ operator-=()

Vector3D & Vector3D::operator-= ( const Vector3D vector)

Subtract and assign.

Definition at line 39 of file Vector3D.cpp.

References v.

◆ operator==()

bool Vector3D::operator== ( const Vector3D rhs) const

Definition at line 53 of file Vector3D.cpp.

References v.

◆ setX()

void Vector3D::setX ( double  x)
inline

Set component.

Definition at line 138 of file Vector3D.h.

References v.

Referenced by Euclid3D::setX().

◆ setY()

void Vector3D::setY ( double  y)
inline

Set component.

Definition at line 140 of file Vector3D.h.

References v.

Referenced by Euclid3D::setY().

◆ setZ()

void Vector3D::setZ ( double  z)
inline

Set component.

Definition at line 142 of file Vector3D.h.

References v.

Referenced by Euclid3D::setZ().

Member Data Documentation

◆ v


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