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))
117 Qt::KeyboardModifiers state)
119 if (
_active && (button == Qt::LeftButton))
121 if (
getTYApp()->getCurProjet() &&
getTYApp()->getCurProjet()->getCurrentCalcul())
136 QString msg(
TR(
"id_warning_no_curcalcul"));
138 QMessageBox::warning(
_pModeler,
"Tympan", msg, QMessageBox::Ok, QMessageBox::NoButton);
144 Qt::KeyboardModifiers state)
157 double dist = point1.distanceToPoint(point2);
160 QString msg = QString(
TR(
"id_output_dist")).arg(dist, 0,
'f', 2);
173 Qt::KeyboardModifiers state)
180 float pt1[3], pt2[3];
211 pDlg->setWindowTitle(
TR(
"id_caption"));
213 QGridLayout* pLayout =
new QGridLayout();
214 pDlg->setLayout(pLayout);
216 QGridLayout* pEditLayout =
new QGridLayout();
217 pEditLayout->setContentsMargins(10, 10, 10, 10);
218 pLayout->addLayout(pEditLayout, 0, 0);
221 QLabel* pHauteurLabelName =
new QLabel(
TR(
"id_hauteur_label"));
223 pHauteurLineEdit->setFixedWidth(60);
224 pHauteurLineEdit->setText(QString().setNum(2.0,
'f', 2));
225 pEditLayout->addWidget(pHauteurLabelName, 0, 0);
226 pEditLayout->addWidget(pHauteurLineEdit, 0, 1);
229 QLabel* pDistanceLabelName =
new QLabel(
TR(
"id_distance_label"));
231 pDistanceLineEdit->setFixedWidth(60);
232 pDistanceLineEdit->setText(QString().setNum(1.0f / TY_MAILLAGE_DEFAULT_DENSITE,
'f', 2));
233 pEditLayout->addWidget(pDistanceLabelName, 1, 0);
234 pEditLayout->addWidget(pDistanceLineEdit, 1, 1);
236 QBoxLayout* pBtnLayout =
new QHBoxLayout();
237 pLayout->addLayout(pBtnLayout, 1, 0);
239 pBtnLayout->addStretch(1);
241 QPushButton* pButtonOK =
new QPushButton(
TR(
"id_ok_btn"), pDlg);
242 pButtonOK->setDefault(
true);
243 QObject::connect(pButtonOK, &QPushButton::clicked, pDlg, &QDialog::accept);
244 pBtnLayout->addWidget(pButtonOK);
246 QPushButton* pButtonCancel =
new QPushButton(
TR(
"id_cancel_btn"), pDlg);
247 pButtonCancel->setShortcut(Qt::Key_Escape);
248 QObject::connect(pButtonCancel, &QPushButton::clicked, pDlg, &QDialog::reject);
249 pBtnLayout->addWidget(pButtonCancel);
252 int ret = pDlg->exec();
254 TYApplication::setOverrideCursor(Qt::WaitCursor);
257 if (ret == QDialog::Accepted)
270 pMaillage->setHauteur(pHauteurLineEdit->text().toDouble());
271 pMaillage->make(pSeg, 1.0f / (pDistanceLineEdit->text().toDouble()));
286 pMaillage->updateGraphicTree();
307 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.
Classe abstraite pour la gestion de l'interaction entre la vue graphique (2D ou 3D) et le clavier et ...
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)
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