22 #include <qmessagebox.h>
23 #include <qpushbutton.h>
27 #include <QHBoxLayout>
29 #include <QGridLayout>
30 #include <QVBoxLayout>
32 #include <qvector3d.h>
49 #define TR(id) OLocalizator::getString("TYLinearMaillageEditor", (id))
118 Qt::KeyboardModifiers state)
120 if (
_active && (button == Qt::LeftButton))
122 if (
getTYApp()->getCurProjet() &&
getTYApp()->getCurProjet()->getCurrentCalcul())
137 QString msg(
TR(
"id_warning_no_curcalcul"));
139 QMessageBox::warning(
_pModeler,
"Tympan", msg, QMessageBox::Ok, QMessageBox::NoButton);
145 Qt::KeyboardModifiers state)
158 double dist = point1.distanceToPoint(point2);
161 QString msg = QString(
TR(
"id_output_dist")).arg(dist, 0,
'f', 2);
174 Qt::KeyboardModifiers state)
181 float pt1[3], pt2[3];
212 pDlg->setWindowTitle(
TR(
"id_caption"));
214 QGridLayout* pLayout =
new QGridLayout();
215 pDlg->setLayout(pLayout);
217 QGridLayout* pEditLayout =
new QGridLayout();
218 pEditLayout->setContentsMargins(10, 10, 10, 10);
219 pLayout->addLayout(pEditLayout, 0, 0);
222 QLabel* pHauteurLabelName =
new QLabel(
TR(
"id_hauteur_label"));
224 pHauteurLineEdit->setFixedWidth(60);
225 pHauteurLineEdit->setText(QString().setNum(2.0,
'f', 2));
226 pEditLayout->addWidget(pHauteurLabelName, 0, 0);
227 pEditLayout->addWidget(pHauteurLineEdit, 0, 1);
230 QLabel* pDistanceLabelName =
new QLabel(
TR(
"id_distance_label"));
232 pDistanceLineEdit->setFixedWidth(60);
233 pDistanceLineEdit->setText(QString().setNum(1.0f / TY_MAILLAGE_DEFAULT_DENSITE,
'f', 2));
234 pEditLayout->addWidget(pDistanceLabelName, 1, 0);
235 pEditLayout->addWidget(pDistanceLineEdit, 1, 1);
237 QBoxLayout* pBtnLayout =
new QHBoxLayout();
238 pLayout->addLayout(pBtnLayout, 1, 0);
240 pBtnLayout->addStretch(1);
242 QPushButton* pButtonOK =
new QPushButton(
TR(
"id_ok_btn"), pDlg);
243 pButtonOK->setDefault(
true);
244 QObject::connect(pButtonOK, &QPushButton::clicked, pDlg, &QDialog::accept);
245 pBtnLayout->addWidget(pButtonOK);
247 QPushButton* pButtonCancel =
new QPushButton(
TR(
"id_cancel_btn"), pDlg);
248 pButtonCancel->setShortcut(Qt::Key_Escape);
249 QObject::connect(pButtonCancel, &QPushButton::clicked, pDlg, &QDialog::reject);
250 pBtnLayout->addWidget(pButtonCancel);
253 int ret = pDlg->exec();
255 TYApplication::setOverrideCursor(Qt::WaitCursor);
258 if (ret == QDialog::Accepted)
271 pMaillage->setHauteur(pHauteurLineEdit->text().toDouble());
272 pMaillage->make(pSeg, 1.0f / (pDistanceLineEdit->text().toDouble()));
287 pMaillage->updateGraphicTree();
308 TYApplication::restoreOverrideCursor();
fichier contenant differents types d'actions (fichier header)
void writeOutputMsg(QString msg)
Affiche un message dans la fenetre de sortie.
TYApplication * getTYApp()
Retourne le pointeur sur l'application.
pour l'application Tympan (fichier header)
outil IHM pour une entrée utilisateur (fichier header)
Indique si cet editor est actif (fichier header)
TYGeometryNode TYLinearMaillageGeoNode
Noeud geometrique de type TYLinearMaillage.
Classe generique pour une fenetre de modeleur (fichier header)
Le role de cette classe est limite a emettre des signaux pouvant etre utilise pour interagir sur le r...
Classe Modeler specialisee pour l'edition des sites (fichier header)
double _y
y coordinate of OCoord3D
double _z
z coordinate of OCoord3D
double _x
x coordinate of OCoord3D
void setVisibility(bool bVisible)
const QVector3D & getPoint1()
void setPoint2(const QVector3D &point2)
const QVector3D & getPoint2()
void setColor(const OColor &oColor)
void setPoint1(const QVector3D &point1)
virtual void setFromOGL(double x, double y, double z)
virtual double longueur() const
Return the segment length.
OPoint3D _ptA
Point A of the segment.
OPoint3D _ptB
Point B of the segment.
double _gridMagnStep
Pas de la grille magnétique de positionnement.
static void snapToGrid(float &x, float &y, float &z, float &gridMagnStep)
Methode utilitaire qui adapte les coordonnees d'un point pour que celui-ci soit aligne avec la grille...
void refreshProjectFrame()
Rafraichit l'arborescence du TYProjectFrame.
void updateText(QString msg="", int posX=0, int posY=0, bool show=true)
Mets a jour le texte informatif sur la vue 3D.
TYModelerFrame * _pModeler
Le modeler associe a cet editor.
void showText(bool show=true)
Affiche ou pas le texte informatif sur la vue 3D.
TYRenderWindowInteractor * _pInteractor
La vue graphique associee a cet editor.
void addAction(TYAction *pAction)
Ajoute une nouvelle action a l'historique.
Definit une action, necessaire pour la gestion de l'undo.
static void setIsSavedOk(const bool &toSave)
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
virtual void slotMousePressed(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
bool _noCalcul
Indique l'absence de calcul courant.
OGLLineElement * _pOGLLineElement
La ligne courante.
TYLinearMaillageEditor(TYSiteModelerFrame *pModeler)
virtual void slotKeyPressed(int key)
virtual void slotViewTypeChanged(int view)
bool _active
Indique si cet editor est actif.
virtual ~TYLinearMaillageEditor()
Classe de definition d'un maillage lineaire.
TYRenderWindowInteractor * getView()
TYActionManager * getActionManager()
virtual float getDefaultZCoord()
Returns default Z coordinate for editors This value will depend on the type of modeler and of the fix...
bool askForResetResultat()
virtual void updateView(bool clipping=true, bool axesAndGrid=true)
Super-class for editors performing object construction.
void addOGLElement(OGLElement *pOGLElement)
void invalidateScene(void)
void removeOGLElement(OGLElement *pOGLElement)
classe de definition d'un projet.
bool addMaillage(LPTYMaillageGeoNode pMaillageGeoNode)
Ajout d'un maillage.
bool updateAltiMaillage(TYMaillageGeoNode *pMaillageGeoNode, const TYAltimetrie *pAlti)
Met a niveau l'altimetrie d'un maillage.
LPTYSiteNode getSite()
Get du site.
QVector3D displayToWorld(const QVector3D &display) const
const TYRenderViewport & getViewport() const
TYOpenGLRenderer * getRenderer()
Classe Modeler specialisee pour l'edition des sites.
LPTYAltimetrie getAltimetry() const