|
Code_TYMPAN
4.4.0
Industrial site acoustic simulation
|
gestion de la position selon les modes 'moving', 'rotation', 'edition' More...
#include <TYPositionEditor.h>


Public Types | |
| enum | { Moving , Rotation , Edition } |
| Les modes pour cet editor. More... | |
Public Slots | |
| virtual void | connect () |
| virtual void | disconnect () |
| virtual void | init () |
| virtual void | cancel () |
| virtual void | close () |
| virtual void | slotMousePressed (int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state) |
| virtual void | slotMouseReleased (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) |
| virtual void | slotKeyReleased (int key) |
| virtual void | slotViewTypeChanged (int view) |
| void | viewOnlyHighlight (bool state) |
Public Slots inherited from TYAbstractSceneEditor | |
| virtual void | connect () |
| Connecte cet editor a l'interactor associe. More... | |
| virtual void | disconnect () |
| Deconnecte cet editor a l'interactor associe. More... | |
| virtual void | init () |
| Appeler avant l'utilisation de l'editor. More... | |
| virtual void | cancel () |
| Annule l'action courante de l'editor. More... | |
| virtual void | close () |
| Appeler apres l'utilisation de l'editor. More... | |
| virtual void | slotMousePressed (int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state) |
| Une touche de la souris a ete enfoncee. More... | |
| virtual void | slotMouseReleased (int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state) |
| Une touche de la souris a ete relachee. More... | |
| virtual void | slotMouseDoubleClicked (int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state) |
| Une touche de la souris a ete double clickee. More... | |
| virtual void | slotMouseMoved (int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state) |
| La souris a ete deplacee. More... | |
| virtual void | slotWheeled (int x, int y, int delta, Qt::KeyboardModifiers state) |
| La molette de la souris a ete utilisee. More... | |
| virtual void | slotKeyPressed (int key) |
| Une touche a ete relachee. More... | |
| virtual void | slotKeyReleased (int key) |
| Une touche a ete relachee. More... | |
| virtual void | slotViewTypeChanged (int view) |
| La vue courante du modeler a change. More... | |
| virtual void | slotMouseEnter () |
| Le curseur de souris est entree dans la widget. More... | |
| virtual void | slotMouseLeave () |
| Le curseur de souris est sortie dans la widget. More... | |
Public Member Functions | |
| TYPositionEditor (TYModelerFrame *pModeler, int mode=Moving) | |
| virtual | ~TYPositionEditor () |
| void | setInteractionTime (int time) |
| int | getInteractionTime () |
| void | setSensitivity (float t) |
| float | getSensitivity () |
| void | setMode (int mode) |
| int | getMode () |
| void | setAngleStep (float step) |
| float | getAngleStep () |
| void | setPickPointPrecision (float precision) |
| float | getPickPointPrecision () |
| bool | getOnlyHighlight () |
| bool | selectElement (TYElement *pElt) |
Public Member Functions inherited from TYAbstractSceneEditor | |
| virtual | ~TYAbstractSceneEditor () |
| Destructeur. More... | |
| void | updateText (QString msg="", int posX=0, int posY=0, bool show=true) |
| Mets a jour le texte informatif sur la vue 3D. More... | |
| void | showText (bool show=true) |
| Affiche ou pas le texte informatif sur la vue 3D. More... | |
| void | setGridMagnStep (float gridMagnStep=1.0) |
| Met à jour le pas de la grille magnétique. More... | |
Protected Slots | |
| void | initEditSiteNode (TYElement *pElt) |
| void | initEditVolume (TYElement *pElt) |
| void | initEditMachine (TYElement *pElt) |
| void | initEditBatiment (TYElement *pElt) |
| void | initEditRoute (TYElement *pElt) |
| void | initEditResTrans (TYElement *pElt) |
| void | initEditCrbNiv (TYElement *pElt) |
| void | initEditCrsEau (TYElement *pElt) |
| void | initEditPlanEau (TYElement *pElt) |
| void | initEditTerrain (TYElement *pElt) |
| void | initEditSrcPonct (TYElement *pElt) |
| void | initEditPointControl (TYElement *pElt) |
| void | initEditMaillage (TYElement *pElt) |
| void | initEditEcran (TYElement *pElt) |
| void | editGeoNode () |
| void | editPoint () |
| void | editPointEtage () |
| void | orienteSrcPonct () |
Protected Member Functions | |
| bool | move (OPoint3D *pPt, bool enableX=true, bool enableY=true, bool enableZ=true) |
| bool | rotate (ORepere3D *pRepere, bool enableX=true, bool enableY=true, bool enableZ=true) |
| int | findPoint (float *ptToFind, TYTabPoint *pInPoints) |
| void | updateMovingLines (TYTabPoint *pPoints, int centralPointId) |
| void | updateMovingPoint (const TYPoint &point) |
| void | PointOfGeoNodeInCurrentSiteCoordinates (TYGeometryNode *pGeoNode, OPoint3D ¢ralPointGN) |
| void | PointOfCurrentSiteInGeoNodeCoordinates (TYGeometryNode *pGeoNode, OPoint3D ¢ralPointGN) |
| void | PointOfGeoNodeInCurrentSiteCoordinatesOrPointOfCurrentSiteInGeoNodeCoordinates (TYGeometryNode *pGeoNode, OPoint3D ¢ralPointGN, bool bPointOfGeoNodeInCurrentSiteCoordinates) |
| void | editPolyLine (LPTYElement pElt, TYTabPoint &pts, bool close, LPTYAltimetrie pAlti=NULL) |
| Edit a polyline. More... | |
| void | insertNewPoint (TYTabPoint &pts, TYPoint &newPoint, int &idInsert, LPTYAltimetrie pAlti=NULL) |
| Add a new point on the closest line to the mouse position. More... | |
| void | deletePoint (TYTabPoint &pts, TYPoint &deletedPoint, int &idDelete) |
| Delete the closest point of a polyline to the mouse position. More... | |
| int | findClosestSegmentToMouse (const TYTabPoint &pts) |
| Find the closest segment of a polyline to the mouse position. More... | |
| int | findClosestPointToMouse (const TYTabPoint &pts) |
| Return the id of the closest point of a polyline to the mouse position. More... | |
| double | distSegmentSqr (double mx, double my, double vx, double vy, double wx, double wy) const |
| Shortest distance (squared) between a segment and a point. More... | |
Protected Member Functions inherited from TYAbstractSceneEditor | |
| TYAbstractSceneEditor (TYModelerFrame *pModeler) | |
| Constructeur par defaut. More... | |
| void | displayToWorld (double x, double y, double z, double *worldPoint) |
| Methode utilitaire pour convertir un point en coordonnees ecran en coordonnees globale. More... | |
| void | worldToDisplay (double x, double y, double z, double *displayPoint) |
| Methode utilitaire pour convertir un point en coordonnees globale en coordonnees ecran. More... | |
| void | refreshSiteFrame () |
| Rafraichit l'arborescence du TYSiteFrame. More... | |
| void | refreshProjectFrame () |
| Rafraichit l'arborescence du TYProjectFrame. More... | |
| void | updateSiteFrame () |
| Reconstruit l'arborescence du TYSiteFrame. More... | |
Protected Attributes | |
| int | _mode |
| Le mode pour cet editor. More... | |
| bool | _active |
| Indique si cet editor est actif. More... | |
| bool | _firstCall |
| Indiquateur pour l'init de calculs. More... | |
| bool | _inUse |
| Indique si une action est deja en cours. More... | |
| bool | _viewOnlyHighlight |
| Indique si on affiche que la bounding box lors de l'edition. More... | |
| TYElementPicker * | _pPicker |
| Le picker du modeler. More... | |
| TYCameraEditor * | _pCamEditor |
| Un CameraEditor associe a cet editor. More... | |
| bool | _shiftOn |
| Indique si le bouton Shift est enfonce. More... | |
| bool | _keyAOn |
| If the A key is pressed. More... | |
| bool | _keyDOn |
| If the D key is pressed. More... | |
| TYElement * | _pEditElement |
| L'element que l'on edite. More... | |
| TYGeometryNode * | _pEditGeoNode |
| Le GeoNode associe a l'element que l'on edite. More... | |
| TYPoint * | _pEditPoint |
| Le point a deplacer. More... | |
| TYTabPoint | _editContour |
| Le contour de l'etage a editer. More... | |
| QTimer * | _pStepTimer |
| Timer pour miniser le nombre de refresh. More... | |
| int | _interactionTime |
| La duree de step pour le timer. More... | |
| bool | _mouseEventActive |
| Indique si l'editor est en pleine action. More... | |
| int | _currentMousePos [2] |
| La position courante du curseur. More... | |
| int | _lastMousePos [2] |
| La derniere position connue du curseur. More... | |
| float | _trackballFactor |
| Facteur de rotation. More... | |
| OGLLineElement * | _pOGLLineElementMoving1 |
| Pour la representation de l'edition d'un point. More... | |
| OGLLineElement * | _pOGLLineElementMoving2 |
Protected Attributes inherited from TYAbstractSceneEditor | |
| TYModelerFrame * | _pModeler |
| Le modeler associe a cet editor. More... | |
| double | _gridMagnStep |
| Pas de la grille magnétique de positionnement. More... | |
| TYRenderWindowInteractor * | _pInteractor |
| La vue graphique associee a cet editor. More... | |
| OGLTextElement * | _pOGLTextElement |
| Affichage du texte 2D sur la vue 3D. More... | |
Private Attributes | |
| bool | _bSiteModelerFrame |
| Indicateur d'edition dans un modeler frame. More... | |
| float | _angleInfo |
| Pour l'affichage de l'angle de rotation a appliquer. More... | |
| TYAction * | _pLastAction |
| La derniere action (pour le undo). More... | |
| float | _angleStep |
| Pas d'angle pour la rotation. More... | |
| float | _pickPointPrecision |
| Precision pour la detection d'un point clique. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from TYAbstractSceneEditor | |
| 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 imaginaire de positionnement. More... | |
| static void | snapToGrid (double &x, double &y, double &z, double &gridMagnStep) |
| Methode utilitaire qui adapte les coordonnees d'un point pour que celui-ci soit aligne avec la grille imaginaire de positionnement. More... | |
gestion de la position selon les modes 'moving', 'rotation', 'edition'
Definition at line 43 of file TYPositionEditor.h.
| anonymous enum |
Les modes pour cet editor.
| Enumerator | |
|---|---|
| Moving | |
| Rotation | |
| Edition | |
Definition at line 149 of file TYPositionEditor.h.
| TYPositionEditor::TYPositionEditor | ( | TYModelerFrame * | pModeler, |
| int | mode = Moving |
||
| ) |
Constructeur.
| pModeler | le modeler associé |
| mode | Le mode d'edition (Moving, Rotation, Edition). |
Definition at line 47 of file TYPositionEditor.cpp.

