21 #include <qinputdialog.h>
41 #define TR(id) OLocalizator::getString("TYBoxEditor", (id))
103 if ((button == Qt::LeftButton) &&
_active)
120 float pt0[3], pt1[3], pt2[3];
131 double sizeX =
ABS(pt1[0] - pt0[0]);
132 double sizeY =
ABS(pt2[1] - pt1[1]);
133 double sizeZ = (sizeX + sizeY) / 2.0;
141 if ((sizeX != 0.0) && (sizeY != 0.0))
150 TYPoint org((pt0[0] + (pt1[0] - pt0[0]) / 2.0), -(pt1[1] + (pt2[1] - pt1[1]) / 2.0),
161 pBoxGeoNode->getORepere3D()._origin = org;
207 float pt0[3], pt1[3], pt2[3];
218 double sizeX =
ABS(pt1[0] - pt0[0]);
219 double sizeY =
ABS(pt2[1] - pt1[1]);
220 double sizeZ = (sizeX + sizeY) / 2.0;
229 QString(
TR(
"id_size_info")).arg(sizeX, 0,
'f', 2).arg(sizeY, 0,
'f', 2),
245 Q_CHECK_PTR(pMachine);
double ABS(double a)
Return the absolute value.
TYGeometryNode TYAcousticBoxGeoNode
Noeud geometrique de type TYAcousticBox.
fichier contenant differents types d'actions (fichier header)
TYMainWindow * getTYMainWnd()
Retourne le pointeur sur la fenetre principale.
pour l'application Tympan (fichier header)
gestion de l'edition d'une box (fichier header)
Modeler specialisee pour l'edition des machines (fichier header)
Fenetre principale de l'application Tympan (fichier header)
Classe generique pour une fenetre de modeleur (fichier header)
Representation graphique d'un point (fichier header)
Le role de cette classe est limite a emettre des signaux pouvant etre utilise pour interagir sur le r...
double _y
y coordinate of OCoord3D
double _x
x coordinate of OCoord3D
void setVisibility(bool bVisible)
void setPoint2(const QVector3D &point2)
void setColor(const OColor &oColor)
void setPoint3(const QVector3D &point3)
void setPoint0(const QVector3D &point0)
void setPoint1(const QVector3D &point1)
const QVector3D & getPoint1()
const QVector3D & getPoint0()
const QVector3D & getPoint2()
static OPrototype * safeDownCast(OPrototype *pObject)
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.
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.
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
virtual void slotViewTypeChanged(int view)
OGLRectangleElement * _pOGLRectangleElement
Pour le dessin de construction.
virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
TYBoxEditor(TYMachineModelerFrame *pModeler)
bool _active
Indique si cet editor est actif.
virtual void slotMousePressed(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
virtual void slotKeyPressed(int key)
static void setIsSavedOk(const bool &toSave)
Classe Modeler specialisee pour l'edition des machines.
void setDefaultCameraMode()
TYRenderWindowInteractor * getView()
TYActionManager * getActionManager()
bool askForResetResultat()
virtual void updateView(bool clipping=true, bool axesAndGrid=true)
void addOGLElement(OGLElement *pOGLElement)
void invalidateScene(void)
void removeOGLElement(OGLElement *pOGLElement)
QVector3D displayToWorld(const QVector3D &display) const
const TYRenderViewport & getViewport() const
TYOpenGLRenderer * getRenderer()