Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virtual method to approximate shape as set of planes.
This plane set is used to perform interactive clipping using OpenGL clip planes.
Public Types | |
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 } |
Public Member Functions | |
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) |
Protected Attributes | |
EMode | fMode |
UInt_t | fTimeStamp |
Bool_t | fValid |
#include <TGLClip.h>
enum TGLClip::EMode |
enum TGLClip::EType |
TGLClip::TGLClip | ( | const TGLLogicalShape & | logical, |
const TGLMatrix & | transform, | ||
const float | color[4] | ||
) |
Construct a stand-alone physical clipping object.
Definition at line 89 of file TGLClip.cxx.
|
virtual |
Destroy clip object.
Definition at line 101 of file TGLClip.cxx.
Draw out clipping object with blending and back + front filling.
Some clip objects are single face which we want to see both sides of.
Reimplemented from TGLPhysicalShape.
Definition at line 120 of file TGLClip.cxx.
|
pure virtual |
Implemented in TGLClipPlane, and TGLClipBox.
|
pure virtual |
Implemented in TGLClipPlane, and TGLClipBox.
|
virtual |
Setup the clipping object with two vectors.
The interpretation of the two is different for plane and box clipping objects.
Reimplemented in TGLClipBox, and TGLClipPlane.
Definition at line 110 of file TGLClip.cxx.