library: libRGL
#include "TGLManip.h"

TGLManip


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

class TGLManip

Inheritance Chart:
TGLManip
<-
TGLRotateManip
TGLScaleManip
TGLTransManip
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.


    protected:
void CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera, Double_t& base, TGLVector3* axis) const public:
virtual ~TGLManip() void Attach(TGLPhysicalShape* shape) static TClass* Class() virtual void Draw(const TGLCamera& camera) const TGLPhysicalShape* GetAttached() 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 TGLManip& operator=(const TGLManip&) virtual Bool_t Select(const TGLCamera& camera, const TGLRect& rect, const TGLBoundingBox& sceneBox) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
TGLPhysicalShape* fShape ! manipulated shape UInt_t fSelectedWidget ! active width (axis) component Bool_t fActive ! manipulator is active? TPoint fFirstMouse ! first (start) mouse position (in WINDOW coords) TPoint fLastMouse ! last (latest) mouse position (in WINDOW coords) static Float_t fgRed[4] static Float_t fgGreen[4] static Float_t fgBlue[4] static Float_t fgYellow[4] static Float_t fgWhite[4] static Float_t fgGrey[4]

Class Description

                                                                      
 TGLManip                                                             
                                                                      
 Abstract base class for viewer manipulators, which allow direct in   
 viewer manipulation of a (TGlPhysicalShape) object - currently       
 translation, scaling and rotation along/round objects local axes.    
 See derived classes for these implementations.                       
                                                                      
 This class provides binding to the zero or one manipulated physical, 
 hit testing (selection) for manipulator sub component (widget), and  
 some common mouse action handling/tracking.                          


~TGLManip()
 Destroy manipulator object

Bool_t Select(const TGLCamera & camera, const TGLRect & rect, const TGLBoundingBox & sceneBox)
 Select active widget (axis component) of the widget

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, const TGLBoundingBox & sceneBox)
 Handle a mouse button event - return kTRUE if widget selection change
 kFALSE otherwise

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.



Inline Functions


                     void Attach(TGLPhysicalShape* shape)
        TGLPhysicalShape* GetAttached() const
                     void Draw(const TGLCamera& camera) const
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                TGLManip& operator=(const TGLManip&)


Author: Richard Maunder 16/09/2005
Last update: root/gl:$Name: $:$Id: TGLManip.cxx,v 1.9 2006/02/23 16:44:52 brun 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.