|
virtual |
Destructeur.
Definition at line 102 of file TYPositionEditor.cpp.

|
virtualslot |
Definition at line 206 of file TYPositionEditor.cpp.


|
virtualslot |
|
virtualslot |
|
protected |
Delete the closest point of a polyline to the mouse position.
| pts | The points of the polyline |
| deletedPoint | The deleted point (for undo/redo purpose) |
| idDelete | The id of the deleted point (for undo/redo purpose) |
Definition at line 1900 of file TYPositionEditor.cpp.


|
virtualslot |
|
protected |
Shortest distance (squared) between a segment and a point.
| mx | Point to project (x) |
| my | Point to project (y) |
| vx | First point of the segment (x) |
| vy | First point of the segment (y) |
| wx | Second point of the segment (x) |
| wy | Second point of the segment (y) |
Definition at line 1975 of file TYPositionEditor.cpp.

|
protectedslot |
Mets a jour le repere de _pEditGeoNode. Applique une rotation, rotate() ou un deplacement, move(), en fonction du mode choisi et du deplacement de la souris.
Definition at line 1233 of file TYPositionEditor.cpp.


|
protectedslot |
Deplace _pEditPoint selon le deplacement de la souris.
Definition at line 1350 of file TYPositionEditor.cpp.


|
protectedslot |
Deplace _pEditPoint, un point d'un etage, selon le deplacement de la souris.
Definition at line 1417 of file TYPositionEditor.cpp.

