Code_TYMPAN  4.2.0
Industrial site acoustic simulation
TYElementPicker.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 
27 #ifndef __TY_ELEMENT_PICKER__
28 #define __TY_ELEMENT_PICKER__
29 
30 
31 #include <qobject.h>
32 #include <memory>
33 #include "TYAppDefines.h"
35 
36 
37 class TYMaillage;
38 class TYPointCalcul;
39 
44 class TYElementPicker : public QObject
45 {
46  Q_OBJECT
47 
48 public:
51 
57 
58 public slots:
63  bool pick(int x, int y);
64 
70  void updateParents(TYElement* pElt);
71 
76  void highlightElement(TYElement* pElt);
77 
82  void reset();
83 
84 
85 signals:
92  void elementPicked(TYElement* pElt);
93 
101  void highestParentPicked(TYElement* pElt);
102 
110  void elementCollectionPicked(std::shared_ptr<LPTYElementArray> pElts);
111 
112  // Ces elements sont pickes directement ("bas niveau")
113  void pointPicked(TYElement* pElt);
114  void pointCalculPicked(TYElement* pElt);
115  void pointControlPicked(TYElement* pElt);
116  void terrainPicked(TYElement* pElt);
117  void planEauPicked(TYElement* pElt);
118  void courbeNiveauPicked(TYElement* pElt);
119  void sourcePonctuellePicked(TYElement* pElt);
120  void acousticLinePicked(TYElement* pElt);
121  void reseauTransportPicked(TYElement* pElt);
122  void routePicked(TYElement* pElt);
123  void coursEauPicked(TYElement* pElt);
125  void murElementPicked(TYElement* pElt);
126  void dallePicked(TYElement* pElt);
127  void acousticCirclePicked(TYElement* pElt);
129  void acousticCylinderPicked(TYElement* pElt);
131  void maillagePicked(TYElement* pElt);
133  void linearMaillagePicked(TYElement* pElt);
134 
135  // Ces elements sont pickes indirectement ("haut niveau")
136  // Ce sont les parents des elements bas niveau.
138  void murPicked(TYElement* pElt);
139  void acousticBoxPicked(TYElement* pElt);
141  void etagePicked(TYElement* pElt);
142  void machinePicked(TYElement* pElt);
143  void batimentPicked(TYElement* pElt);
144  void topographiePicked(TYElement* pElt);
145  void sitePicked(TYElement* pElt);
146  void siteNodePicked(TYElement* pElt);
147 
148  void acousticFaceSetPicked(TYElement* pElt);
149  void ecranPicked(TYElement* pElt);
150 
151 
152 protected:
162  bool checkType(TYElement* pElt);
163 
171 
172 
173 protected:
176 
179 
182 
184  int _x;
186  int _y;
187 };
188 
189 #endif // __TY_ELEMENT_PICKER__
void sourcePonctuellePicked(TYElement *pElt)
void ecranPicked(TYElement *pElt)
void courbeNiveauPicked(TYElement *pElt)
void pointPicked(TYElement *pElt)
TYElement * _pLastPickedElt
Le dernier element picke.
bool checkType(TYElement *pElt)
Teste le type de l&#39;element passe et emet le signal correspondant au type, avec en parametre l&#39;element...
bool pick(int x, int y)
Effectue un picking en (x, y).
void acousticCirclePicked(TYElement *pElt)
void machinePicked(TYElement *pElt)
void etagePicked(TYElement *pElt)
void pointControlPicked(TYElement *pElt)
void topographiePicked(TYElement *pElt)
Classe generique pour une fenetre de modeleur.
void acousticSemiCirclePicked(TYElement *pElt)
void acousticBoxPicked(TYElement *pElt)
void acousticLinePicked(TYElement *pElt)
void sitePicked(TYElement *pElt)
void acousticRectanglePicked(TYElement *pElt)
void acousticRectangleNodePicked(TYElement *pElt)
void planEauPicked(TYElement *pElt)
TYPointCalcul * findPointCalculOnMaillage(TYMaillage *pMaillage)
Effectue un picking sur un maillage.
void rectangularMaillagePicked(TYElement *pElt)
void maillagePicked(TYElement *pElt)
void acousticVolumeNodePicked(TYElement *pElt)
TYElementPicker(TYModelerFrame *pModeler)
void reset()
Retourne dans son etat initial.
void reseauTransportPicked(TYElement *pElt)
void highestParentPicked(TYElement *pElt)
Indique qu&#39;un element parent a ete picke, ce sera le dernier parent de l&#39;element de base picke...
void acousticSemiCylinderPicked(TYElement *pElt)
int _y
Position courante en y.
TYElement * getLastPickedElement()
Retourne le dernier element picke.
void batimentPicked(TYElement *pElt)
void murElementPicked(TYElement *pElt)
gestion des elements selectionnes par picking
void acousticFaceSetPicked(TYElement *pElt)
void pointCalculPicked(TYElement *pElt)
void elementPicked(TYElement *pElt)
Indique qu&#39;un element a ete picke, sans connaitre son type. Celui-ci sera de type "bas niveau"...
void linearMaillagePicked(TYElement *pElt)
void routePicked(TYElement *pElt)
void highlightElement(TYElement *pElt)
Dessine la boite englobante de l&#39;element passe.
void dallePicked(TYElement *pElt)
TYModelerFrame * _pModeler
Le modeler dans lequel on effectue le picking.
LPTYElementGraphic _pHighlightedGraphicObject
Pointeur sur le dernier objet graphique highlighte.
Classe de definition d&#39;un maillage.
Definition: TYMaillage.h:51
void acousticCylinderPicked(TYElement *pElt)
Classe de definition d&#39;un point de calcul.C&#39;est une classe derivee a TYPoint avec en plus un spectrep...
Definition: TYPointCalcul.h:33
void terrainPicked(TYElement *pElt)
void murPicked(TYElement *pElt)
void siteNodePicked(TYElement *pElt)
void coursEauPicked(TYElement *pElt)
void elementCollectionPicked(std::shared_ptr< LPTYElementArray > pElts)
Indique qu&#39;un element a ete picke, sans connaitre son type. La collection d&#39;elements pickes est compo...
void updateParents(TYElement *pElt)
Parcours les parents depuis le dernier element picke et emets les signaux correcpondants.
int _x
Position courante en x.