32 #include <qvector3d.h>
34 #define IMG(id) OLocalizator::getPicture("TYAbstractSceneEditor", (id))
37 : _pCameraEditor(pCameraEditor)
39 Q_CHECK_PTR(pModeler);
95 float r = 94.0f, g = 110.0f, b = 255.0f;
108 oColor.
r = r / 255.0f;
109 oColor.
g = g / 255.0f;
110 oColor.
b = b / 255.0f;
159 worldPoint[0] = ret.x();
160 worldPoint[1] = ret.y();
161 worldPoint[2] = ret.z();
167 displayPoint[0] = ret.x();
168 displayPoint[1] = ret.y();
169 displayPoint[2] = ret.z();
174 x =
ROUND(x / gridMagnStep) * gridMagnStep;
175 y =
ROUND(y / gridMagnStep) * gridMagnStep;
176 z =
ROUND(z / gridMagnStep) * gridMagnStep;
181 x =
ROUND(x / gridMagnStep) * gridMagnStep;
182 y =
ROUND(y / gridMagnStep) * gridMagnStep;
183 z =
ROUND(z / gridMagnStep) * gridMagnStep;
int ROUND(double a)
Compute the rounded value of a number.
gestion de l'interaction entre la vue graphique (2D ou 3D) et le clavier et la souris (fichier header...
TYMainWindow * getTYMainWnd()
Retourne le pointeur sur la fenetre principale.
pour l'application Tympan (fichier header)
gestion de l'edition de la camera (fichier header)
#define TYDIRPREFERENCEMANAGER
Fenetre principale de l'application Tympan (fichier header)
Classe generique pour une fenetre de modeleur (fichier header)
Frame pour la gestion de projet (fichier header)
Le role de cette classe est limite a emettre des signaux pouvant etre utilise pour interagir sur le r...
Frame pour la gestion de site (fichier header)
void setVisibility(bool bVisible)
void setDisplayPosition(double displayPositionX, double displayPositionY)
void setColor(const OColor &oColor)
void setTextToDisplay(const QString &qsText)
void setFont(const QString &qsFontPath)
double _gridMagnStep
Pas de la grille magnétique de positionnement.
void setWheelStep(float step=1.0)
Met à jour le pas de zoom de la caméra.
TYAbstractSceneEditor(TYModelerFrame *pModeler, TYCameraEditor *pCameraEditor=nullptr)
Constructeur par defaut.
void refreshSiteFrame()
Rafraichit l'arborescence du TYSiteFrame.
virtual void slotViewTypeChanged(int view)
La vue courante du modeler a change.
void worldToDisplay(double x, double y, double z, double *displayPoint)
Methode utilitaire pour convertir un point en coordonnees globale en coordonnees ecran.
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...
virtual void disconnect()
Deconnecte cet editor a l'interactor associe.
void refreshProjectFrame()
Rafraichit l'arborescence du TYProjectFrame.
void updateText(QString msg="", int posX=0, int posY=0, bool show=true)
Mets a jour le texte informatif sur la vue 3D.
OGLTextElement * _pOGLTextElement
Affichage du texte 2D sur la vue 3D.
void updateSiteFrame()
Reconstruit l'arborescence du TYSiteFrame.
virtual void slotMouseLeave()
Le curseur de souris est sortie dans la widget.
virtual void slotMousePressed(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
Une touche de la souris a ete enfoncee.
virtual void slotWheeled(int x, int y, int delta, Qt::KeyboardModifiers state)
La molette de la souris a ete utilisee.
virtual void slotMouseDoubleClicked(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
Une touche de la souris a ete double clickee.
TYModelerFrame * _pModeler
Le modeler associe a cet editor.
TYCameraEditor * _pCameraEditor
Le caméra editor associé à cet éditor.
void displayToWorld(double x, double y, double z, double *worldPoint)
Methode utilitaire pour convertir un point en coordonnees ecran en coordonnees globale.
virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
Une touche de la souris a ete relachee.
virtual void connect()
Connecte cet editor a l'interactor associe.
virtual void slotMouseEnter()
Le curseur de souris est entree dans la widget.
virtual void slotKeyPressed(int key)
Une touche a ete relachee.
virtual ~TYAbstractSceneEditor()
Destructeur.
void setGridMagnStep(float gridMagnStep=1.0)
Met à jour le pas de la grille magnétique.
void showText(bool show=true)
Affiche ou pas le texte informatif sur la vue 3D.
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
La souris a ete deplacee.
virtual void slotKeyReleased(int key)
Une touche a ete relachee.
TYRenderWindowInteractor * _pInteractor
La vue graphique associee a cet editor.
Gestion de l'edition en mode camera.
void setWheelStep(float step)
TYProjetFrame * getProjetFrame()
TYSiteFrame * getSiteFrame()
Generic class for a modeler window.
TYRenderWindowInteractor * getView()
void viewTypeChanged(int)
void addOGLElement(OGLElement *pOGLElement)
void removeOGLElement(OGLElement *pOGLElement)
QVector3D worldToDisplay(const QVector3D &world) const
QVector3D displayToWorld(const QVector3D &display) const
void mouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
void mouseDoubleClicked(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
void wheeled(int x, int y, int delta, Qt::KeyboardModifiers state)
void mousePressed(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
void mouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
void keyReleased(int key)
const TYRenderViewport & getViewport() const
TYOpenGLRenderer * getRenderer()