Abstract base class for viewer manipulators, which allow direct in viewer manipulation of a (TGlPhysi...
virtual void Draw(const TGLCamera &camera) const =0
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
virtual Bool_t HandleButton(const Event_t &event, const TGLCamera &camera)
Handle a mouse button event - return kTRUE if processed, kFALSE otherwise.
TGLPhysicalShape * GetAttached() const
void SetSelectedWidget(UInt_t s)
UInt_t fSelectedWidget
manipulated shape
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Concrete physical shape - a GL drawable.
UInt_t GetSelectedWidget() const
#define ClassDef(name, id)
3 component (x/y/z) vertex class.
Viewport (pixel base) 2D rectangle class.
3 component (x/y/z) vector class.
TPoint fLastMouse
first (start) mouse position (in WINDOW coords)
TGLManip()
Construct a manipulator object, bound to supplied viewer, and no physical shape.
const UChar_t * ColorFor(UInt_t widget) const
Returns color to be used for given widget.
Bool_t fActive
active width (axis) component
void Attach(TGLPhysicalShape *shape)
TGLPhysicalShape * fShape
TGLManip & operator=(const TGLManip &)
Assignment operator.
virtual Bool_t Select(const TGLCamera &, const TGLRect &, const TGLBoundingBox &)
Concrete class describing an orientated (free) or axis aligned box of 8 vertices. ...
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 ...
virtual Bool_t HandleMotion(const Event_t &event, const TGLCamera &camera)
Handle a mouse button event - return kTRUE if widget selection change kFALSE otherwise.
TPoint fFirstMouse
manipulator is active?
virtual ~TGLManip()
Destroy manipulator object.