59 fTransName->SetToolTipText(
"Enter the translation name");
112 fUndo->Associate(
this);
137 fApply->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoApply()");
138 fCancel->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoCancel()");
139 fUndo->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoUndo()");
140 fTransName->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoModified()");
141 fTransDx->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDx()");
142 fTransDy->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDy()");
143 fTransDz->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDz()");
144 fTransDx->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDx()");
145 fTransDy->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDy()");
146 fTransDz->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDz()");
317 fRotName->SetToolTipText(
"Enter the rotation name");
342 nef->
SetToolTipText(
"Modify the second rotation angle about the new X");
370 nef->
SetToolTipText(
"Enter the new rotation angle about the selected axis");
398 fUndo->Associate(
this);
423 fApply->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoApply()");
424 fCancel->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoCancel()");
425 fUndo->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoUndo()");
426 fRotName->Connect(
"TextChanged(const char *)",
"TGeoRotationEditor",
this,
"DoModified()");
427 fRotPhi->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotPhi()");
428 fRotTheta->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotTheta()");
429 fRotPsi->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotPsi()");
430 fRotAxis->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotAngle()");
445 const char *sname =
fRotation->GetName();
446 if (!strcmp(sname,
fRotation->ClassName()))
484 if (
fRotPhi->GetNumber() >= 360.)
508 if (
fRotPsi->GetNumber() >= 360.)
534 Double_t phi0 = 0., theta0 = 0., psi0 = 0.;
535 fRotation->GetAngles(phi0, theta0, psi0);
537 if (phi != psi0 || theta != theta0 || psi != psi0)
646 fRotName->SetToolTipText(
"Enter the rotation name");
707 nef->
SetToolTipText(
"Modify the second rotation angle about the new X");
734 nef->
SetToolTipText(
"Enter the new rotation angle about the selected axis");
762 fUndo->Associate(
this);
787 fApply->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoApply()");
788 fCancel->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoCancel()");
789 fUndo->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoUndo()");
790 fRotName->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoModified()");
791 fRotPhi->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotPhi()");
792 fRotTheta->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotTheta()");
793 fRotPsi->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotPsi()");
794 fRotAxis->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotAngle()");
795 fTransDx->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDx()");
796 fTransDy->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDy()");
797 fTransDz->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDz()");
798 fTransDx->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDx()");
799 fTransDy->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDy()");
800 fTransDz->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDz()");
817 const char *sname =
fCombi->GetName();
818 if (!strcmp(sname,
fCombi->ClassName()))
864 if (
fRotPhi->GetNumber() >= 360.)
888 if (
fRotPsi->GetNumber() >= 360.)
914 if (dx !=
fCombi->GetTranslation()[0] || dy !=
fCombi->GetTranslation()[1] || dz !=
fCombi->GetTranslation()[2])
917 fCombi->SetTranslation(dx, dy, dz);
922 Double_t phi0 = 0., theta0 = 0., psi0 = 0.;
930 rot =
fCombi->GetRotation();
935 if (phi != psi0 || theta != theta0 || psi != psi0)
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.
virtual TList * GetList() const
virtual void Cleanup()
Cleanup and delete all objects contained in this composite frame.
UInt_t GetDefaultHeight() const override
TGCompositeFrame(const TGCompositeFrame &)=delete
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
virtual Bool_t IsComposite() const
This class handles GUI labels.
This class describes layout hints used by the layout classes.
TGNumberEntry is a number entry input widget with up/down buttons.
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Yield an action as soon as it is clicked.
A TGTextEntry is a one line text input widget.
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
ROOT GUI Window base class.
Bool_t fInit
init flag for setting signals/slots
virtual void MakeTitle(const char *title)
Create attribute frame title.
TGeoCombiTransEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for combi matrix editor.
void DoRotPsi()
Slot for psi (Euler X convention).
void DoModified()
Slot for notifying changes.
void DoUndo()
Slot for undoing last changes.
Bool_t DoParameters()
Slot for checking parameters.
void DoName()
Slot for name.
void DoRotAngle()
Slot for additional rotation about one axis.
void DoRotPhi()
Slot for phi (Euler X convention).
void DoApply()
Slot for applying modifications.
TGNumberEntry * fRotTheta
virtual void ConnectSignals2Slots()
Connect signals to slots.
void SetModel(TObject *obj) override
Connect to the selected combi matrix.
void DoRotTheta()
Slot for theta (Euler X convention).
void DoCancel()
Slot for cancelling last un-applied operations.
~TGeoCombiTransEditor() override
Destructor.
Class describing rotation + translation.
TGeoGedFrame(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor.
virtual void SetActive(Bool_t active=kTRUE)
Set active GUI attribute frames related to the selected object.
void DoApply()
Slot for applying modifications.
void DoRotPhi()
Slot for phi (Euler X convention).
void DoRotAngle()
Slot for additional rotation about one axis.
void DoCancel()
Slot for cancelling last un-applied operations.
TGNumberEntry * fRotTheta
void DoUndo()
Slot for undoing last changes.
void SetModel(TObject *obj) override
Connect to the selected rotation.
void DoName()
Slot for name.
Bool_t DoParameters()
Slot for checking parameters.
void DoModified()
Slot for notifying changes.
virtual void ConnectSignals2Slots()
Connect signals to slots.
void DoRotPsi()
Slot for psi (Euler X convention).
~TGeoRotationEditor() override
Destructor.
void DoRotTheta()
Slot for theta (Euler X convention).
TGeoRotationEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for rotation editor.
Class describing rotations.
void SetAngles(Double_t phi, Double_t theta, Double_t psi)
Set matrix elements according to Euler angles.
void GetAngles(Double_t &theta1, Double_t &phi1, Double_t &theta2, Double_t &phi2, Double_t &theta3, Double_t &phi3) const
Retrieve rotation angles.
static void Cleanup(TGCompositeFrame *frame)
Static method to cleanup hierarchically all daughters of a composite frame.
~TGeoTranslationEditor() override
Destructor.
TGeoTranslation * fTranslation
void SetModel(TObject *obj) override
Connect to the new matrix.
void DoModified()
Slot for notifying changes.
void DoName()
Slot for name.
TGeoTranslationEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for translation editor.
void DoUndo()
Slot for undoing last operation.
Bool_t DoParameters()
Slot for checking parameters.
void DoCancel()
Slot for cancelling last modifications non-applied.
virtual void ConnectSignals2Slots()
Connect signals to slots.
void DoApply()
Slot for applying changes.
Class describing translations.
Mother of all ROOT objects.
virtual TClass * IsA() const