Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JGEOMETRY3D::JQuaternion2D Struct Reference

This class represents a rotation. More...

#include <JQuaternion3D.hh>

Inheritance diagram for JGEOMETRY3D::JQuaternion2D:
JGEOMETRY3D::JQuaternion3X JGEOMETRY3D::JQuaternion3Y JGEOMETRY3D::JQuaternion3Z

Public Member Functions

double getA () const
 Get a value.
 
JQuaternion2Dpow (const double y)
 Raise quaternion to given power.
 

Protected Member Functions

 JQuaternion2D ()
 Default constructor.
 
 JQuaternion2D (const double theta)
 Constructor.
 

Protected Attributes

double __a
 
double __u
 

Friends

std::istream & operator>> (std::istream &in, JQuaternion2D &quaternion)
 Write quaternion from input.
 
std::ostream & operator<< (std::ostream &out, const JQuaternion2D &quaternion)
 Write quaternion to output.
 
JReaderoperator>> (JReader &in, JQuaternion2D &quaternion)
 Read quaternion from input.
 
JWriteroperator<< (JWriter &out, const JQuaternion2D &quaternion)
 Write quaternion to output.
 

Detailed Description

This class represents a rotation.

Definition at line 35 of file JQuaternion3D.hh.

Constructor & Destructor Documentation

◆ JQuaternion2D() [1/2]

JGEOMETRY3D::JQuaternion2D::JQuaternion2D ( )
inlineprotected

Default constructor.

This constructor corresponds to the identity operation.

Definition at line 41 of file JQuaternion3D.hh.

41 :
42 __a(1.0),
43 __u(0.0)
44 {}

◆ JQuaternion2D() [2/2]

JGEOMETRY3D::JQuaternion2D::JQuaternion2D ( const double theta)
inlineprotected

Constructor.

Parameters
thetarotation angle [rad]

Definition at line 52 of file JQuaternion3D.hh.

52 :
53 __a(cos(0.5*theta)),
54 __u(sin(0.5*theta))
55 {}

Member Function Documentation

◆ getA()

double JGEOMETRY3D::JQuaternion2D::getA ( ) const
inline

Get a value.

Returns
a value

Definition at line 64 of file JQuaternion3D.hh.

65 {
66 return __a;
67 }

◆ pow()

JQuaternion2D & JGEOMETRY3D::JQuaternion2D::pow ( const double y)
inline

Raise quaternion to given power.

Parameters
ypower
Returns
this object

Definition at line 76 of file JQuaternion3D.hh.

77 {
78 const double theta = atan2(__u, __a) * y;
79
80 __a = cos(theta);
81 __u = sin(theta);
82
83 return *this;
84 }

Friends And Related Symbol Documentation

◆ operator>> [1/2]

std::istream & operator>> ( std::istream & in,
JQuaternion2D & quaternion )
friend

Write quaternion from input.

Parameters
ininput stream
quaternionquaternion
Returns
input stream

Definition at line 94 of file JQuaternion3D.hh.

95 {
96 return in >> quaternion.__a >> quaternion.__u;
97 }

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream & out,
const JQuaternion2D & quaternion )
friend

Write quaternion to output.

Parameters
outoutput stream
quaternionquaternion
Returns
output stream

Definition at line 107 of file JQuaternion3D.hh.

108 {
109 const JFormat format(out, getFormat<JQuaternion3D>(JFormat_t(9, 6, std::ios::fixed | std::ios::showpos)));
110
111 return out << format << quaternion.__a << ' '
112 << format << quaternion.__u;
113 }
JFormat_t & getFormat()
Get format for given type.
Definition JManip.hh:682
Data structure for format specifications.
Definition JManip.hh:524
Auxiliary class to temporarily define format specifications.
Definition JManip.hh:636

◆ operator>> [2/2]

JReader & operator>> ( JReader & in,
JQuaternion2D & quaternion )
friend

Read quaternion from input.

Parameters
inreader
quaternionquaternion
Returns
reader

Definition at line 123 of file JQuaternion3D.hh.

124 {
125 return in >> quaternion.__a >> quaternion.__u;
126 }

◆ operator<< [2/2]

JWriter & operator<< ( JWriter & out,
const JQuaternion2D & quaternion )
friend

Write quaternion to output.

Parameters
outwriter
quaternionquaternion
Returns
writer

Definition at line 136 of file JQuaternion3D.hh.

137 {
138 return out << quaternion.__a << quaternion.__u;
139 }

Member Data Documentation

◆ __a

double JGEOMETRY3D::JQuaternion2D::__a
protected

Definition at line 143 of file JQuaternion3D.hh.

◆ __u

double JGEOMETRY3D::JQuaternion2D::__u
protected

Definition at line 144 of file JQuaternion3D.hh.


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