ROOT  6.06/09
Reference Guide
Public Member Functions | Public Attributes | List of all members
TQuaternion Class Reference

Definition at line 15 of file TQuaternion.h.

Public Member Functions

 TQuaternion (Double_t real=0, Double_t X=0, Double_t Y=0, Double_t Z=0)
 
 TQuaternion (const TVector3 &vector, Double_t real=0)
 
 TQuaternion (const Double_t *)
 
 TQuaternion (const Float_t *)
 
 TQuaternion (const TQuaternion &)
 
virtual ~TQuaternion ()
 
Double_t operator() (int) const
 dereferencing operator const More...
 
Double_t operator[] (int) const
 
Double_toperator() (int)
 dereferencing operator More...
 
Double_toperator[] (int)
 
TQuaternionSetRXYZ (Double_t r, Double_t x, Double_t y, Double_t z)
 
TQuaternionSetRV (Double_t r, TVector3 &vect)
 
TQuaternionSetAxisQAngle (TVector3 &v, Double_t QAngle)
 set quaternion from vector and angle (rad) quaternion is set as unitary N.B : this angle is half of the corresponding rotation angle More...
 
Double_t GetQAngle () const
 Get angle of quaternion (rad) N.B : this angle is half of the corresponding rotation angle. More...
 
TQuaternionSetQAngle (Double_t angle)
 Set angle of quaternion (rad) - keep quaternion norm N.B : this angle is half of the corresponding rotation angle. More...
 
void GetRXYZ (Double_t *carray) const
 
void GetRXYZ (Float_t *carray) const
 
TQuaternionoperator= (Double_t r)
 
Bool_t operator== (Double_t r) const
 
Bool_t operator!= (Double_t r) const
 
TQuaternionoperator+= (Double_t real)
 
TQuaternionoperator-= (Double_t real)
 
TQuaternionoperator*= (Double_t real)
 
TQuaternionoperator/= (Double_t real)
 
TQuaternion operator* (Double_t real) const
 product of quaternion with a real More...
 
TQuaternion operator+ (Double_t real) const
 sum of quaternion with a real More...
 
TQuaternion operator- (Double_t real) const
 substraction of real to quaternion More...
 
TQuaternion operator/ (Double_t real) const
 division by a real More...
 
TQuaternionoperator= (const TVector3 &)
 
Bool_t operator== (const TVector3 &) const
 
Bool_t operator!= (const TVector3 &) const
 
TQuaternionoperator+= (const TVector3 &vector)
 
TQuaternionoperator-= (const TVector3 &vector)
 
TQuaternionMultiplyLeft (const TVector3 &vector)
 left multitplication More...
 
TQuaternionoperator*= (const TVector3 &vector)
 right multiplication More...
 
TQuaternionDivideLeft (const TVector3 &vector)
 left division More...
 
TQuaternionoperator/= (const TVector3 &vector)
 right division More...
 
TQuaternion operator+ (const TVector3 &vector) const
 sum of quaternion with a real More...
 
TQuaternion operator- (const TVector3 &vector) const
 substraction of real to quaternion More...
 
TQuaternion LeftProduct (const TVector3 &vector) const
 left product More...
 
TQuaternion operator* (const TVector3 &vector) const
 right product More...
 
TQuaternion LeftQuotient (const TVector3 &vector) const
 left quotient More...
 
TQuaternion operator/ (const TVector3 &vector) const
 right quotient More...
 
TQuaternionoperator= (const TQuaternion &)
 
Bool_t operator== (const TQuaternion &) const
 
Bool_t operator!= (const TQuaternion &) const
 
TQuaternionoperator+= (const TQuaternion &quaternion)
 
TQuaternionoperator-= (const TQuaternion &quaternion)
 
TQuaternionMultiplyLeft (const TQuaternion &quaternion)
 left multiplication More...
 
TQuaternionoperator*= (const TQuaternion &quaternion)
 right multiplication More...
 
TQuaternionDivideLeft (const TQuaternion &quaternion)
 left division More...
 
TQuaternionoperator/= (const TQuaternion &quaternion)
 right division More...
 
TQuaternion operator+ (const TQuaternion &quaternion) const
 
TQuaternion operator- (const TQuaternion &quaternion) const
 
TQuaternion LeftProduct (const TQuaternion &quaternion) const
 left product More...
 
TQuaternion operator* (const TQuaternion &quaternion) const
 right product More...
 
TQuaternion LeftQuotient (const TQuaternion &quaternion) const
 left quotient More...
 
TQuaternion operator/ (const TQuaternion &quaternion) const
 right quotient More...
 
Double_t Norm () const
 
Double_t Norm2 () const
 
Double_t QMag () const
 
Double_t QMag2 () const
 
TQuaternionNormalize ()
 
TQuaternion operator- () const
 
TQuaternion Conjugate () const
 
TQuaternion Invert () const
 invert More...
 
void Rotate (TVector3 &vect) const
 rotate vect by current quaternion More...
 
TVector3 Rotation (const TVector3 &vect) const
 rotation of vect by current quaternion More...
 
