ROOT
6.07/01
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 () |
void | UnitTrans () |
Reset matrix to unity. More... | |
void | ZeroTrans (Double_t w=1.0) |
Reset matrix to zero, only the perspective scaling is set to w (1 by default). More... | |
void | UnitRot () |
Reset rotation part of the matrix to unity. More... | |
void | SetTrans (const TEveTrans &t, Bool_t copyAngles=kTRUE) |
Set matrix from another,. 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... | |
TEveTrans & | operator= (const TEveTrans &t) |
void | SetupRotation (Int_t i, Int_t j, Double_t f) |
Setup the matrix as an elementary rotation. 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 | OrtoNorm3 () |
Orto-norm columns 1 to 3. More... | |
Double_t | Invert () |
Invert matrix. 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... | |
void | operator*= (const TEveTrans &t) |
void | TransposeRotationPart () |
Transpose 3x3 rotation sub-matrix. More... | |
TEveTrans | operator* (const TEveTrans &t) |
Copy, multiply from right and return product. More... | |
void | MoveLF (Int_t ai, Double_t amount) |
Move in local-frame along axis with index ai. More... | |
void | Move3LF (Double_t x, Double_t y, Double_t z) |
General move in local-frame. More... | |
void | RotateLF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in local frame. Does optimised version of MultRight. More... | |
void | MovePF (Int_t ai, Double_t amount) |
Move in parent-frame along axis index ai. More... | |
void | Move3PF (Double_t x, Double_t y, Double_t z) |
General move in parent-frame. More... | |
void | RotatePF (Int_t i1, Int_t i2, Double_t amount) |
Rotate in parent frame. Does optimised version of MultLeft. 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 | 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... | |
Double_t * | Array () |
const Double_t * | Array () 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 * | ArrT () |
const Double_t * | ArrT () const |
Double_t | operator[] (Int_t i) const |
Double_t & | operator[] (Int_t i) |
Double_t | CM (Int_t i, Int_t j) const |
Double_t & | CM (Int_t i, Int_t j) |
Double_t | operator() (Int_t i, Int_t j) const |
Double_t & | operator() (Int_t i, Int_t j) |
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... | |
TVector3 | GetBaseVec (Int_t b) const |
Get base-vector with index b. More... | |
void | GetBaseVec (Int_t b, TVector3 &v) const |
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 | 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 | 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 | GetRotAngles (Float_t *x) const |
Get Cardan rotation angles (pattern xYz above). More... | |
void | Scale (Double_t sx, Double_t sy, Double_t sz) |
Scale matrix. Translation part untouched. 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 | GetScale (Double_t &sx, Double_t &sy, Double_t &sz) const |
Deduce scales from sizes of base vectors. 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 | 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... | |
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 | 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... | |
TVector3 | Rotate (const TVector3 &v) const |
Rotate vector and return the rotated vector. Translation is NOT applied. More... | |
virtual void | Print (Option_t *option="") const |
Print in reasonable format. More... | |
void | SetFrom (Double_t *carr) |
void | SetFrom (const TGeoMatrix &mat) |
Initialize from TGeoMatrix. More... | |
void | SetGeoHMatrix (TGeoHMatrix &mat) |
Set TGeoHMatrix mat. More... | |
void | SetBuffer3D (TBuffer3D &buff) |
Fill transformation part TBuffer3D core section. More... | |
Bool_t | GetUseTrans () const |
void | SetUseTrans (Bool_t v) |
void | SetEditRotation (Bool_t x) |
void | SetEditScale (Bool_t x) |
Bool_t | GetEditRotation () |
Bool_t | GetEditScale () |
Bool_t | GetEditTrans () const |
void | SetEditTrans (Bool_t v) |
Bool_t | IsScale (Double_t low=0.9, Double_t high=1.1) const |
Test if the transformation is a scale. More... | |
ClassDef (TEveTrans, 1) | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
TObject & | operator= (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 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 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 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 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_t * | GetOption () 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... | |
void * | operator new (size_t sz) |
void * | operator new[] (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator 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... | |
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... | |
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... | |
Protected Attributes | |
Double32_t | fM [16] |
Float_t | fA1 |
Float_t | fA2 |
Float_t | fA3 |
Bool_t | fAsOK |
Bool_t | fUseTrans |
Bool_t | fEditTrans |
Bool_t | fEditRotation |
Bool_t | fEditScale |
Friends | |
class | TEveTransSubEditor |
class | TEveTransEditor |
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... | |
#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.
Referenced by TEveGeoShape::DumpShapeTree(), TEveGeoNode::DumpShapeTree(), TEveSceneList::ProcessSceneChanges(), TEveScene::RetransHierarchicallyRecurse(), and TEveLegoEventHandler::Rotate().
|
inline |
Definition at line 94 of file TEveTrans.h.
|
inline |
Definition at line 98 of file TEveTrans.h.
Referenced by TEveTransSubEditor::SetModel().
|
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.
TEveTrans::ClassDef | ( | TEveTrans | , |
1 | |||
) |
Definition at line 103 of file TEveTrans.h.
Referenced by SetupFromToVec().
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.
Referenced by TEveTransSubEditor::SetModel().
|
inline |
Definition at line 174 of file TEveTrans.h.
Referenced by TEveTransSubEditor::SetModel().
|
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.
Referenced by TEveTransSubEditor::SetModel().
Deduce scales from sizes of base vectors.
Definition at line 678 of file TEveTrans.cxx.
Referenced by GetRotAngles(), SetGeoHMatrix(), TEveTransSubEditor::SetModel(), and Unscale().
|
inline |
Definition at line 168 of file TEveTrans.h.
Referenced by TEveGeoShape::MakeBuffer3D().
Double_t TEveTrans::Invert | ( | ) |
Invert matrix.
Copied from ROOT's TMatrixFCramerInv.
Definition at line 863 of file TEveTrans.cxx.
Referenced by Rotate().
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.
Referenced by TEveTriangleSetGL::DirectDraw().
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.
Referenced by TEveProjection::ProjectPointdv().
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.
Referenced by TEveGeoShape::MakeBuffer3D(), TEveTrackProjected::MakeTrack(), TEveProjection::ProjectPointfv(), TEveProjection::ProjectVector(), and TEveStraightLineSetProjected::UpdateProjection().
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.
Referenced by Rotate().
Multiply from right: this = this * t.
Definition at line 317 of file TEveTrans.cxx.
Referenced by operator*(), and operator*=().
Norm 3-vector in column col.
Definition at line 825 of file TEveTrans.cxx.
Referenced by OrtoNorm3().
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.
Referenced by OrtoNorm3().
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.
Referenced by TEveTrackPropagator::DistributeOffset().
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.
Referenced by SetRotByAnyAngles().
Rotate in parent frame. Does optimised version of MultLeft.
Definition at line 413 of file TEveTrans.cxx.
Referenced by Rotate().
Scale matrix. Translation part untouched.
Definition at line 647 of file TEveTrans.cxx.
Referenced by TEveTransSubEditor::SetTransFromData().
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.
Referenced by TEveGeoShape::Paint(), and TEveElement::PaintStandard().
Definition at line 171 of file TEveTrans.h.
Referenced by TEveText::SetFontMode().
Definition at line 172 of file TEveTrans.h.
Referenced by TEveText::SetFontMode().
Definition at line 177 of file TEveTrans.h.
Referenced by TEveTransSubEditor::DoEditTrans().
Definition at line 981 of file TEveTrans.cxx.
Referenced by TEveElement::SetTransMatrix(), and TEveGeoTopNode::UseNodeTrans().
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.
Referenced by TEveGeoNode::DumpShapeTree(), TEveGeoShape::SubImportShapeExtract(), and TEveTrans().
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.
Referenced by TEveGeoTopNode::Paint().
Set position (base-vec 4).
Definition at line 507 of file TEveTrans.cxx.
Referenced by TEveGridStepper::SetTrans(), and TEveTransSubEditor::SetTransFromData().
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.
Referenced by TEveTransSubEditor::SetTransFromData().
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.
Referenced by operator=(), and TEveTrans().
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.
Referenced by TEveTrackPropagator::DistributeOffset().
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.
Referenced by TEveTransSubEditor::DoUseTrans().
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.
Referenced by SetRotByAnyAngles().
void TEveTrans::UnitTrans | ( | ) |
Reset matrix to unity.
Definition at line 130 of file TEveTrans.cxx.
Referenced by TEveElement::InitMainTrans(), TEveTransSubEditor::SetTransFromData(), and TEveTrans().
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.
Referenced by SetupFromToVec().
|
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.
Referenced by GetRotAngles(), SetRotByAngles(), SetTrans(), UnitRot(), UnitTrans(), and ZeroTrans().
|
mutableprotected |
Definition at line 35 of file TEveTrans.h.
Referenced by GetRotAngles(), SetRotByAngles(), SetTrans(), UnitRot(), UnitTrans(), and ZeroTrans().
|
mutableprotected |
Definition at line 36 of file TEveTrans.h.
Referenced by GetRotAngles(), SetRotByAngles(), SetTrans(), UnitRot(), UnitTrans(), and ZeroTrans().
|
mutableprotected |
Definition at line 37 of file TEveTrans.h.
Referenced by GetRotAngles(), Invert(), MultLeft(), MultRight(), Rotate(), RotateLF(), RotatePF(), SetBaseVec(), SetFrom(), SetFromArray(), SetRotByAngles(), SetRotByAnyAngles(), SetTrans(), SetupRotation(), TransposeRotationPart(), UnitRot(), UnitTrans(), and ZeroTrans().
|
protected |
Definition at line 42 of file TEveTrans.h.
Referenced by GetEditRotation(), and SetEditRotation().
|
protected |
Definition at line 43 of file TEveTrans.h.
Referenced by GetEditScale(), and SetEditScale().
|
protected |
Definition at line 41 of file TEveTrans.h.
Referenced by GetEditTrans(), SetEditTrans(), and TEveTransSubEditor::SetModel().
|
protected |
Definition at line 32 of file TEveTrans.h.
Referenced by Array(), ArrT(), ArrX(), ArrY(), ArrZ(), CM(), GetBaseVec(), GetPos(), GetRotAngles(), GetScale(), Invert(), IsScale(), Move(), Move3(), Move3LF(), Move3PF(), MoveLF(), MovePF(), Multiply(), MultiplyIP(), MultLeft(), MultRight(), Norm3Column(), operator()(), operator[](), Orto3Column(), OrtoNorm3(), Print(), Rotate(), RotateIP(), RotateLF(), RotatePF(), Scale(), SetBaseVec(), SetBuffer3D(), SetFrom(), SetFromArray(), SetGeoHMatrix(), SetPos(), SetRotByAngles(), SetScale(), SetScaleX(), SetScaleY(), SetScaleZ(), SetTrans(), TransposeRotationPart(), UnitRot(), UnitTrans(), Unscale(), and ZeroTrans().
|
protected |
Definition at line 40 of file TEveTrans.h.
Referenced by GetUseTrans(), IsScale(), SetBuffer3D(), SetFrom(), SetGeoHMatrix(), TEveTransSubEditor::SetModel(), and SetUseTrans().