16#include "TGLIncludes.h"
41 fSelectedWidget(0), fActive(
kFALSE),
52 fSelectedWidget(0), fActive(
kFALSE),
64 fSelectedWidget(gm.fSelectedWidget),
66 fFirstMouse(gm.fFirstMouse),
67 fLastMouse(gm.fLastMouse)
162 base =
box.Extents().Mag() / 100.0;
168 if (base < pixelScale * 3.0) {
169 base = pixelScale * 3.0;
170 }
else if (base > pixelScale * 6.0) {
171 base = pixelScale * 6.0;
175 for (
UInt_t i = 0; i<3; i++) {
177 axis[i] =
box.Axis(i,
kTRUE)*base*-10.0;
180 if (axis[i].
Mag() < base*10.0) {
181 axis[i] =
box.Axis(i,
kTRUE)*base*-10.0;
Binding & operator=(OUT(*fun)(void))
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
TGLVector3 ViewportDeltaToWorld(const TGLVertex3 &worldRef, Double_t viewportXDelta, Double_t viewportYDelta, TGLMatrix *modviewMat=0) const
Apply a 2D viewport delta (shift) to the projection of worldRef onto viewport, returning the resultan...
Abstract base class for viewer manipulators, which allow direct in viewer manipulation of a (TGlPhysi...
TGLManip()
Construct a manipulator object, bound to supplied viewer, and no physical shape.
TGLManip & operator=(const TGLManip &)
Assignment operator.
TPoint fLastMouse
first (start) mouse position (in WINDOW coords)
const UChar_t * ColorFor(UInt_t widget) const
Returns color to be used for given widget.
TPoint fFirstMouse
manipulator is active?
virtual Bool_t HandleButton(const Event_t &event, const TGLCamera &camera)
Handle a mouse button event - return kTRUE if processed, kFALSE otherwise.
Bool_t fActive
active width (axis) component
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 ...
UInt_t fSelectedWidget
manipulated shape
virtual ~TGLManip()
Destroy manipulator object.
TGLPhysicalShape * fShape
virtual Bool_t HandleMotion(const Event_t &event, const TGLCamera &camera)
Handle a mouse button event - return kTRUE if widget selection change kFALSE otherwise.
Concrete physical shape - a GL drawable.
static const UChar_t fgRed[4]
static const UChar_t fgBlue[4]
static const UChar_t fgGrey[4]
static const UChar_t fgGreen[4]
static const UChar_t fgYellow[4]
3 component (x/y/z) vector class.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
T Mag(const SVector< T, D > &rhs)
Vector magnitude (Euclidian norm) Compute : .