13#include "TGLIncludes.h"
46 UpdateBoundingBoxesOfPhysicals();
58 fBoundingBox.Draw(
rnrCtx.IsDrawPassFilled());
69 UpdateBoundingBoxesOfPhysicals();
112 Warning(
"TGLClip::Setup",
"Called on base-class -- should be re-implemented in derived class.");
184 TGLClipPlaneLogical*
cpl = (TGLClipPlaneLogical*)
GetLogical();
213 TGLClipPlaneLogical*
cpl = (TGLClipPlaneLogical*)
GetLogical();
222 Warning(
"TGLClipPlane::Setup",
"Normal with zero length passed.");
319 while (i != set.end()) {
340 fCurrentClip (nullptr),
511 Error(
"TGLClipSet::GetClipState",
"invalid clip type '%d'.",
type);
570 Error(
"TGLClipSet::GetClipType" ,
"Unknown clip type");
596 Error(
"TGLClipSet::SetClipType" ,
"Unknown clip type");
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
std::vector< TGLPlane > TGLPlaneSet_t
std::vector< TGLPlane >::iterator TGLPlaneSet_i
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
TGLVector3 Extents() const
TGLVertex3 Center() const
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()
Fixed color of clip box.
static const float fgColor[4]
Concrete clip plane object.
static const float fgColor[4]
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()
Fixed color of clip plane.
A collection of concrete TGLClip objects to be selected from.
~TGLClipSet() override
Destructor.
void InvalidateClips()
Invalidate clip objects.
void GetClipState(TGLClip::EType type, Double_t data[6]) const
Get state of clip object 'type' into data vector:
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.
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.
Bool_t Handle(TGLRnrCtx &rnrCtx, TGLOvlSelectRecord &selRec, Event_t *event) override
Handle overlay event.
void MouseLeave() override
Mouse has left the element.
Bool_t MouseStillInside(TGLOvlSelectRecord &selRec) override
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.
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.
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
void Draw(TGLRnrCtx &rnrCtx) const override
Draw out clipping object with blending and back + front filling.
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
Combine all available manipulators in a collection.
void MouseLeave() override
Mouse has left the element.
Bool_t Handle(TGLRnrCtx &rnrCtx, TGLOvlSelectRecord &selRec, Event_t *event) override
Handle overlay event.
Bool_t MouseEnter(TGLOvlSelectRecord &selRec) override
Mouse has entered this element.
void Render(TGLRnrCtx &rnrCtx) override
Render the manipulator and bounding-box.
void SetPShape(TGLPhysicalShape *shape) override
Set phys-shape, override of virtual from TGLPShapeRef.
16 component (4x4) transform matrix - column MAJOR as per GL.
virtual Bool_t MouseStillInside(TGLOvlSelectRecord &selRec)
Selection record for overlay objects.
Concrete physical shape - a GL drawable.
void Scale(const TGLVector3 &scale)
void SetTransform(const TGLMatrix &transform)
const TGLBoundingBox & BoundingBox() const
void SetManip(EManip manip)
TGLVector3 GetScale() const
const TGLLogicalShape * GetLogical() const
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw physical shape, using LOD flags, potential from display list cache.
void Translate(const TGLVector3 &vect)
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.
3 component (x/y/z) vertex class.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)