Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TGLTransManip Class Reference

Translation manipulator - attaches to physical shape and draws local axes widgets with arrow heads.

User can mouse over (turns yellow) and L click/drag to translate along this axis. Widgets use standard 3D package axes colours: X red, Y green, Z blue.

Definition at line 27 of file TGLTransManip.h.

Public Member Functions

 TGLTransManip ()
 Construct translation manipulator not bound to any physical shape.
 TGLTransManip (TGLPhysicalShape *shape)
 Construct translation manipulator, attached to supplied TGLViewer 'viewer', bound to TGLPhysicalShape 'shape'.
 ~TGLTransManip () override
 Destroy the translation manipulator.
void Attach (TGLPhysicalShape *shape)
void Draw (const TGLCamera &camera) const override
 Draw translation manipulator - tubes with arrow heads, in local axes of attached shape, in red(X), green(Y) and blue(Z), with white center sphere.
Bool_t GetActive () const
TGLPhysicalShapeGetAttached () const
UInt_t GetSelectedWidget () const
virtual Bool_t HandleButton (const Event_t &event, const TGLCamera &camera)
 Handle a mouse button event - return kTRUE if processed, kFALSE otherwise.
Bool_t HandleMotion (const Event_t &event, const TGLCamera &camera) override
 Handle mouse motion over manipulator - if active (selected widget) translate physical along selected widget (axis) of the manipulator, so it tracks mouse action.
TClassIsA () const override
Bool_t Select (const TGLCamera &, const TGLRect &, const TGLBoundingBox &) override
void SetActive (Bool_t a)
void SetSelectedWidget (UInt_t s)
void Streamer (TBuffer &) override
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()

Protected Member Functions

void CalcDrawScale (const TGLBoundingBox &box, const TGLCamera &camera, Double_t &base, TGLVector3 axis[3]) const
 Calculates base and axis scale factor (in world units) for drawing manipulators with reasonable size range in current camera.
const UChar_tColorFor (UInt_t widget) const
 Returns color to be used for given widget.

Protected Attributes

Bool_t fActive
 ! manipulator is active?
TPoint fFirstMouse
 ! first (start) mouse position (in WINDOW coords)
TPoint fLastMouse
 ! last (latest) mouse position (in WINDOW coords)
UInt_t fSelectedWidget
 ! active width (axis) component
TGLPhysicalShapefShape
 ! manipulated shape

#include <TGLTransManip.h>

Inheritance diagram for TGLTransManip:
TGLManip TVirtualGLManip

Constructor & Destructor Documentation

◆ TGLTransManip() [1/2]

TGLTransManip::TGLTransManip ( )

Construct translation manipulator not bound to any physical shape.

Definition at line 29 of file TGLTransManip.cxx.

◆ TGLTransManip() [2/2]

TGLTransManip::TGLTransManip ( TGLPhysicalShape * shape)

Construct translation manipulator, attached to supplied TGLViewer 'viewer', bound to TGLPhysicalShape 'shape'.

Definition at line 37 of file TGLTransManip.cxx.

◆ ~TGLTransManip()

TGLTransManip::~TGLTransManip ( )
override

Destroy the translation manipulator.

Definition at line 45 of file TGLTransManip.cxx.

Member Function Documentation

◆ Attach()

void TGLManip::Attach ( TGLPhysicalShape * shape)
inlineinherited

Definition at line 58 of file TGLManip.h.

◆ CalcDrawScale()

void TGLManip::CalcDrawScale ( const TGLBoundingBox & box,
const TGLCamera & camera,
Double_t & base,
TGLVector3 axis[3] ) const
protectedinherited

Calculates base and axis scale factor (in world units) for drawing manipulators with reasonable size range in current camera.

Definition at line 152 of file TGLManip.cxx.

◆ Class()

TClass * TGLTransManip::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * TGLTransManip::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TGLTransManip::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 39 of file TGLTransManip.h.

◆ ColorFor()

const UChar_t * TGLManip::ColorFor ( UInt_t widget) const
protectedinherited

Returns color to be used for given widget.

Definition at line 93 of file TGLManip.cxx.

◆ DeclFileName()

const char * TGLTransManip::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 39 of file TGLTransManip.h.

◆ Draw()

void TGLTransManip::Draw ( const TGLCamera & camera) const
overridevirtual

Draw translation manipulator - tubes with arrow heads, in local axes of attached shape, in red(X), green(Y) and blue(Z), with white center sphere.

If selected widget (mouse over) this is drawn in active colour (yellow).

Implements TGLManip.

Definition at line 54 of file TGLTransManip.cxx.

◆ GetActive()

Bool_t TGLManip::GetActive ( ) const
inlineinherited

Definition at line 55 of file TGLManip.h.

◆ GetAttached()

TGLPhysicalShape * TGLManip::GetAttached ( ) const
inlineinherited

Definition at line 59 of file TGLManip.h.

◆ GetSelectedWidget()

UInt_t TGLManip::GetSelectedWidget ( ) const
inlineinherited

Definition at line 52 of file TGLManip.h.

◆ HandleButton()

Bool_t TGLManip::HandleButton ( const Event_t & event,
const TGLCamera & camera )
virtualinherited

Handle a mouse button event - return kTRUE if processed, kFALSE otherwise.

Reimplemented in TGLRotateManip, and TGLScaleManip.

Definition at line 114 of file TGLManip.cxx.

◆ HandleMotion()

Bool_t TGLTransManip::HandleMotion ( const Event_t & event,
const TGLCamera & camera )
overridevirtual

Handle mouse motion over manipulator - if active (selected widget) translate physical along selected widget (axis) of the manipulator, so it tracks mouse action.

Returns kTRUE if redraw required kFALSE otherwise.

Reimplemented from TGLManip.

Definition at line 116 of file TGLTransManip.cxx.

◆ IsA()

TClass * TGLTransManip::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TGLManip.

Definition at line 39 of file TGLTransManip.h.

◆ Select()

Bool_t TGLManip::Select ( const TGLCamera & ,
const TGLRect & ,
const TGLBoundingBox &  )
inlineoverridevirtualinherited

Implements TVirtualGLManip.

Definition at line 63 of file TGLManip.h.

◆ SetActive()

void TGLManip::SetActive ( Bool_t a)
inlineinherited

Definition at line 56 of file TGLManip.h.

◆ SetSelectedWidget()

void TGLManip::SetSelectedWidget ( UInt_t s)
inlineinherited

Definition at line 53 of file TGLManip.h.

◆ Streamer()

void TGLTransManip::Streamer ( TBuffer & )
overridevirtual

Reimplemented from TGLManip.

◆ StreamerNVirtual()

void TGLTransManip::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 39 of file TGLTransManip.h.

Member Data Documentation

◆ fActive

Bool_t TGLManip::fActive
protectedinherited

! manipulator is active?

Definition at line 33 of file TGLManip.h.

◆ fFirstMouse

TPoint TGLManip::fFirstMouse
protectedinherited

! first (start) mouse position (in WINDOW coords)

Definition at line 36 of file TGLManip.h.

◆ fLastMouse

TPoint TGLManip::fLastMouse
protectedinherited

! last (latest) mouse position (in WINDOW coords)

Definition at line 37 of file TGLManip.h.

◆ fSelectedWidget

UInt_t TGLManip::fSelectedWidget
protectedinherited

! active width (axis) component

Definition at line 32 of file TGLManip.h.

◆ fShape

TGLPhysicalShape* TGLManip::fShape
protectedinherited

! manipulated shape

Definition at line 31 of file TGLManip.h.


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