Concrete clip plane object.
This can be translated in all directions rotated about the Y/Z local axes (the in-plane axes). It cannot be scaled.
Public Member Functions | |
TGLClipPlane () | |
Fixed color of clip plane. More... | |
virtual | ~TGLClipPlane () |
Destroy clip plane object. More... | |
virtual void | PlaneSet (TGLPlaneSet_t &set) const |
Return set of planes (actually a single one) describing this clip plane. More... | |
void | Set (const TGLPlane &plane) |
Update clip plane object to follow passed 'plane' equation. More... | |
virtual void | Setup (const TGLBoundingBox &bbox) |
Setup the clip object for scene encompassed by bbox. More... | |
virtual void | Setup (const TGLVector3 &point, const TGLVector3 &normal) |
Setup the clipping plane by point and normal. More... | |
Public Member Functions inherited from TGLClip | |
TGLClip (const TGLLogicalShape &logical, const TGLMatrix &transform, const float color[4]) | |
Construct a stand-alone physical clipping object. More... | |
virtual | ~TGLClip () |
Destroy clip object. More... | |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw out clipping object with blending and back + front filling. More... | |
EMode | GetMode () const |
void | IncTimeStamp () |
void | Invalidate () |
Bool_t | IsValid () const |
virtual void | Modified () |
virtual void | PlaneSet (TGLPlaneSet_t &set) const =0 |
void | SetMode (EMode mode) |
virtual void | Setup (const TGLBoundingBox &bbox)=0 |
virtual void | Setup (const TGLVector3 &, const TGLVector3 &) |
Setup the clipping object with two vectors. More... | |
UInt_t | TimeStamp () const |
Public Member Functions inherited from TGLPhysicalShape | |
TGLPhysicalShape (UInt_t ID, const TGLLogicalShape &logicalShape, const double *transform, Bool_t invertedWind, const Float_t rgba[4]) | |
Construct a physical shape using arguments: More... | |
TGLPhysicalShape (UInt_t ID, const TGLLogicalShape &logicalShape, const TGLMatrix &transform, Bool_t invertedWind, const Float_t rgba[4]) | |
Construct a physical shape using arguments: More... | |
virtual | ~TGLPhysicalShape () |
Destroy the physical shape. More... | |
void | AddReference (TGLPShapeRef *ref) |
Add reference ref. More... | |
const TGLBoundingBox & | BoundingBox () const |
virtual void | CalculateShapeLOD (TGLRnrCtx &rnrCtx, Float_t &pixSize, Short_t &shapeLOD) const |
Calculate shape-lod, suitable for use under projection defined by 'rnrCtx', taking account of which local axes of the shape support LOD adjustment, and the global 'sceneFlags' passed. More... | |
const Float_t * | Color () const |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw physical shape, using LOD flags, potential from display list cache. More... | |
const TGLLogicalShape * | GetLogical () const |
EManip | GetManip () const |
const TGLPhysicalShape * | GetNextPhysical () const |
TGLVector3 | GetScale () const |
UChar_t | GetSelected () const |
TGLVertex3 | GetTranslation () const |
UInt_t | ID () const |
void | InvokeContextMenu (TContextMenu &menu, UInt_t x, UInt_t y) const |
Request creation of context menu on shape, attached to 'menu' at screen position 'x' 'y'. More... | |
Bool_t | IsInvisible () const |
Bool_t | IsModified () const |
Bool_t | IsSelected () const |
Bool_t | IsTransparent () const |
void | Modified () |
Call this after modifying the physical so that the information can be propagated to the object referencing it. More... | |
virtual void | QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD, Short_t &quantLOD) const |
Factor in scene/vierer LOD and Quantize ... forward to logical shape. More... | |
void | RemoveReference (TGLPShapeRef *ref) |
Remove reference ref. More... | |
void | Rotate (const TGLVertex3 &pivot, const TGLVector3 &axis, Double_t angle) |
void | Scale (const TGLVector3 &scale) |
void | Select (UChar_t select) |
void | SetColor (const Float_t rgba[17]) |
Set full color attributes - see OpenGL material documentation for full description. More... | |
void | SetColorOnFamily (const Float_t rgba[17]) |
Set full color attributes to all physicals sharing the same logical with this object. More... | |
void | SetDiffuseColor (Color_t ci, UChar_t transparency) |
Set color from standard ROOT representation, that is color index. More... | |
void | SetDiffuseColor (const Float_t rgba[4]) |
Set color from ROOT color index and transparency [0,100]. More... | |
void | SetDiffuseColor (const UChar_t rgba[4]) |
Set color from RGBA quadruplet. More... | |
void | SetManip (EManip manip) |
void | SetTransform (const Double_t vals[16]) |
void | SetTransform (const TGLMatrix &transform) |
void | SetTranslation (const TGLVertex3 &translation) |
void | SetupGLColors (TGLRnrCtx &rnrCtx, const Float_t *color=0) const |
Setup colors - avoid setting things not required for current draw flags. More... | |
void | Translate (const TGLVector3 &vect) |
Static Private Attributes | |
static const float | fgColor [4] = { 1.0, 0.6, 0.2, 0.5 } |
Additional Inherited Members | |
Public Types inherited from TGLClip | |
enum | EMode { kOutside , kInside } |
enum | EType { kClipNone = 0 , kClipPlane , kClipBox } |
Public Types inherited from TGLPhysicalShape | |
enum | EManip { kTranslateX = 1 << 0 , kTranslateY = 1 << 1 , kTranslateZ = 1 << 2 , kTranslateAll = kTranslateX | kTranslateY | kTranslateZ , kScaleX = 1 << 3 , kScaleY = 1 << 4 , kScaleZ = 1 << 5 , kScaleAll = kScaleX | kScaleY | kScaleZ , kRotateX = 1 << 6 , kRotateY = 1 << 7 , kRotateZ = 1 << 8 , kRotateAll = kRotateX | kRotateY | kRotateZ , kManipAll = kTranslateAll | kScaleAll | kRotateAll } |
Protected Attributes inherited from TGLClip | |
EMode | fMode |
UInt_t | fTimeStamp |
Bool_t | fValid |
#include <TGLClip.h>
TGLClipPlane::TGLClipPlane | ( | ) |
Fixed color of clip plane.
Construct a clip plane object, based on supplied 'plane', with initial manipulation pivot at 'center', with drawn extents (in local x/y axes) of 'extents'.
Plane can have center pivot translated in all directions, and rotated round center in X/Y axes , the in-plane axes. It cannot be scaled
Note theoretically a plane is of course infinite - however we want to draw the object in viewer - so we fake it with a single GL face (polygon) - extents defines the width/depth of this - should be several times scene extents - see Setup().
Definition at line 161 of file TGLClip.cxx.
|
virtual |
Destroy clip plane object.
Definition at line 174 of file TGLClip.cxx.
|
virtual |
Return set of planes (actually a single one) describing this clip plane.
Implements TGLClip.
Definition at line 242 of file TGLClip.cxx.
Update clip plane object to follow passed 'plane' equation.
Center pivot is shifted to nearest point on new plane.
Definition at line 230 of file TGLClip.cxx.
|
virtual |
Setup the clip object for scene encompassed by bbox.
Implements TGLClip.
Definition at line 181 of file TGLClip.cxx.
|
virtual |
Setup the clipping plane by point and normal.
Length of the normal determines the size of the plane drawn in GL viewer. The normal points into the direction of visible half-plane.
This only makes sense if you disable auto-update of the clip-object:
gl_viewer->SetClipAutoUpdate(kFALSE).
After calling this also call gl_viewer->RefreshPadEditor(gl_viewer) and gl_viewer->RequestDraw().
Reimplemented from TGLClip.
Definition at line 206 of file TGLClip.cxx.
|
staticprivate |