![]() |
ROOT 6.14/05 Reference Guide |
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-major order to allow direct usage by GL.
The element type is Double32_t as statically the floats would be precise enough but continuous operations on the matrix must retain precision of column vectors.
Cartan angles are stored in fA[1-3] (+z, -y, +x). They are recalculated on demand.
Direct element access (first two should be used with care):
Column-vector access: USet Get/SetBaseVec(), Get/SetPos() and Arr[XYZT]() methods.
For all methods taking the matrix indices: 1->X, 2->Y, 3->Z; 4->Position (if applicable). 0 reserved for time.
Shorthands in method-names: LF ~ LocalFrame; PF ~ ParentFrame; IP ~ InPlace
Definition at line 26 of file TEveTrans.h.
Public Member Functions | |
TEveTrans () | |
Default constructor. More... | |
TEveTrans (const TEveTrans &t) | |
Constructor. More... | |
TEveTrans (const Double_t arr[16]) | |
Constructor. More... | |
TEveTrans (const Float_t arr[16]) | |
Constructor. More... | |
virtual | ~TEveTrans () |
const Double_t * | Array () const |
Double_t * | Array () |
Double_t * | ArrT () |
const Double_t * | ArrT () const |
Double_t * | ArrX () |
const Double_t * | ArrX () const |
Double_t * | ArrY () |
const Double_t * | ArrY () const |
Double_t * | ArrZ () |
const Double_t * | ArrZ () const |
Double_t | CM (Int_t i, Int_t j) const |
Double_t & | CM (Int_t i, Int_t j) |
TVector3 | GetBaseVec (Int_t b) const |
Get base-vector with index b. More... | |
void | GetBaseVec (Int_t b, TVector3 &v) const |
Bool_t | GetEditRotation () |
Bool_t | GetEditScale () |
Bool_t | GetEditTrans () const |
void | GetPos (Double_t &x, Double_t &y, Double_t &z) const |
Get position (base-vec 4). More... | |
void | GetPos (Double_t *x) const |
void | GetPos (Float_t *x) const |
void | GetPos (TVector3 &v) const |
TVector3 | GetPos () const |
void | GetRotAngles (Float_t *x) const |
Get Cardan rotation angles (pattern xYz above). More... | |
void | GetScale (Double_t &sx, Double_t &sy, Double_t &sz) const |
Deduce scales from sizes of base vectors. More... | |
Bool_t | GetUseTrans () const |
Double_t | Invert () |
Invert matrix. More... | |
Bool_t | IsScale (Double_t low=0.9, Double_t high=1.1) const |
Test if the transformation is a scale. More... | |
void | Move (const TEveTrans &a, Int_t ai, Double_t amount) |
Move in a's coord-system along axis-index ai. More... | |
void | Move3 (const TEveTrans &a, Double_t x, Double_t y, Double_t z) |
General move in a's coord-system. More... | |
void | Move3LF (Double_t x, Double_t y, Double_t z) |
General move in local-frame. More... | |
void | Move3PF (Double_t x, Double_t y, Double_t z) |
General move in parent-frame. More... | |
void | MoveLF (Int_t ai, Double_t amount) |
Move in local-frame along axis with index ai. More... | |
void | MovePF (Int_t ai, Double_t amount) |
Move in parent-frame along axis index ai. More... | |
TVector3 | Multiply (const TVector3 &v, Double_t w=1) const |
Multiply vector and return it. More... | |
void | Multiply (const Double_t *vin, Double_t *vout, Double_t w=1) const |
Multiply vector and fill output array vout. More... | |
void | MultiplyIP (TVector3 &v, Double_t w=1) const |
Multiply vector in-place. More... | |
void | MultiplyIP (Double_t *v, Double_t w=1) const |
Multiply vector in-place. More... | |
void | MultiplyIP (Float_t *v, Double_t w=1) const |
Multiply vector in-place. More... | |
void | MultLeft (const TEveTrans &t) |
Multiply from left: this = t * this. More... | |
void | MultRight (const TEveTrans &t) |
Multiply from right: this = this * t. More... | |
Double_t | operator() (Int_t i, Int_t j) const |
Double_t & | operator() (Int_t i, Int_t j) |
TEveTrans | operator* (const TEveTrans &t) |
Copy, multiply from right and return product. More... | |
void | operator*= (const TEveTrans &t) |
TEveTrans & | operator= (const TEveTrans &t) |
Double_t | operator[] (Int_t i) const |
Double_t & | operator[] (Int_t i) |
void | OrtoNorm3 () |
Orto-norm columns 1 to 3. More... | |
virtual void | Print (Option_t *option="") const |
Print in reasonable format. More... | |
void | Rotate (const TEveTrans &a, Int_t i1, Int_t i2, Double_t amount) |
Rotate in a's coord-system, rotating base vector with index i1 into i2. More... | |
TVector3 | Rotate (const TVector3 &v) const |
Rotate vector and return the rotated vector. Translation is NOT applied. More... | |
void | RotateIP (TVector3 &v) const |
Rotate vector in-place. Translation is NOT applied. More... | |
void | RotateIP (Double_t *v) const |
Rotate vector in-place. Translation is NOT applied. More... | |
void | RotateIP (Float_t *v) const |
Rotate vector in-place. Translation is NOT applied. More... | |
void | RotateLF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in local frame. Does optimised version of MultRight. More... | |
void | RotatePF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in parent frame. Does optimised version of MultLeft. More... | |
void | Scale (Double_t sx, Double_t sy, Double_t sz) |
Scale matrix. Translation part untouched. More... | |
void | SetBaseVec (Int_t b, Double_t x, Double_t y, Double_t z) |
Set base-vector with index b. More... | |
void | SetBaseVec (Int_t b, const TVector3 &v) |
Set base-vector with index b. More... | |
void | SetBuffer3D (TBuffer3D &buff) |
Fill transformation part TBuffer3D core section. More... | |
void | SetEditRotation (Bool_t x) |
void | SetEditScale (Bool_t x) |
void | SetEditTrans (Bool_t v) |
void | SetFrom (Double_t *carr) |
void | SetFrom (const TGeoMatrix &mat) |
Initialize from TGeoMatrix. More... | |
void | SetFromArray (const Double_t arr[16]) |
Set matrix from Double_t array. More... | |
void | SetFromArray (const Float_t arr[16]) |
Set matrix from Float_t array. More... | |
void | SetGeoHMatrix (TGeoHMatrix &mat) |
Set TGeoHMatrix mat. More... | |
void | SetPos (Double_t x, Double_t y, Double_t z) |
Set position (base-vec 4). More... | |
void | SetPos (Double_t *x) |
void | SetPos (Float_t *x) |
void | SetPos (const TEveTrans &t) |
void | SetRotByAngles (Float_t a1, Float_t a2, Float_t a3) |
void | SetRotByAnyAngles (Float_t a1, Float_t a2, Float_t a3, const char *pat) |
Sets Rotation part as given by angles a1, a1, a3 and pattern pat. More... | |
void | SetScale (Double_t sx, Double_t sy, Double_t sz) |
Set scaling. More... | |
void | SetScaleX (Double_t sx) |
Change x scaling. More... | |
void | SetScaleY (Double_t sy) |
Change y scaling. More... | |
void | SetScaleZ (Double_t sz) |
Change z scaling. More... | |
void | SetTrans (const TEveTrans &t, Bool_t copyAngles=kTRUE) |
Set matrix from another,. More... | |
void | SetupFromToVec (const TEveVector &from, const TEveVector &to) |
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to". More... | |
void | SetupRotation (Int_t i, Int_t j, Double_t f) |
Setup the matrix as an elementary rotation. More... | |
void | SetUseTrans (Bool_t v) |
void | TransposeRotationPart () |
Transpose 3x3 rotation sub-matrix. More... | |
void | UnitRot () |
Reset rotation part of the matrix to unity. More... | |
void | UnitTrans () |
Reset matrix to unity. More... | |
Double_t | Unscale () |
Remove scaling, make all base vectors of unit length. More... | |
void | Unscale (Double_t &sx, Double_t &sy, Double_t &sz) |
Remove scaling, make all base vectors of unit length. More... | |
void | ZeroTrans (Double_t w=1.0) |
Reset matrix to zero, only the perspective scaling is set to w (1 by default). More... | |
![]() | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. 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... | |
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... | |
ULong_t | CheckedHash () |
Checked and record whether for this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (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 TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. 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 void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. 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... | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. 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... | |
void | InvertBit (UInt_t f) |
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 | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. 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... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. 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... | |
void | ResetBit (UInt_t f) |
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... | |
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) |
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 | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
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 void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. 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... | |
Protected Member Functions | |
Double_t | Norm3Column (Int_t col) |
Norm 3-vector in column col. More... | |
Double_t | Orto3Column (Int_t col, Int_t ref) |
Orto-norm 3-vector in column col with respect to column ref. More... | |
![]() | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
void | MakeZombie () |
Protected Attributes | |
Float_t | fA1 |
Float_t | fA2 |
Float_t | fA3 |
Bool_t | fAsOK |
Bool_t | fEditRotation |
Bool_t | fEditScale |
Bool_t | fEditTrans |
Double32_t | fM [16] |
Bool_t | fUseTrans |
Friends | |
class | TEveTransEditor |
class | TEveTransSubEditor |
Additional Inherited Members | |
![]() | |
enum | { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000, kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13) } |
![]() | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
#include <TEveTrans.h>
TEveTrans::TEveTrans | ( | ) |
Default constructor.
Definition at line 74 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const TEveTrans & | t | ) |
Constructor.
Definition at line 88 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const Double_t | arr[16] | ) |
Constructor.
Definition at line 102 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const Float_t | arr[16] | ) |
Constructor.
Definition at line 116 of file TEveTrans.cxx.
|
inlinevirtual |
Definition at line 53 of file TEveTrans.h.
|
inline |
Definition at line 94 of file TEveTrans.h.
|
inline |
Definition at line 94 of file TEveTrans.h.
|
inline |
Definition at line 98 of file TEveTrans.h.
|
inline |
Definition at line 98 of file TEveTrans.h.
|
inline |
Definition at line 95 of file TEveTrans.h.
|
inline |
Definition at line 95 of file TEveTrans.h.
|
inline |
Definition at line 96 of file TEveTrans.h.
|
inline |
Definition at line 96 of file TEveTrans.h.
|
inline |
Definition at line 97 of file TEveTrans.h.
|
inline |
Definition at line 97 of file TEveTrans.h.
Definition at line 103 of file TEveTrans.h.
Definition at line 104 of file TEveTrans.h.
Get base-vector with index b.
Definition at line 491 of file TEveTrans.cxx.
Definition at line 496 of file TEveTrans.cxx.
|
inline |
Definition at line 173 of file TEveTrans.h.
|
inline |
Definition at line 174 of file TEveTrans.h.
|
inline |
Definition at line 176 of file TEveTrans.h.
Get position (base-vec 4).
Definition at line 534 of file TEveTrans.cxx.
Definition at line 539 of file TEveTrans.cxx.
Definition at line 545 of file TEveTrans.cxx.
Definition at line 551 of file TEveTrans.cxx.
TVector3 TEveTrans::GetPos | ( | ) | const |
Definition at line 557 of file TEveTrans.cxx.
Get Cardan rotation angles (pattern xYz above).
Definition at line 623 of file TEveTrans.cxx.
Deduce scales from sizes of base vectors.
Definition at line 678 of file TEveTrans.cxx.
|
inline |
Definition at line 168 of file TEveTrans.h.
Double_t TEveTrans::Invert | ( | ) |
Test if the transformation is a scale.
To be used by ROOT TGLObject descendants that potentially need to use GL_NORMALIZE. The low/high limits are expected to be squares of actual limits.
Ideally this should be done by the TGLViewer [but is not].
Definition at line 1074 of file TEveTrans.cxx.
Move in a's coord-system along axis-index ai.
Definition at line 434 of file TEveTrans.cxx.
General move in a's coord-system.
Definition at line 445 of file TEveTrans.cxx.
General move in local-frame.
Definition at line 365 of file TEveTrans.cxx.
General move in parent-frame.
Definition at line 403 of file TEveTrans.cxx.
Move in local-frame along axis with index ai.
Definition at line 356 of file TEveTrans.cxx.
Move in parent-frame along axis index ai.
Definition at line 395 of file TEveTrans.cxx.
Multiply vector and return it.
Definition at line 761 of file TEveTrans.cxx.
Multiply vector and fill output array vout.
Definition at line 771 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 729 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 739 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 750 of file TEveTrans.cxx.
Multiply from left: this = t * this.
Definition at line 301 of file TEveTrans.cxx.
Multiply from right: this = this * t.
Definition at line 317 of file TEveTrans.cxx.
Norm 3-vector in column col.
Definition at line 825 of file TEveTrans.cxx.
Definition at line 106 of file TEveTrans.h.
Definition at line 107 of file TEveTrans.h.
Copy, multiply from right and return product.
Avoid unless necessary.
Definition at line 334 of file TEveTrans.cxx.
Definition at line 72 of file TEveTrans.h.
Definition at line 63 of file TEveTrans.h.
Definition at line 100 of file TEveTrans.h.
Definition at line 101 of file TEveTrans.h.
Orto-norm 3-vector in column col with respect to column ref.
Definition at line 836 of file TEveTrans.cxx.
void TEveTrans::OrtoNorm3 | ( | ) |
Orto-norm columns 1 to 3.
Definition at line 848 of file TEveTrans.cxx.
Print in reasonable format.
Reimplemented from TObject.
Definition at line 956 of file TEveTrans.cxx.
Rotate in a's coord-system, rotating base vector with index i1 into i2.
Definition at line 457 of file TEveTrans.cxx.
Rotate vector and return the rotated vector. Translation is NOT applied.
Definition at line 815 of file TEveTrans.cxx.
Rotate vector in-place. Translation is NOT applied.
Definition at line 781 of file TEveTrans.cxx.
Rotate vector in-place. Translation is NOT applied.
Definition at line 791 of file TEveTrans.cxx.
Rotate vector in-place. Translation is NOT applied.
Definition at line 803 of file TEveTrans.cxx.
Rotate in local frame. Does optimised version of MultRight.
Definition at line 375 of file TEveTrans.cxx.
Rotate in parent frame. Does optimised version of MultLeft.
Definition at line 413 of file TEveTrans.cxx.
Scale matrix. Translation part untouched.
Definition at line 647 of file TEveTrans.cxx.
Set base-vector with index b.
Definition at line 471 of file TEveTrans.cxx.
Set base-vector with index b.
Definition at line 481 of file TEveTrans.cxx.
Fill transformation part TBuffer3D core section.
Definition at line 1049 of file TEveTrans.cxx.
Definition at line 171 of file TEveTrans.h.
Definition at line 172 of file TEveTrans.h.
Definition at line 177 of file TEveTrans.h.
Definition at line 981 of file TEveTrans.cxx.
void TEveTrans::SetFrom | ( | const TGeoMatrix & | mat | ) |
Initialize from TGeoMatrix.
Definition at line 993 of file TEveTrans.cxx.
Set matrix from Double_t array.
Definition at line 178 of file TEveTrans.cxx.
Set matrix from Float_t array.
Definition at line 187 of file TEveTrans.cxx.
void TEveTrans::SetGeoHMatrix | ( | TGeoHMatrix & | mat | ) |
Set TGeoHMatrix mat.
Definition at line 1020 of file TEveTrans.cxx.
Set position (base-vec 4).
Definition at line 507 of file TEveTrans.cxx.
Definition at line 512 of file TEveTrans.cxx.
Definition at line 518 of file TEveTrans.cxx.
Definition at line 524 of file TEveTrans.cxx.
Definition at line 572 of file TEveTrans.cxx.
Sets Rotation part as given by angles a1, a1, a3 and pattern pat.
Pattern consists of "XxYyZz" characters. eg: x means rotate about x axis, X means rotate in negative direction xYz -> R_x(a3) * R_y(-a2) * R_z(a1); (standard Gled representation) Note that angles and pattern elements have inverted order!
Implements Eulerian/Cardanian angles in a uniform way.
Definition at line 602 of file TEveTrans.cxx.
Set scaling.
Definition at line 688 of file TEveTrans.cxx.
Change x scaling.
Definition at line 702 of file TEveTrans.cxx.
Change y scaling.
Definition at line 711 of file TEveTrans.cxx.
Change z scaling.
Definition at line 720 of file TEveTrans.cxx.
Set matrix from another,.
Definition at line 164 of file TEveTrans.cxx.
void TEveTrans::SetupFromToVec | ( | const TEveVector & | from, |
const TEveVector & | to | ||
) |
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to".
Input : from[3], to[3] which both must be normalized non-zero vectors Output: mtx[3][3] – a 3x3 matrix in column-major form
Authors: Tomas Möller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999
Definition at line 219 of file TEveTrans.cxx.
Setup the matrix as an elementary rotation.
Optimized versions of left/right multiplication with an elementary rotation matrix are implemented in RotatePF/RotateLF. Expects identity matrix.
Definition at line 199 of file TEveTrans.cxx.
Definition at line 169 of file TEveTrans.h.
void TEveTrans::TransposeRotationPart | ( | ) |
Transpose 3x3 rotation sub-matrix.
Definition at line 344 of file TEveTrans.cxx.
void TEveTrans::UnitRot | ( | ) |
Reset rotation part of the matrix to unity.
Definition at line 153 of file TEveTrans.cxx.
void TEveTrans::UnitTrans | ( | ) |
Reset matrix to unity.
Definition at line 130 of file TEveTrans.cxx.
Double_t TEveTrans::Unscale | ( | ) |
Remove scaling, make all base vectors of unit length.
Definition at line 657 of file TEveTrans.cxx.
Remove scaling, make all base vectors of unit length.
Definition at line 667 of file TEveTrans.cxx.
Reset matrix to zero, only the perspective scaling is set to w (1 by default).
Definition at line 142 of file TEveTrans.cxx.
|
friend |
Definition at line 29 of file TEveTrans.h.
|
friend |
Definition at line 28 of file TEveTrans.h.
|
mutableprotected |
Definition at line 34 of file TEveTrans.h.
|
mutableprotected |
Definition at line 35 of file TEveTrans.h.
|
mutableprotected |
Definition at line 36 of file TEveTrans.h.
|
mutableprotected |
Definition at line 37 of file TEveTrans.h.
|
protected |
Definition at line 42 of file TEveTrans.h.
|
protected |
Definition at line 43 of file TEveTrans.h.
|
protected |
Definition at line 41 of file TEveTrans.h.
|
protected |
Definition at line 32 of file TEveTrans.h.
|
protected |
Definition at line 40 of file TEveTrans.h.