65 static const char *
const planeStr[] = {
"aX + ",
"bY +",
"cZ + ",
"d = 0" };
67 for (
Int_t i = 0; i < 4; ++i)
74 static const char *
const boxStr[] = {
"Center X",
"Center Y",
"Center Z",
"Length X",
"Length Y",
"Length Z" };
76 for (
Int_t i = 0; i < 6; ++i)
86 fTypeButtons->Connect(
"Clicked(Int_t)",
"TGLClipSetSubEditor",
this,
"ClipTypeChanged(Int_t)");
87 fClipInside->Connect(
"Clicked()",
"TGLClipSetSubEditor",
this,
"UpdateViewerClip()");
88 fAutoUpdate->Connect(
"Clicked()",
"TGLClipSetSubEditor",
this,
"UpdateViewerClip()");
89 fClipEdit->Connect(
"Clicked()",
"TGLClipSetSubEditor",
this,
"UpdateViewerClip()");
90 fClipShow->Connect(
"Clicked()",
"TGLClipSetSubEditor",
this,
"UpdateViewerClip()");
92 for (
Int_t i = 0; i < 4; ++i)
93 fPlaneProp[i]->
Connect(
"ValueSet(Long_t)",
"TGLClipSetSubEditor",
this,
"ClipValueChanged()");
95 for (
Int_t i = 0; i < 6; ++i)
96 fBoxProp[i]->
Connect(
"ValueSet(Long_t)",
"TGLClipSetSubEditor",
this,
"ClipValueChanged()");
98 fApplyButton->Connect(
"Pressed()",
"TGLClipSetSubEditor",
this,
"UpdateViewerClip()");
99 fResetButton->Connect(
"Pressed()",
"TGLClipSetSubEditor",
this,
"ResetViewerClip()");
136 for (
Int_t i = 0; i < 4; ++i)
141 for (
Int_t i = 0; i < 6; ++i)
195 for (
Int_t i = 0; i < 4; ++i)
198 for (
Int_t i = 0; i < 6; ++i)
220 TGLPlane plane(0.0, -1.0, 0.0, 0.0);
249 fSE->Connect(
"Changed()",
"TGLClipSetEditor",
this,
"Update()");
ULong_t Pixel_t
Pixel value.
int Int_t
Signed integer 4 bytes (int).
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.
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
TGCompositeFrame(const TGCompositeFrame &)=delete
virtual void ShowFrame(TGFrame *f)
Show sub frame.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Concrete clip plane object.
void Set(const TGLPlane &plane)
Update clip plane object to follow passed 'plane' equation.
TGLClipSetSubEditor * fSE
TGLClipSetEditor(const TGLClipSetEditor &)=delete
void SetModel(TObject *obj) override
Set model object.
GUI sub-editor for TGLClipSet.
void ClipTypeChanged(Int_t)
Clip type radio button changed - update viewer.
TGLClipSetSubEditor(const TGLClipSetSubEditor &)=delete
TGCheckButton * fClipInside
TGCheckButton * fAutoUpdate
TGNumberEntry * fPlaneProp[4]
void UpdateViewerClip()
Change clipping volume.
TGCompositeFrame * fBoxPropFrame
void SetModel(TGLClipSet *m)
Set model object.
void ClipValueChanged()
One of number entries was changed.
TGCheckButton * fClipShow
TGNumberEntry * fBoxProp[6]
TGLClip::EType fCurrentClip
TGCompositeFrame * fPlanePropFrame
TGButtonGroup * fTypeButtons
void Changed()
Emit Changed signal.
TGCheckButton * fClipEdit
void ResetViewerClip()
Reset transformation of the current clip.
A collection of concrete TGLClip objects to be selected from.
Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virt...
16 component (4x4) transform matrix - column MAJOR as per GL.
3D plane class - of format Ax + By + Cz + D = 0
static TGNumberEntry * MakeLabeledNEntry(TGCompositeFrame *p, const char *name, Int_t labelw, Int_t nd=7, Int_t s=5)
Helper function to create fixed width TGLabel and TGNumberEntry in same row.
This class describes layout hints used by the layout classes.
Defines top level windows that interact with the system Window Manager.
Yield an action as soon as it is clicked.
TGVerticalFrame(const TGWindow *p=nullptr, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
ROOT GUI Window base class.
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
TGedFrame(const TGedFrame &)=delete
virtual void MakeTitle(const char *title)
Create attribute frame title.
Mother of all ROOT objects.
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.