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 
29 #include "TYAbstractSceneEditor.h"
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 connect();
89  virtual void disconnect();
90  virtual void init();
91  virtual void cancel();
92  virtual void close();
93  virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state);
94  virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state);
95  virtual void slotKeyPressed(int key);
96  virtual void slotKeyReleased(int key);
97  virtual void slotViewTypeChanged(int view);
98 
99 protected slots:
103  void addPoint(int x, int y);
104 
108  bool removeLastPoint();
109 
113  bool updateMovingLine(int x, int y);
114 
119  void validatePoint(TYPoint& pt);
120 
121 signals:
123 
124 protected:
126  bool _active;
127 
129  bool _dispDist;
130 
133 
136 
138  QList<OGLLineElement*> _OGLLineElementList;
139 
141  QList<OGLSphereElement*> _OGLSphereElementList;
142 
145 
147  float _pointSize;
148 
150  bool _shiftOn;
151 };
152 
153 #endif // __TY_POLYLINE_EDITOR__
gestion de l'interaction entre la vue graphique (2D ou 3D) et le clavier et la souris (fichier header...
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
Definition: TYDefines.h:340
Classe abstraite pour la gestion de l'interaction entre la vue graphique (2D ou 3D) et le clavier et ...
Gestion de l'edition en mode camera.
Generic class for a modeler window.
gestion de l'edition d'une polyligne
virtual void connect()
void endedSavingPoints()
virtual void cancel()
QList< OGLLineElement * > _OGLLineElementList
Lignes dans la vue 3D.
TYCameraEditor * _pCamEditor
Un CameraEditor associe a cet editor.
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 disconnect()
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)