22 #include <qinputdialog.h>
39 #define TR(id) OLocalizator::getString("TYSilosEditor", (id))
101 if ((button == Qt::LeftButton) &&
_active)
118 float pt0[2], pt1[2], pt2[2];
135 double diameter =
ABS(pt1[0] - pt0[0]);
148 else if (diameter != 0.0)
154 if (QString(
_pModeler->metaObject()->className()).compare(
"TYBatimentModelerFrame") == 0)
164 TYPoint org((pt0[0] + (pt1[0] - pt0[0]) / 2.0), -(pt1[1] + (pt2[1] - pt1[1]) / 2.0),
173 pCylGeoNode->getORepere3D()._origin = org;
180 pBat->updateGraphicTree();
186 else if (QString(
_pModeler->metaObject()->className()).compare(
"TYSiteModelerFrame") == 0)
203 TYPoint org((pt0[0] + (pt1[0] - pt0[0]) / 2.0), -(pt1[1] + (pt2[1] - pt1[1]) / 2.0),
212 ORepere3D repere = pBatNode->getORepere3D();
216 pBatNode->setRepere(repere);
225 pSite->updateGraphicTree();
229 TR(
"id_action_addetage"));
266 float pt0[2], pt1[2];
281 double diameter =
ABS(pt1[0] - pt0[0]);
291 QString(
TR(
"id_diameter_info")).arg(diameter, 0,
'f', 2),
307 if (QString(
_pModeler->metaObject()->className()).compare(
"TYBatimentModelerFrame") == 0)
312 Q_CHECK_PTR(pBatiment);
323 if (QString(
_pModeler->metaObject()->className()).compare(
"TYSiteModelerFrame") == 0)
double ABS(double a)
Return the absolute value.
TYGeometryNode TYAcousticCylinderGeoNode
Noeud geometrique de type TYAcousticCylinder.
fichier contenant differents types d'actions (fichier header)
TYMainWindow * getTYMainWnd()
Retourne le pointeur sur la fenetre principale.
pour l'application Tympan (fichier header)
Modeler specialisee pour l'edition des batiments (fichier header)
TYGeometryNode TYBatimentGeoNode
Noeud geometrique de type TYBatiment.
Fenetre principale de l'application Tympan (fichier header)
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...
gestion de l'edition d'un silo (fichier header)
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
static NxVec3 displayToWorld(NxVec3 display)
void setVisibility(bool bVisible)
void setColor(const OColor &oColor)
void setPoint2(const OPoint3D &point2)
void setPoint3(const OPoint3D &point3)
void setPoint0(const OPoint3D &point0)
void setPoint1(const OPoint3D &point1)
static OPrototype * safeDownCast(OPrototype *pObject)
3D frame with a point and 3 vectors.
OPoint3D _origin
The origin point.
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.
void refreshSiteFrame()
Rafraichit l'arborescence du TYSiteFrame.
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 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 setHauteur(double hauteur)
void setDiameter(double diameter)
double getHauteur() const
bool addAcousticVol(LPTYAcousticVolumeGeoNode pAccVolGeoNode, bool recursif=true)
void addAction(TYAction *pAction)
Ajoute une nouvelle action a l'historique.
Definit une action, necessaire pour la gestion de l'undo.
ajout d'un volume acoustique a un ensemble de volumes acoustiques
Ajout d'un element a une infrastructure.
Classe Modeler specialisee pour l'edition des batiments.
static void setIsSavedOk(const bool &toSave)
bool addBatiment(LPTYBatimentGeoNode pBatimentGeoNode)
void setDefaultCameraMode()
Classe generique pour une fenetre de modeleur.
TYRenderWindowInteractor * getView()
TYActionManager * getActionManager()
virtual void updateView(bool clipping=true, bool axesAndGrid=true)
void updateDisplayList(void)
void addOGLElement(OGLElement *pOGLElement)
void removeOGLElement(OGLElement *pOGLElement)
TYOpenGLRenderer * getRenderer()
virtual void slotKeyPressed(int key)
TYSilosEditor(TYModelerFrame *pModeler)
OGLRectangleElement * _pOGLRectangleElement
Pour le dessin de construction.
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)
LPTYBatiment getBatiment()
virtual void slotViewTypeChanged(int view)
bool _active
Indique si cet editor est actif.
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
Classe Modeler specialisee pour l'edition des sites.
LPTYInfrastructure getInfrastructure()