|
protected |
Edit a polyline.
| pElt | The entity which contains the polyline |
| pts | Points of the polyline |
| close | If the polyline is closed |
| pAlti | The altimetry (if available) |
Definition at line 1841 of file TYPositionEditor.cpp.


|
protected |
Return the id of the closest point of a polyline to the mouse position.
| pts | The points of the polyline |
Definition at line 1948 of file TYPositionEditor.cpp.


|
protected |
Find the closest segment of a polyline to the mouse position.
| pts | The points of the polyline |
Definition at line 1907 of file TYPositionEditor.cpp.


|
protected |
Recherche si le point passe (en coordonnees locales a l'objet) est present dans la liste de point passee. Le test se fait avec une certaine tolerance (PickPointPrecision).
| ptToFind | Le point a chercher dans la liste. |
| pInPoints | La collection de point pour rechercher le point. |
Definition at line 1735 of file TYPositionEditor.cpp.

|
inline |
Set/Get du pas d'angle pour la rotation.
Definition at line 115 of file TYPositionEditor.h.
|
inline |
Set/Get du temps d'interaction (step du timer).
Definition at line 70 of file TYPositionEditor.h.
|
inline |
Set/Get du mode d'edition.
Definition at line 100 of file TYPositionEditor.h.
|
inline |
On affiche seulement la bounding box ou pas lors de l'edition.
Definition at line 138 of file TYPositionEditor.h.
|
inline |
Set/Get de la precision pour la detection d'un point clique.
Definition at line 130 of file TYPositionEditor.h.
|
inline |
Set/Get du facteur de rotation.
Definition at line 85 of file TYPositionEditor.h.
|
virtualslot |
Definition at line 204 of file TYPositionEditor.cpp.
|
protectedslot |
Definition at line 631 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 799 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 857 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 585 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 490 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 1131 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 916 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 1100 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 745 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 689 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 377 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 1034 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 975 of file TYPositionEditor.cpp.


|
protectedslot |
Definition at line 448 of file TYPositionEditor.cpp.


|
protected |
Add a new point on the closest line to the mouse position.
| pts | Points of the polyline. |
| newPoint | The newly created point (for undo/redo purpose) |
| idInsert | The id of the newly created point (for undo/redo purpose) |
| pAlti | associated altimetrie, null by default |
Definition at line 1879 of file TYPositionEditor.cpp.


|
protected |
Modifie les coordonnees du point passe en fonction du deplacement effectue avec la souris.
| pPt | Le point a deplacer. |
| enableX | Autorise ou interdit la translation sur X. |
| enableY | Autorise ou interdit la translation sur Y. |
| enableZ | Autorise ou interdit la translation sur Z. |
true si le point a ete modifie; false sinon. Definition at line 1518 of file TYPositionEditor.cpp.


|
protectedslot |
Oriente la source ponctuelle pickee.
Definition at line 1450 of file TYPositionEditor.cpp.


|
protected |
Changement de repere pour calculer le delta de la souris lors des translations et rotations.
Definition at line 1180 of file TYPositionEditor.cpp.


|
protected |
Changement de repere pour calculer le delta de la souris lors des translations et rotations.
Definition at line 1173 of file TYPositionEditor.cpp.


|
protected |
Changement de repere pour calculer le delta de la souris lors des translations et rotations.
Definition at line 1187 of file TYPositionEditor.cpp.


|
protected |
Modifie l'orientation repere passe en fonction du deplacement effectue avec la souris. La position du point d'origine n'est pas modifiee.
| pRepere | Le repere a modifier. |
| enableX | Autorise ou interdit la rotation autour de X. |
| enableY | Autorise ou interdit la rotation autour de Y. |
| enableZ | Autorise ou interdit la rotation autour de Z. |
true si le repere a ete modifie; false sinon. Definition at line 1627 of file TYPositionEditor.cpp.


| bool TYPositionEditor::selectElement | ( | TYElement * | pElt | ) |
Permet d'eviter de deplacer un element hors de son contexte
Definition at line 1807 of file TYPositionEditor.cpp.


|
inline |
Set/Get du pas d'angle pour la rotation.
Definition at line 108 of file TYPositionEditor.h.

|
inline |
Set/Get du temps d'interaction (step du timer).
Definition at line 63 of file TYPositionEditor.h.

|
inline |
Set/Get du mode d'edition.
Definition at line 93 of file TYPositionEditor.h.

|
inline |
Set/Get de la precision pour la detection d'un point clique.
Definition at line 123 of file TYPositionEditor.h.

|
inline |
Set/Get du facteur de rotation.
Definition at line 78 of file TYPositionEditor.h.

|
virtualslot |
|
virtualslot |
Definition at line 239 of file TYPositionEditor.cpp.
|
virtualslot |
Definition at line 371 of file TYPositionEditor.cpp.
|
virtualslot |
|
virtualslot |
Definition at line 322 of file TYPositionEditor.cpp.
|
virtualslot |
|
protected |
Mets a jour la position des moving lines.
Definition at line 1760 of file TYPositionEditor.cpp.


|
protected |
Mets a jour la position du point central des moving lines.
Definition at line 1795 of file TYPositionEditor.cpp.


|
inlineslot |
On affiche seulement la bounding box ou pas lors de l'edition.
Definition at line 172 of file TYPositionEditor.h.
|
protected |
Indique si cet editor est actif.
Definition at line 338 of file TYPositionEditor.h.
|
private |
Pour l'affichage de l'angle de rotation a appliquer.
Definition at line 401 of file TYPositionEditor.h.
|
private |
Pas d'angle pour la rotation.
Definition at line 407 of file TYPositionEditor.h.
|
private |
Indicateur d'edition dans un modeler frame.
Definition at line 398 of file TYPositionEditor.h.
|
protected |
La position courante du curseur.
Definition at line 385 of file TYPositionEditor.h.
|
protected |
Le contour de l'etage a editer.
Definition at line 374 of file TYPositionEditor.h.
|
protected |
Indiquateur pour l'init de calculs.
Definition at line 341 of file TYPositionEditor.h.
|
protected |
La duree de step pour le timer.
Definition at line 379 of file TYPositionEditor.h.
|
protected |
Indique si une action est deja en cours.
Definition at line 344 of file TYPositionEditor.h.
|
protected |
If the A key is pressed.
Definition at line 359 of file TYPositionEditor.h.
|
protected |
If the D key is pressed.
Definition at line 362 of file TYPositionEditor.h.
|
protected |
La derniere position connue du curseur.
Definition at line 387 of file TYPositionEditor.h.
|
protected |
Le mode pour cet editor.
Definition at line 335 of file TYPositionEditor.h.
|
protected |
Indique si l'editor est en pleine action.
Definition at line 382 of file TYPositionEditor.h.
|
protected |
Un CameraEditor associe a cet editor.
Definition at line 353 of file TYPositionEditor.h.
|
protected |
L'element que l'on edite.
Definition at line 365 of file TYPositionEditor.h.
|
protected |
Le GeoNode associe a l'element que l'on edite.
Definition at line 368 of file TYPositionEditor.h.
|
protected |
Le point a deplacer.
Definition at line 371 of file TYPositionEditor.h.
|
private |
Precision pour la detection d'un point clique.
Definition at line 410 of file TYPositionEditor.h.
|
private |
La derniere action (pour le undo).
Definition at line 404 of file TYPositionEditor.h.
|
protected |
Pour la representation de l'edition d'un point.
Definition at line 393 of file TYPositionEditor.h.
|
protected |
Definition at line 394 of file TYPositionEditor.h.
|
protected |
Le picker du modeler.
Definition at line 350 of file TYPositionEditor.h.
|
protected |
Timer pour miniser le nombre de refresh.
Definition at line 377 of file TYPositionEditor.h.
|
protected |
Indique si le bouton Shift est enfonce.
Definition at line 356 of file TYPositionEditor.h.
|
protected |
Facteur de rotation.
Definition at line 390 of file TYPositionEditor.h.
|
protected |
Indique si on affiche que la bounding box lors de l'edition.
Definition at line 347 of file TYPositionEditor.h.