Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYPolyLineEditor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
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.
Classe generique pour une fenetre de modeleur.
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)