library: libRGL #include "TGLScaleManip.h" |
TGLScaleManip() | |
TGLScaleManip(TGLPhysicalShape* shape) | |
TGLScaleManip(const TGLScaleManip&) | |
virtual | ~TGLScaleManip() |
void | TGLManip::Attach(TGLPhysicalShape* shape) |
static TClass* | Class() |
virtual void | Draw(const TGLCamera& camera) const |
TGLPhysicalShape* | TGLManip::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 |
virtual Bool_t | TGLManip::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) |
void | TGLManip::CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera, Double_t& base, TGLVector3* axis) const |
TGLManip& | TGLManip::operator=(const TGLManip&) |
void | LimitScale(Double_t& factor) const |
TGLPhysicalShape* | TGLManip::fShape | ! manipulated shape |
UInt_t | TGLManip::fSelectedWidget | ! active width (axis) component |
Bool_t | TGLManip::fActive | ! manipulator is active? |
TPoint | TGLManip::fFirstMouse | ! first (start) mouse position (in WINDOW coords) |
TPoint | TGLManip::fLastMouse | ! last (latest) mouse position (in WINDOW coords) |
static Float_t | TGLManip::fgRed[4] | |
static Float_t | TGLManip::fgGreen[4] | |
static Float_t | TGLManip::fgBlue[4] | |
static Float_t | TGLManip::fgYellow[4] | |
static Float_t | TGLManip::fgWhite[4] | |
static Float_t | TGLManip::fgGrey[4] |
TGLVector3 | fStartScale | ! initial scaling factors |
TGLScaleManip Scale manipulator - attaches to physical shape and draws local axes widgets with box heads. User can mouse over (turns yellow) and L click/drag to scale along this axis. Widgets use standard 3D package axes colours: X red, Y green, Z blue.
Construct scale manipulator bound to TGLPhysicalShape 'shape'.
Draw scale manipulator - tubes with box heads, in local axes of attached shape, in red(X), green(Y) and blue(Z), with white center sphere. If selected widget (mouse over) this is drawn in active colour (yellow).
Handle mouse button event over manipulator - returns kTRUE if redraw required kFALSE otherwise.
Handle mouse motion over manipulator - if active (selected widget) scale physical along selected widget (axis) of the manipulator, so it tracks mouse action. Returns kTRUE if redraw required kFALSE otherwise.
Clamp scale to sizable values: 1000 - 1/1000 Guards against div by zero problems.