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.
virtual | ~TGLManip() |
void | Attach(TGLPhysicalShape* shape) |
static TClass* | Class() |
virtual void | Draw(const TGLCamera& camera) const |
Bool_t | GetActive() const |
TGLPhysicalShape* | GetAttached() const |
UInt_t | GetSelectedWidget() const |
virtual Bool_t | HandleButton(const Event_t& event, const TGLCamera& camera) |
virtual Bool_t | HandleMotion(const Event_t& event, const TGLCamera& camera) |
virtual TClass* | IsA() const |
virtual Bool_t | Select(const TGLCamera&, const TGLRect&, const TGLBoundingBox&) |
void | SetActive(Bool_t a) |
void | SetSelectedWidget(UInt_t s) |
virtual void | ShowMembers(TMemberInspector& insp) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
void | CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera, Double_t& base, TGLVector3* axis) const |
const UChar_t* | ColorFor(UInt_t widget) const |
TGLManip& | operator=(const TGLManip&) |
Bool_t | fActive | ! manipulator is active? |
TPoint | fFirstMouse | ! first (start) mouse position (in WINDOW coords) |
TPoint | fLastMouse | ! last (latest) mouse position (in WINDOW coords) |
UInt_t | fSelectedWidget | ! active width (axis) component |
TGLPhysicalShape* | fShape | ! manipulated shape |
Calculates base and axis scale factor (in world units) for drawing manipulators with reasonable size range in current camera.