void Print (Option_t *option="") const
 Print Quaternion parameters. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsSortable () const
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Public Attributes

Double_t fRealPart
 
TVector3 fVectorPart
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

#include <TQuaternion.h>

+ Inheritance diagram for TQuaternion:
+ Collaboration diagram for TQuaternion:

Constructor & Destructor Documentation

TQuaternion::TQuaternion ( Double_t  real = 0,
Double_t  X = 0,
Double_t  Y = 0,
Double_t  Z = 0 
)
TQuaternion::TQuaternion ( const TVector3 vector,
Double_t  real = 0 
)

Definition at line 108 of file TQuaternion.cxx.

TQuaternion::TQuaternion ( const Double_t x0)

Definition at line 111 of file TQuaternion.cxx.

TQuaternion::TQuaternion ( const Float_t x0)

Definition at line 114 of file TQuaternion.cxx.

TQuaternion::TQuaternion ( const TQuaternion )
TQuaternion::~TQuaternion ( )
virtual

Definition at line 120 of file TQuaternion.cxx.

Member Function Documentation

TQuaternion TQuaternion::Conjugate ( ) const
inline

Definition at line 287 of file TQuaternion.h.

Referenced by DivideLeft(), and operator/=().

TQuaternion & TQuaternion::DivideLeft ( const TVector3 vector)

left division

Definition at line 292 of file TQuaternion.cxx.

TQuaternion & TQuaternion::DivideLeft ( const TQuaternion quaternion)

left division

Definition at line 416 of file TQuaternion.cxx.

Double_t TQuaternion::GetQAngle ( ) const

Get angle of quaternion (rad) N.B : this angle is half of the corresponding rotation angle.

Definition at line 159 of file TQuaternion.cxx.

Referenced by Print().

void TQuaternion::GetRXYZ ( Double_t carray) const
inline

Definition at line 135 of file TQuaternion.h.

void TQuaternion::GetRXYZ ( Float_t carray) const
inline

Definition at line 140 of file TQuaternion.h.

TQuaternion TQuaternion::Invert ( ) const

invert

Definition at line 483 of file TQuaternion.cxx.

Referenced by operator/().

TQuaternion TQuaternion::LeftProduct ( const TVector3 vector) const

left product

Definition at line 278 of file TQuaternion.cxx.

Referenced by operator*().

TQuaternion TQuaternion::LeftProduct ( const TQuaternion quaternion) const

left product

Definition at line 398 of file TQuaternion.cxx.

TQuaternion TQuaternion::LeftQuotient ( const TVector3 vector) const

left quotient

Definition at line 322 of file TQuaternion.cxx.

TQuaternion TQuaternion::LeftQuotient ( const TQuaternion quaternion) const

left quotient

Definition at line 447 of file TQuaternion.cxx.

TQuaternion & TQuaternion::MultiplyLeft ( const TVector3 vector)

left multitplication

Definition at line 254 of file TQuaternion.cxx.

Referenced by DivideLeft().

TQuaternion & TQuaternion::MultiplyLeft ( const TQuaternion quaternion)

left multiplication

Definition at line 382 of file TQuaternion.cxx.

Double_t TQuaternion::Norm ( ) const
inline

Definition at line 269 of file TQuaternion.h.

Referenced by Normalize(), QMag(), and SetQAngle().

Double_t TQuaternion::Norm2 ( ) const
inline

Definition at line 273 of file TQuaternion.h.

Referenced by DivideLeft(), Invert(), LeftQuotient(), Norm(), operator/(), operator/=(), QMag2(), and Rotation().

TQuaternion & TQuaternion::Normalize ( )
inline

Definition at line 277 of file TQuaternion.h.

Bool_t TQuaternion::operator!= ( Double_t  r) const
inline

Definition at line 154 of file TQuaternion.h.

Bool_t TQuaternion::operator!= ( const TVector3 V) const
inline

Definition at line 203 of file TQuaternion.h.

Bool_t TQuaternion::operator!= ( const TQuaternion Q) const
inline

Definition at line 234 of file TQuaternion.h.

Double_t TQuaternion::operator() ( int  i) const

dereferencing operator const

Definition at line 125 of file TQuaternion.cxx.

Referenced by operator[]().

Double_t & TQuaternion::operator() ( int  i)

dereferencing operator

Definition at line 142 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator* ( Double_t  real) const

product of quaternion with a real

Definition at line 212 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator* ( const TVector3 vector) const

right product

Definition at line 285 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator* ( const TQuaternion quaternion) const

right product

Definition at line 407 of file TQuaternion.cxx.

TQuaternion & TQuaternion::operator*= ( Double_t  real)
inline

Definition at line 174 of file TQuaternion.h.

TQuaternion & TQuaternion::operator*= ( const TVector3 vector)

right multiplication

Definition at line 266 of file TQuaternion.cxx.

TQuaternion & TQuaternion::operator*= ( const TQuaternion quaternion)

right multiplication

Definition at line 367 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator+ ( Double_t  real) const

