library: libRGL
#include "TGLScaleManip.h"

TGLScaleManip


class description - header file - source file
viewCVS header - viewCVS source

class TGLScaleManip: public TGLManip

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TGLScaleManip()
TGLScaleManip(TGLPhysicalShape* shape)
TGLScaleManip(const TGLScaleManip&)
virtual~TGLScaleManip()
voidTGLManip::Attach(TGLPhysicalShape* shape)
static TClass*Class()
virtual voidDraw(const TGLCamera& camera) const
TGLPhysicalShape*TGLManip::GetAttached() const
virtual Bool_tHandleButton(const Event_t& event, const TGLCamera& camera)
virtual Bool_tHandleMotion(const Event_t& event, const TGLCamera& camera, const TGLBoundingBox& sceneBox)
virtual TClass*IsA() const
virtual Bool_tTGLManip::Select(const TGLCamera& camera, const TGLRect& rect, const TGLBoundingBox& sceneBox)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
protected:
voidTGLManip::CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera, Double_t& base, TGLVector3* axis) const
TGLManip&TGLManip::operator=(const TGLManip&)
private:
voidLimitScale(Double_t& factor) const

Data Members

protected:
TGLPhysicalShape*TGLManip::fShape! manipulated shape
UInt_tTGLManip::fSelectedWidget! active width (axis) component
Bool_tTGLManip::fActive! manipulator is active?
TPointTGLManip::fFirstMouse! first (start) mouse position (in WINDOW coords)
TPointTGLManip::fLastMouse! last (latest) mouse position (in WINDOW coords)
static Float_tTGLManip::fgRed[4]
static Float_tTGLManip::fgGreen[4]
static Float_tTGLManip::fgBlue[4]
static Float_tTGLManip::fgYellow[4]
static Float_tTGLManip::fgWhite[4]
static Float_tTGLManip::fgGrey[4]
private:
TGLVector3fStartScale! initial scaling factors

Class Description

                                                                      
 TGLScaleManip                                                        
                                                                      
 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.                                 
 Widgets use standard 3D package axes colours: X red, Y green, Z blue.

TGLScaleManip()
 Construct scale manipulator not bound to any physical shape.
TGLScaleManip(TGLPhysicalShape * shape)
 Construct scale manipulator bound to TGLPhysicalShape 'shape'.
~TGLScaleManip()
 Destory the scale manipulator
void Draw(const TGLCamera & camera)
 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).
Bool_t HandleButton(const Event_t & event, const TGLCamera & camera)
 Handle mouse button event over manipulator - returns kTRUE if redraw required
 kFALSE otherwise.
Bool_t HandleMotion(const Event_t & event, const TGLCamera & camera, const TGLBoundingBox & sceneBox)
 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.
void LimitScale(Double_t & factor)
 Clamp scale to sizable values: 1000 - 1/1000
 Guards against div by zero problems.
TGLScaleManip()

Author: Richard Maunder 16/09/2005
Last update: root/gl:$Name: $:$Id: TGLScaleManip.cxx,v 1.6 2006/01/30 17:42:06 rdm Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.