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. | |
TEveTrans (const Double_t arr[16]) | |
Constructor. | |
TEveTrans (const Float_t arr[16]) | |
Constructor. | |
TEveTrans (const TEveTrans &t) | |
Constructor. | |
~TEveTrans () override | |
Double_t * | Array () |
const Double_t * | Array () const |
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) |
Double_t | CM (Int_t i, Int_t j) const |
TVector3 | GetBaseVec (Int_t b) const |
Get base-vector with index b. | |
void | GetBaseVec (Int_t b, TVector3 &v) const |
Bool_t | GetEditRotation () |
Bool_t | GetEditScale () |
Bool_t | GetEditTrans () const |
TVector3 | GetPos () const |
void | GetPos (Double_t &x, Double_t &y, Double_t &z) const |
Get position (base-vec 4). | |
void | GetPos (Double_t *x) const |
void | GetPos (Float_t *x) const |
void | GetPos (TVector3 &v) const |
void | GetRotAngles (Float_t *x) const |
Get Cardan rotation angles (pattern xYz above). | |
void | GetScale (Double_t &sx, Double_t &sy, Double_t &sz) const |
Deduce scales from sizes of base vectors. | |
Bool_t | GetUseTrans () const |
Double_t | Invert () |
Invert matrix. | |
TClass * | IsA () const override |
Bool_t | IsScale (Double_t low=0.9, Double_t high=1.1) const |
Test if the transformation is a scale. | |
void | Move (const TEveTrans &a, Int_t ai, Double_t amount) |
Move in a's coord-system along axis-index ai. | |
void | Move3 (const TEveTrans &a, Double_t x, Double_t y, Double_t z) |
General move in a's coord-system. | |
void | Move3LF (Double_t x, Double_t y, Double_t z) |
General move in local-frame. | |
void | Move3PF (Double_t x, Double_t y, Double_t z) |
General move in parent-frame. | |
void | MoveLF (Int_t ai, Double_t amount) |
Move in local-frame along axis with index ai. | |
void | MovePF (Int_t ai, Double_t amount) |
Move in parent-frame along axis index ai. | |
void | Multiply (const Double_t *vin, Double_t *vout, Double_t w=1) const |
Multiply vector and fill output array vout. | |
TVector3 | Multiply (const TVector3 &v, Double_t w=1) const |
Multiply vector and return it. | |
void | MultiplyIP (Double_t *v, Double_t w=1) const |
Multiply vector in-place. | |
void | MultiplyIP (Float_t *v, Double_t w=1) const |
Multiply vector in-place. | |
void | MultiplyIP (TVector3 &v, Double_t w=1) const |
Multiply vector in-place. | |
void | MultLeft (const TEveTrans &t) |
Multiply from left: this = t * this. | |
void | MultRight (const TEveTrans &t) |
Multiply from right: this = this * t. | |
Double_t & | operator() (Int_t i, Int_t j) |
Double_t | operator() (Int_t i, Int_t j) const |
TEveTrans | operator* (const TEveTrans &t) |
Copy, multiply from right and return product. | |
void | operator*= (const TEveTrans &t) |
TEveTrans & | operator= (const TEveTrans &t) |
Double_t & | operator[] (Int_t i) |
Double_t | operator[] (Int_t i) const |
void | OrtoNorm3 () |
Orto-norm columns 1 to 3. | |
void | Print (Option_t *option="") const override |
Print in reasonable format. | |
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. | |
TVector3 | Rotate (const TVector3 &v) const |
Rotate vector and return the rotated vector. Translation is NOT applied. | |
void | RotateIP (Double_t *v) const |
Rotate vector in-place. Translation is NOT applied. | |
void | RotateIP (Float_t *v) const |
Rotate vector in-place. Translation is NOT applied. | |
void | RotateIP (TVector3 &v) const |
Rotate vector in-place. Translation is NOT applied. | |
void | RotateLF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in local frame. Does optimised version of MultRight. | |
void | RotatePF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in parent frame. Does optimised version of MultLeft. | |
void | Scale (Double_t sx, Double_t sy, Double_t sz) |
Scale matrix. Translation part untouched. | |
void | SetBaseVec (Int_t b, const TVector3 &v) |
Set base-vector with index b. | |
void | SetBaseVec (Int_t b, Double_t x, Double_t y, Double_t z) |
Set base-vector with index b. | |
void | SetBuffer3D (TBuffer3D &buff) |
Fill transformation part TBuffer3D core section. | |
void | SetEditRotation (Bool_t x) |
void | SetEditScale (Bool_t x) |
void | SetEditTrans (Bool_t v) |
void | SetFrom (const TGeoMatrix &mat) |
Initialize from TGeoMatrix. | |
void | SetFrom (Double_t *carr) |
void | SetFromArray (const Double_t arr[16]) |
Set matrix from Double_t array. | |
void | SetFromArray (const Float_t arr[16]) |
Set matrix from Float_t array. | |
void | SetGeoHMatrix (TGeoHMatrix &mat) |
Set TGeoHMatrix mat. | |
void | SetPos (const TEveTrans &t) |
void | SetPos (Double_t *x) |
void | SetPos (Double_t x, Double_t y, Double_t z) |
Set position (base-vec 4). | |
void | SetPos (Float_t *x) |
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. | |
void | SetScale (Double_t sx, Double_t sy, Double_t sz) |
Set scaling. | |
void | SetScaleX (Double_t sx) |
Change x scaling. | |
void | SetScaleY (Double_t sy) |
Change y scaling. | |
void | SetScaleZ (Double_t sz) |
Change z scaling. | |
void | SetTrans (const TEveTrans &t, Bool_t copyAngles=kTRUE) |
Set matrix from another,. | |
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". | |
void | SetupRotation (Int_t i, Int_t j, Double_t f) |
Setup the matrix as an elementary rotation. | |
void | SetUseTrans (Bool_t v) |
void | Streamer (TBuffer &) override |
Stream an object of class TEveTrans. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | TransposeRotationPart () |
Transpose 3x3 rotation sub-matrix. | |
void | UnitRot () |
Reset rotation part of the matrix to unity. | |
void | UnitTrans () |
Reset matrix to unity. | |
Double_t | Unscale () |
Remove scaling, make all base vectors of unit length. | |
void | Unscale (Double_t &sx, Double_t &sy, Double_t &sz) |
Remove scaling, make all base vectors of unit length. | |
void | ZeroTrans (Double_t w=1.0) |
Reset matrix to zero, only the perspective scaling is set to w (1 by default). | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. | |
virtual void | Copy (TObject &object) const |
Copy this to obj. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
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. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
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. | |
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). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification (the base implementation is no-op). | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete (void *ptr, void *vp) |
Only called by placement new when throwing an exception. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void | operator delete[] (void *ptr, void *vp) |
Only called by placement new[] when throwing an exception. | |
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. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
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. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
Double_t | Norm3Column (Int_t col) |
Norm 3-vector in column col. | |
Double_t | Orto3Column (Int_t col, Int_t ref) |
Orto-norm 3-vector in column col with respect to column ref. | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
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 | |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
#include <TEveTrans.h>
TEveTrans::TEveTrans | ( | ) |
Default constructor.
Definition at line 73 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const TEveTrans & | t | ) |
Constructor.
Definition at line 87 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const Double_t | arr[16] | ) |
Constructor.
Definition at line 101 of file TEveTrans.cxx.
TEveTrans::TEveTrans | ( | const Float_t | arr[16] | ) |
Constructor.
Definition at line 115 of file TEveTrans.cxx.
|
inlineoverride |
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.
|
static |
|
inlinestaticconstexpr |
Definition at line 181 of file TEveTrans.h.
Definition at line 104 of file TEveTrans.h.
Definition at line 103 of file TEveTrans.h.
|
inlinestatic |
Definition at line 181 of file TEveTrans.h.
Get base-vector with index b.
Definition at line 490 of file TEveTrans.cxx.
Definition at line 495 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.
TVector3 TEveTrans::GetPos | ( | ) | const |
Definition at line 556 of file TEveTrans.cxx.
Get position (base-vec 4).
Definition at line 533 of file TEveTrans.cxx.
void TEveTrans::GetPos | ( | Double_t * | x | ) | const |
Definition at line 538 of file TEveTrans.cxx.
void TEveTrans::GetPos | ( | Float_t * | x | ) | const |
Definition at line 544 of file TEveTrans.cxx.
void TEveTrans::GetPos | ( | TVector3 & | v | ) | const |
Definition at line 550 of file TEveTrans.cxx.
void TEveTrans::GetRotAngles | ( | Float_t * | x | ) | const |
Get Cardan rotation angles (pattern xYz above).
Definition at line 622 of file TEveTrans.cxx.
Deduce scales from sizes of base vectors.
Definition at line 677 of file TEveTrans.cxx.
|
inline |
Definition at line 168 of file TEveTrans.h.
Double_t TEveTrans::Invert | ( | ) |
|
inlineoverridevirtual |
Reimplemented from TObject.
Definition at line 181 of file TEveTrans.h.
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 1073 of file TEveTrans.cxx.
Move in a's coord-system along axis-index ai.
Definition at line 433 of file TEveTrans.cxx.
General move in a's coord-system.
Definition at line 444 of file TEveTrans.cxx.
General move in local-frame.
Definition at line 364 of file TEveTrans.cxx.
General move in parent-frame.
Definition at line 402 of file TEveTrans.cxx.
Move in local-frame along axis with index ai.
Definition at line 355 of file TEveTrans.cxx.
Move in parent-frame along axis index ai.
Definition at line 394 of file TEveTrans.cxx.
Multiply vector and fill output array vout.
Definition at line 770 of file TEveTrans.cxx.
Multiply vector and return it.
Definition at line 760 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 738 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 749 of file TEveTrans.cxx.
Multiply vector in-place.
Definition at line 728 of file TEveTrans.cxx.
void TEveTrans::MultLeft | ( | const TEveTrans & | t | ) |
Multiply from left: this = t * this.
Definition at line 300 of file TEveTrans.cxx.
void TEveTrans::MultRight | ( | const TEveTrans & | t | ) |
Multiply from right: this = this * t.
Definition at line 316 of file TEveTrans.cxx.
Norm 3-vector in column col.
Definition at line 824 of file TEveTrans.cxx.
Definition at line 107 of file TEveTrans.h.
Definition at line 106 of file TEveTrans.h.
Copy, multiply from right and return product.
Avoid unless necessary.
Definition at line 333 of file TEveTrans.cxx.
|
inline |
Definition at line 72 of file TEveTrans.h.
Definition at line 63 of file TEveTrans.h.
Definition at line 101 of file TEveTrans.h.
Definition at line 100 of file TEveTrans.h.
Orto-norm 3-vector in column col with respect to column ref.
Definition at line 835 of file TEveTrans.cxx.
void TEveTrans::OrtoNorm3 | ( | ) |
Orto-norm columns 1 to 3.
Definition at line 847 of file TEveTrans.cxx.
|
overridevirtual |
Print in reasonable format.
Reimplemented from TObject.
Definition at line 955 of file TEveTrans.cxx.
Rotate in a's coord-system, rotating base vector with index i1 into i2.
Definition at line 456 of file TEveTrans.cxx.
Rotate vector and return the rotated vector. Translation is NOT applied.
Definition at line 814 of file TEveTrans.cxx.
void TEveTrans::RotateIP | ( | Double_t * | v | ) | const |
Rotate vector in-place. Translation is NOT applied.
Definition at line 790 of file TEveTrans.cxx.
void TEveTrans::RotateIP | ( | Float_t * | v | ) | const |
Rotate vector in-place. Translation is NOT applied.
Definition at line 802 of file TEveTrans.cxx.
void TEveTrans::RotateIP | ( | TVector3 & | v | ) | const |
Rotate vector in-place. Translation is NOT applied.
Definition at line 780 of file TEveTrans.cxx.
Rotate in local frame. Does optimised version of MultRight.
Definition at line 374 of file TEveTrans.cxx.
Rotate in parent frame. Does optimised version of MultLeft.
Definition at line 412 of file TEveTrans.cxx.
Scale matrix. Translation part untouched.
Definition at line 646 of file TEveTrans.cxx.
Set base-vector with index b.
Definition at line 480 of file TEveTrans.cxx.
Set base-vector with index b.
Definition at line 470 of file TEveTrans.cxx.
void TEveTrans::SetBuffer3D | ( | TBuffer3D & | buff | ) |
Fill transformation part TBuffer3D core section.
Definition at line 1048 of file TEveTrans.cxx.
|
inline |
Definition at line 171 of file TEveTrans.h.
|
inline |
Definition at line 172 of file TEveTrans.h.
|
inline |
Definition at line 177 of file TEveTrans.h.
void TEveTrans::SetFrom | ( | const TGeoMatrix & | mat | ) |
Initialize from TGeoMatrix.
Definition at line 992 of file TEveTrans.cxx.
void TEveTrans::SetFrom | ( | Double_t * | carr | ) |
Definition at line 980 of file TEveTrans.cxx.
void TEveTrans::SetFromArray | ( | const Double_t | arr[16] | ) |
Set matrix from Double_t array.
Definition at line 177 of file TEveTrans.cxx.
void TEveTrans::SetFromArray | ( | const Float_t | arr[16] | ) |
Set matrix from Float_t array.
Definition at line 186 of file TEveTrans.cxx.
void TEveTrans::SetGeoHMatrix | ( | TGeoHMatrix & | mat | ) |
Set TGeoHMatrix mat.
Definition at line 1019 of file TEveTrans.cxx.
void TEveTrans::SetPos | ( | const TEveTrans & | t | ) |
Definition at line 523 of file TEveTrans.cxx.
void TEveTrans::SetPos | ( | Double_t * | x | ) |
Definition at line 511 of file TEveTrans.cxx.
Set position (base-vec 4).
Definition at line 506 of file TEveTrans.cxx.
void TEveTrans::SetPos | ( | Float_t * | x | ) |
Definition at line 517 of file TEveTrans.cxx.
Definition at line 571 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 601 of file TEveTrans.cxx.
Set scaling.
Definition at line 687 of file TEveTrans.cxx.
void TEveTrans::SetScaleX | ( | Double_t | sx | ) |
Change x scaling.
Definition at line 701 of file TEveTrans.cxx.
void TEveTrans::SetScaleY | ( | Double_t | sy | ) |
Change y scaling.
Definition at line 710 of file TEveTrans.cxx.
void TEveTrans::SetScaleZ | ( | Double_t | sz | ) |
Change z scaling.
Definition at line 719 of file TEveTrans.cxx.
Set matrix from another,.
Definition at line 163 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 218 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 198 of file TEveTrans.cxx.
|
inline |
Definition at line 169 of file TEveTrans.h.
|
overridevirtual |
Stream an object of class TEveTrans.
Reimplemented from TObject.
Definition at line 942 of file TEveTrans.cxx.
|
inline |
Definition at line 181 of file TEveTrans.h.
void TEveTrans::TransposeRotationPart | ( | ) |
Transpose 3x3 rotation sub-matrix.
Definition at line 343 of file TEveTrans.cxx.
void TEveTrans::UnitRot | ( | ) |
Reset rotation part of the matrix to unity.
Definition at line 152 of file TEveTrans.cxx.
void TEveTrans::UnitTrans | ( | ) |
Reset matrix to unity.
Definition at line 129 of file TEveTrans.cxx.
Double_t TEveTrans::Unscale | ( | ) |
Remove scaling, make all base vectors of unit length.
Definition at line 656 of file TEveTrans.cxx.
Remove scaling, make all base vectors of unit length.
Definition at line 666 of file TEveTrans.cxx.
void TEveTrans::ZeroTrans | ( | Double_t | w = 1.0 | ) |
Reset matrix to zero, only the perspective scaling is set to w (1 by default).
Definition at line 141 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.