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

Scale manipulator - attaches to physical shape and draws local axes widgets with box heads.

User can mouse over (turns yellow) and L click/drag to scale along this axis.

Definition at line 28 of file TGLScaleManip.h.

Public Member Functions

 TGLScaleManip ()
 Construct scale manipulator not bound to any physical shape.
 
 TGLScaleManip (TGLPhysicalShape *shape)
 Construct scale manipulator bound to TGLPhysicalShape 'shape'.
 
 ~TGLScaleManip () override
 Destroy the scale manipulator.
 
void Draw (const TGLCamera &camera) const override
 Draw scale manipulator - tubes with box heads, in local axes of attached shape, in red(X), green(Y) and blue(Z), with white center sphere.
 
Bool_t HandleButton (const Event_t &event, const TGLCamera &camera) override
 Handle mouse button event over manipulator - returns kTRUE if redraw required kFALSE otherwise.
 
Bool_t HandleMotion (const Event_t &event, const TGLCamera &camera) override
 Handle mouse motion over manipulator - if active (selected widget) scale physical along selected widget (axis) of the manipulator, so it tracks mouse action.
 
TClassIsA () const override
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TGLManip
 TGLManip ()
 Construct a manipulator object, bound to supplied viewer, and no physical shape.
 
 TGLManip (TGLPhysicalShape *shape)
 Construct a manipulator object, bound to supplied physical shape.
 
 ~TGLManip () override
 Destroy manipulator object.
 
void Attach (TGLPhysicalShape *shape)
 
Bool_t GetActive () const
 
TGLPhysicalShapeGetAttached () const
 
UInt_t GetSelectedWidget () const
 
Bool_t Select (const TGLCamera &, const TGLRect &, const TGLBoundingBox &) override
 
void SetActive (Bool_t a)
 
void SetSelectedWidget (UInt_t s)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TVirtualGLManip
virtual ~TVirtualGLManip ()
 
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 ()
 
- Static Public Member Functions inherited from TGLManip
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TVirtualGLManip
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Private Member Functions

void LimitScale (Double_t &factor) const
 initial scaling factors
 

Private Attributes

TGLVector3 fStartScale
 

Additional Inherited Members

- Protected Member Functions inherited from TGLManip
 TGLManip (const TGLManip &)
 last (latest) mouse position (in WINDOW coords)
 
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.
 
TGLManipoperator= (const TGLManip &)
 Assignment operator.
 
- Protected Attributes inherited from TGLManip
Bool_t fActive
 active width (axis) component
 
TPoint fFirstMouse
 manipulator is active?
 
TPoint fLastMouse
 first (start) mouse position (in WINDOW coords)
 
UInt_t fSelectedWidget
 manipulated shape
 
TGLPhysicalShapefShape
 

#include <TGLScaleManip.h>

Inheritance diagram for TGLScaleManip:
[legend]

Constructor & Destructor Documentation

◆ TGLScaleManip() [1/2]

TGLScaleManip::TGLScaleManip ( )

Construct scale manipulator not bound to any physical shape.

Definition at line 29 of file TGLScaleManip.cxx.

◆ TGLScaleManip() [2/2]

TGLScaleManip::TGLScaleManip ( TGLPhysicalShape shape)

Construct scale manipulator bound to TGLPhysicalShape 'shape'.

Definition at line 36 of file TGLScaleManip.cxx.

◆ ~TGLScaleManip()

TGLScaleManip::~TGLScaleManip ( )
override

Destroy the scale manipulator.

Definition at line 44 of file TGLScaleManip.cxx.

Member Function Documentation

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 44 of file TGLScaleManip.h.

◆ DeclFileName()

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

Definition at line 44 of file TGLScaleManip.h.

◆ Draw()

void TGLScaleManip::Draw ( const TGLCamera camera) const
overridevirtual

Draw scale manipulator - tubes with box 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 53 of file TGLScaleManip.cxx.

◆ HandleButton()

Bool_t TGLScaleManip::HandleButton ( const Event_t event,
const TGLCamera camera 
)
overridevirtual

Handle mouse button event over manipulator - returns kTRUE if redraw required kFALSE otherwise.

Reimplemented from TGLManip.

Definition at line 113 of file TGLScaleManip.cxx.

◆ HandleMotion()

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

Handle mouse motion over manipulator - if active (selected widget) scale 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 129 of file TGLScaleManip.cxx.

◆ IsA()

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

Reimplemented from TGLManip.

Definition at line 44 of file TGLScaleManip.h.

◆ LimitScale()

void TGLScaleManip::LimitScale ( Double_t factor) const
private

initial scaling factors

Clamp scale to sizable values: 1000 - 1/1000 Guards against div by zero problems.

Definition at line 162 of file TGLScaleManip.cxx.

◆ Streamer()

void TGLScaleManip::Streamer ( TBuffer )
overridevirtual

Reimplemented from TGLManip.

◆ StreamerNVirtual()

void TGLScaleManip::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 44 of file TGLScaleManip.h.

Member Data Documentation

◆ fStartScale

TGLVector3 TGLScaleManip::fStartScale
private

Definition at line 31 of file TGLScaleManip.h.

Libraries for TGLScaleManip:

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