41 fSelectedWidget(0), fActive(
kFALSE),
52 fSelectedWidget(0), fActive(
kFALSE),
64 fSelectedWidget(gm.fSelectedWidget),
66 fFirstMouse(gm.fFirstMouse),
67 fLastMouse(gm.fLastMouse)
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++) {
180 if (axis[i].
Mag() < base*10.0) {
Abstract base class for viewer manipulators, which allow direct in viewer manipulation of a (TGlPhysi...
const UChar_t * ColorFor(UInt_t widget) const
Returns color to be used for given widget.
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
static const UChar_t fgYellow[4]
T Mag(const SVector< T, D > &rhs)
Vector magnitude (Euclidian norm) Compute : .
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...
virtual Bool_t HandleButton(const Event_t &event, const TGLCamera &camera)
Handle a mouse button event - return kTRUE if processed, kFALSE otherwise.
TGLVertex3 Center() const
static const UChar_t fgGrey[4]
UInt_t fSelectedWidget
manipulated shape
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
static const UChar_t fgRed[4]
TGLViewer::ECameraType camera
Concrete physical shape - a GL drawable.
3 component (x/y/z) vector class.
TPoint fLastMouse
first (start) mouse position (in WINDOW coords)
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 ...
TGLManip()
Construct a manipulator object, bound to supplied viewer, and no physical shape.
TGLVector3 Extents() const
Bool_t fActive
active width (axis) component
static const UChar_t fgBlue[4]
TGLPhysicalShape * fShape
static const UChar_t fgGreen[4]
TGLManip & operator=(const TGLManip &)
Assignment operator.
const TGLVector3 & Axis(UInt_t i, Bool_t normalised=kTRUE) const
Binding & operator=(OUT(*fun)(void))
Concrete class describing an orientated (free) or axis aligned box of 8 vertices. ...
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.