unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
#define ClassDefOverride(name, id)
std::vector< TGLPlane > TGLPlaneSet_t
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
Concrete clip box object.
~TGLClipBox() override
Destroy clip box object.
void Setup(const TGLBoundingBox &bbox) override
Setup the clip object for scene encompassed by bbox.
void PlaneSet(TGLPlaneSet_t &set) const override
Return set of 6 planes describing faces of the box but invert them so that they point inside of box.
TGLClipBox()
Construct an (initially) axis aligned clip pbox object, extents 'halfLengths', centered on 'center' v...
static const float fgColor[4]
! Fixed color of clip box
Concrete clip plane object.
static const float fgColor[4]
! Fixed color of clip plane
void Set(const TGLPlane &plane)
Update clip plane object to follow passed 'plane' equation.
void PlaneSet(TGLPlaneSet_t &set) const override
Return set of planes (actually a single one) describing this clip plane.
~TGLClipPlane() override
Destroy clip plane object.
void Setup(const TGLBoundingBox &bbox) override
Setup the clip object for scene encompassed by bbox.
TGLClipPlane()
Construct a clip plane object, based on supplied 'plane', with initial manipulation pivot at 'center'...
A collection of concrete TGLClip objects to be selected from.
~TGLClipSet() override
Destructor.
void InvalidateClips()
Invalidate clip objects.
TGLClip * fCurrentClip
! the current clipping shape
TGLClip * GetCurrentClip() const
void GetClipState(TGLClip::EType type, Double_t data[6]) const
Get state of clip object 'type' into data vector:
void SetAutoUpdate(Bool_t aup)
void SetClipState(TGLClip::EType type, const Double_t data[6])
Set state of clip object 'type' into data vector:
void FillPlaneSet(TGLPlaneSet_t &set) const
Forward request to fill the plane-set to the current clip.
TGLClipSet(const TGLClipSet &)=delete
void SetShowClip(Bool_t show)
void SetupCurrentClip(const TGLBoundingBox &sceneBBox)
Setup current clipping object for given scene bounding box.
void SetClipType(TGLClip::EType type)
Set current clip active in viewer - 'type' is one of kClipNone kClipPlane or kClipBox.
TGLClipSet & operator=(const TGLClipSet &)=delete
Bool_t Handle(TGLRnrCtx &rnrCtx, TGLOvlSelectRecord &selRec, Event_t *event) override
Handle overlay event.
Bool_t IsClipping() const
void MouseLeave() override
Mouse has left the element.
void SetShowManip(Bool_t show)
Bool_t MouseStillInside(TGLOvlSelectRecord &selRec) override
Bool_t GetAutoUpdate() const
TGLClipPlane * fClipPlane
Bool_t MouseEnter(TGLOvlSelectRecord &selRec) override
Mouse has entered this element.
void SetupCurrentClipIfInvalid(const TGLBoundingBox &sceneBBox)
Setup current clipping object for given scene bounding box.
Bool_t GetShowManip() const
TGLClip::EType GetClipType() const
Get current type active in viewer - returns one of kClipNone kClipPlane or kClipBox.
void SetupClips(const TGLBoundingBox &sceneBBox)
Setup clipping objects for given scene bounding box.
void Render(TGLRnrCtx &rnrCtx) override
Render clip-shape and manipulator.
Bool_t GetShowClip() const
void InvalidateCurrentClip()
Invalidate current clip object.
Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virt...
~TGLClip() override
Destroy clip object.
virtual void Setup(const TGLBoundingBox &bbox)=0
TGLClip(const TGLLogicalShape &logical, const TGLMatrix &transform, const float color[4])
Construct a stand-alone physical clipping object.
virtual void PlaneSet(TGLPlaneSet_t &set) const =0
Combine all available manipulators in a collection.
16 component (4x4) transform matrix - column MAJOR as per GL.
TGLOverlayElement(const TGLOverlayElement &)=delete
Selection record for overlay objects.
void Modified()
Call this after modifying the physical so that the information can be propagated to the object refere...
TGLPhysicalShape(const TGLPhysicalShape &)=delete
friend class TGLLogicalShape
3D plane class - of format Ax + By + Cz + D = 0
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
3 component (x/y/z) vector class.