library: libRGL
#include "TGLScaleManip.h"

TGLScaleManip


class description - source file - inheritance tree (.pdf)

class TGLScaleManip : public TGLManip

Inheritance Chart:
TGLManip
<-
TGLScaleManip
    private:
void LimitScale(Double_t& factor) const public:
TGLScaleManip() TGLScaleManip(TGLPhysicalShape* shape) TGLScaleManip(const TGLScaleManip&) virtual ~TGLScaleManip() static TClass* Class() virtual void Draw(const TGLCamera& camera) const virtual Bool_t HandleButton(const Event_t& event, const TGLCamera& camera) virtual Bool_t HandleMotion(const Event_t& event, const TGLCamera& camera, const TGLBoundingBox& sceneBox) virtual TClass* IsA() const TGLScaleManip& operator=(const TGLScaleManip&) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TGLVector3 fStartScale

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) : TGLManip(shape)
 Construct scale manipulator bound to TGLPhysicalShape 'shape'.

~TGLScaleManip()
 Destory the scale manipulator

void Draw(const TGLCamera & camera) const
 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) const
 Clamp scale to sizable values: 1000 - 1/1000
 Guards against div by zero problems.



Inline Functions


               TClass* Class()
               TClass* IsA() const
                  void ShowMembers(TMemberInspector& insp, char* parent)
                  void Streamer(TBuffer& b)
                  void StreamerNVirtual(TBuffer& b)
         TGLScaleManip TGLScaleManip(const TGLScaleManip&)
        TGLScaleManip& operator=(const 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.