sum of quaternion with a real

Definition at line 198 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator+ ( const TVector3 vector) const

sum of quaternion with a real

Definition at line 240 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator+ ( const TQuaternion quaternion) const
inline

Definition at line 258 of file TQuaternion.h.

TQuaternion & TQuaternion::operator+= ( Double_t  real)
inline

Definition at line 164 of file TQuaternion.h.

TQuaternion & TQuaternion::operator+= ( const TVector3 vector)
inline

Definition at line 213 of file TQuaternion.h.

TQuaternion & TQuaternion::operator+= ( const TQuaternion quaternion)
inline

Definition at line 246 of file TQuaternion.h.

TQuaternion TQuaternion::operator- ( Double_t  real) const

substraction of real to quaternion

Definition at line 205 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator- ( const TVector3 vector) const

substraction of real to quaternion

Definition at line 247 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator- ( const TQuaternion quaternion) const
inline

Definition at line 263 of file TQuaternion.h.

TQuaternion TQuaternion::operator- ( ) const
inline

Definition at line 283 of file TQuaternion.h.

TQuaternion & TQuaternion::operator-= ( Double_t  real)
inline

Definition at line 169 of file TQuaternion.h.

TQuaternion & TQuaternion::operator-= ( const TVector3 vector)
inline

Definition at line 218 of file TQuaternion.h.

TQuaternion & TQuaternion::operator-= ( const TQuaternion quaternion)
inline

Definition at line 252 of file TQuaternion.h.

TQuaternion TQuaternion::operator/ ( Double_t  real) const

division by a real

Definition at line 220 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator/ ( const TVector3 vector) const

right quotient

Definition at line 338 of file TQuaternion.cxx.

TQuaternion TQuaternion::operator/ ( const TQuaternion quaternion) const

right quotient

Definition at line 465 of file TQuaternion.cxx.

TQuaternion & TQuaternion::operator/= ( Double_t  real)
inline

Definition at line 180 of file TQuaternion.h.

TQuaternion & TQuaternion::operator/= ( const TVector3 vector)

right division

Definition at line 307 of file TQuaternion.cxx.

TQuaternion & TQuaternion::operator/= ( const TQuaternion quaternion)

right division

Definition at line 431 of file TQuaternion.cxx.

TQuaternion & TQuaternion::operator= ( Double_t  r)
inline

Definition at line 158 of file TQuaternion.h.

TQuaternion & TQuaternion::operator= ( const TVector3 vect)
inline

Definition at line 207 of file TQuaternion.h.

TQuaternion & TQuaternion::operator= ( const TQuaternion quat)
inline

Definition at line 238 of file TQuaternion.h.

Bool_t TQuaternion::operator== ( Double_t  r) const
inline

Definition at line 150 of file TQuaternion.h.

Bool_t TQuaternion::operator== ( const TVector3 V) const
inline

Definition at line 199 of file TQuaternion.h.

Bool_t TQuaternion::operator== ( const TQuaternion Q) const
inline

Definition at line 230 of file TQuaternion.h.

Double_t TQuaternion::operator[] ( int  i) const
inline

Definition at line 146 of file TQuaternion.h.

Double_t & TQuaternion::operator[] ( int  i)
inline

Definition at line 145 of file TQuaternion.h.

void TQuaternion::Print ( Option_t option = "") const
virtual

Print Quaternion parameters.

Reimplemented from TObject.

Definition at line 531 of file TQuaternion.cxx.

Double_t TQuaternion::QMag ( ) const
inline

Definition at line 103 of file TQuaternion.h.

Double_t TQuaternion::QMag2 ( ) const
inline

Definition at line 104 of file TQuaternion.h.

Referenced by TRotation::TRotation().

void TQuaternion::Rotate ( TVector3 vect) const

rotate vect by current quaternion

Definition at line 497 of file TQuaternion.cxx.

TVector3 TQuaternion::Rotation ( const TVector3 vect) const

rotation of vect by current quaternion

Definition at line 504 of file TQuaternion.cxx.

Referenced by Rotate().

TQuaternion & TQuaternion::SetAxisQAngle ( TVector3 v,
Double_t  QAngle 
)

set quaternion from vector and angle (rad) quaternion is set as unitary N.B : this angle is half of the corresponding rotation angle

Definition at line 183 of file TQuaternion.cxx.

TQuaternion & TQuaternion::SetQAngle ( Double_t  angle)

Set angle of quaternion (rad) - keep quaternion norm N.B : this angle is half of the corresponding rotation angle.

Definition at line 169 of file TQuaternion.cxx.

TQuaternion & TQuaternion::SetRV ( Double_t  r,
TVector3 vect 
)
inline

Definition at line 129 of file TQuaternion.h.

TQuaternion & TQuaternion::SetRXYZ ( Double_t  r,
Double_t  x,
Double_t  y,
Double_t  z 
)
inline

Definition at line 123 of file TQuaternion.h.

Member Data Documentation

Double_t TQuaternion::fRealPart
TVector3 TQuaternion::fVectorPart

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