1 #ifndef __JDIRECTION3D__
2 #define __JDIRECTION3D__
20 namespace JGEOMETRY3D {}
21 namespace JPP {
using namespace JGEOMETRY3D; }
23 namespace JGEOMETRY3D {
73 JVersor3D(pos.getX(), pos.getY(), pos.getZ())
372 in >> direction.
__dx >> direction.
__dy >> direction.
__dz;
387 out << direction.
getDX() <<
' ' << direction.
getDY() <<
' ' << direction.
getDZ();
402 return in >> direction.
__dx >> direction.
__dy >> direction.
__dz;
415 return out << direction.
getDX() << direction.
getDY() << direction.
getDZ();
Data structure for angles in three dimensions.
Interface for binary output.
JDirection3D()
Default constructor.
Data structure for direction in three dimensions.
JDirection3D & rotate_back(const JRotation3D &R)
Rotate back.
JDirection3D & rotate_back(const JRotation3Y &R)
Rotate back around Y-axis.
void rotate(double &__x, double &__y) const
Rotate.
JDirection3D & rotate(const JQuaternion3D &Q)
Rotate.
void rotate(double &__x, double &__y, double &__z) const
Rotate.
const JDirection3D & getDirection() const
Get direction.
void rotate_back(double &__x, double &__y) const
Rotate back.
void rotate_back(double &__x, double &__y, double &__z) const
Rotate back.
JDirection3D(const JVector3D &pos)
Constructor.
double getDot(const JVector3D &pos) const
Get dot product.
JDirection3D & transform(const JMatrix3D &T)
Transform.
friend JReader & operator>>(JReader &in, JDirection3D &direction)
Read direction from input.
double getDot(const JAngle3D &angle) const
Get dot product.
JDirection3D & rotate_back(const JRotation3Z &R)
Rotate back around Z-axis.
JDirection3D & rotate(const JRotation3X &R)
Rotate around X-axis.
JVersor3D & normalise()
Normalise versor.
JQuaternion3D & mul(const double factor)
Scale quaternion.
double getDY() const
Get y direction.
double getDot(const JVersor3Z &dir) const
Get dot product.
JDirection3D(const JVersor3Z &dir)
Constructor.
Data structure for vector in three dimensions.
JDirection3D & rotate(const JRotation3D &R)
Rotate.
JDirection3D & rotate(const JRotation3Y &R)
Rotate around Y-axis.
double getDY() const
Get y direction.
double getDX() const
Get x direction.
double getY() const
Get y position.
JDirection3D(const JAngle3D &angle)
Constructor.
Interface for binary input.
Data structure for quaternion in three dimensions.
friend std::istream & operator>>(std::istream &in, JDirection3D &direction)
Read direction from input.
void setDirection(const JDirection3D &dir)
Set direction.
friend std::ostream & operator<<(std::ostream &out, const JDirection3D &direction)
Write direction to output.
double getDX() const
Get x direction.
JDirection3D(const JVersor3D &dir)
Constructor.
double getX() const
Get x position.
friend JWriter & operator<<(JWriter &out, const JDirection3D &direction)
Write direction to output.
double getDot(const JVersor3D &versor) const
Get dot product.
double getDZ() const
Get z direction.
Data structure for normalised vector in three dimensions.
Data structure for normalised vector in positive z-direction.
JDirection3D & getDirection()
Get direction.
void transform(double &__x, double &__y, double &__z) const
Transform.
double getZ() const
Get z position.
double getDZ() const
Get z direction.
double getDX() const
Get x direction.
JDirection3D(const double dx, const double dy, const double dz)
Constructor.
double getDZ() const
Get z direction.
JDirection3D & rotate_back(const JRotation3X &R)
Rotate back around X-axis.
JDirection3D & rotate(const JRotation3Z &R)
Rotate around Z-axis.
double getDY() const
Get y direction.
JQuaternion3D & conjugate()
Conjugate quaternion.