Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYPolyLineEditor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
26 #ifndef __TY_POLYLINE_EDITOR__
27 #define __TY_POLYLINE_EDITOR__
28 
31 #include <QList>
32 
33 class OGLLineElement;
34 class OGLSphereElement;
35 
41 {
42  Q_OBJECT
43 
44 public:
47 
53  {
54  return _savedPoints;
55  }
56 
60  void setDispDist(bool state)
61  {
62  _dispDist = state;
63  }
67  bool getDispDist()
68  {
69  return _dispDist;
70  }
71 
75  void setPointSize(float size)
76  {
77  _pointSize = size;
78  }
82  float getPointSize()
83  {
84  return _pointSize;
85  }
86 
87 public slots:
88  virtual void init();
89  virtual void cancel();
90  virtual void close();
91  virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state);
92  virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state);
93  virtual void slotKeyPressed(int key);
94  virtual void slotKeyReleased(int key);
95  virtual void slotViewTypeChanged(int view);
96 
97 protected slots:
101  void addPoint(int x, int y);
102 
106  bool removeLastPoint();
107 
111  bool updateMovingLine(int x, int y);
112 
117  void validatePoint(TYPoint& pt);
118 
119 signals:
121 
122 protected:
124  bool _active;
125 
127  bool _dispDist;
128 
131 
133  QList<OGLLineElement*> _OGLLineElementList;
134 
136  QList<OGLSphereElement*> _OGLSphereElementList;
137 
140 
142  float _pointSize;
143 
145  bool _shiftOn;
146 };
147 
148 #endif // __TY_POLYLINE_EDITOR__
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
Definition: TYDefines.h:340
Generic class for a modeler window.
Super-class for editors performing object construction.
gestion de l'edition d'une polyligne
void endedSavingPoints()
virtual void cancel()
QList< OGLLineElement * > _OGLLineElementList
Lignes dans la vue 3D.
void addPoint(int x, int y)
QList< OGLSphereElement * > _OGLSphereElementList
Table de points openGL.
void setDispDist(bool state)
bool updateMovingLine(int x, int y)
TYTabPoint & getSavedPoints()
bool _dispDist
Indique si l'information de distance doit etre affichee ou non.
TYTabPoint _savedPoints
Tableau pour la sauvegarde des points du mode Save points.
void validatePoint(TYPoint &pt)
TYPolyLineEditor(TYModelerFrame *pModeler)
virtual void init()
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
virtual void slotKeyPressed(int key)
float _pointSize
Taille pour la representation des points.
void setPointSize(float size)
virtual void slotViewTypeChanged(int view)
bool _shiftOn
Indique si le bouton Shift est enfonce.
bool _active
Indique si cet editor est actif.
virtual void close()
virtual void slotKeyReleased(int key)
OGLLineElement * _pOGLLineElement
La ligne courante.
virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)