23 #include <qvector3d.h>
35 #define TR(id) OLocalizator::getString("TYPolyLineEditor", (id))
44 if (QString(pModeler->metaObject()->className()).compare(
"TYSiteModelerFrame") == 0)
48 else if (QString(pModeler->metaObject()->className()).compare(
"TYBatimentModelerFrame") == 0)
52 else if (QString(pModeler->metaObject()->className()).compare(
"TYMachineModelerFrame") == 0)
211 if (key == Qt::Key_Shift)
244 if (button == Qt::LeftButton)
248 else if ((button == Qt::RightButton) && (
_savedPoints.size() > 0))
259 TYPoint pt2(pt.x(), -pt.z(), pt.y());
286 _pOGLSphereElement->
setIs3D(
true);
361 if ((x == 0) && (y == 0))
371 TYPoint pt2(pt.x(), -pt.z(), pt.y());
398 QString msg = QString(
TR(
"id_output_dist")).arg(dist, 0,
'f', 2);
408 updateText(msg, (
int)textPos[0], (
int)textPos[1]);
All base classes related to 3D manipulation.
Classe generique pour une fenetre de modeleur (fichier header)
gestion de l'edition d'une polyligne (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 _z
z coordinate of OCoord3D
double _x
x coordinate of OCoord3D
void setVisibility(bool bVisible)
const QVector3D & getPoint1()
void setPoint2(const QVector3D &point2)
const QVector3D & getPoint2()
void setColor(const OColor &oColor)
void setPoint1(const QVector3D &point1)
void setColor(const OColor &oColor)
void setRadius(float radius)
void setCenter(const OPoint3D ¢er)
double norme() const
Computes the length of this vector.
double _gridMagnStep
Pas de la grille magnétique de positionnement.
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...
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.
TYCameraEditor * _pCameraEditor
Le caméra editor associé à cet éditor.
void showText(bool show=true)
Affiche ou pas le texte informatif sur la vue 3D.
TYRenderWindowInteractor * _pInteractor
La vue graphique associee a cet editor.
virtual void slotViewTypeChanged(int view)
static void setIsSavedOk(const bool &toSave)
Generic class for a modeler window.
virtual float getDefaultZCoord()
Returns default Z coordinate for editors This value will depend on the type of modeler and of the fix...
Super-class for editors performing object construction.
void addOGLElement(OGLElement *pOGLElement)
void removeOGLElement(OGLElement *pOGLElement)
QList< OGLLineElement * > _OGLLineElementList
Lignes dans la vue 3D.
void addPoint(int x, int y)
QList< OGLSphereElement * > _OGLSphereElementList
Table de points openGL.
bool updateMovingLine(int x, int y)
bool _dispDist
Indique si l'information de distance doit etre affichee ou non.
TYTabPoint _savedPoints
Tableau pour la sauvegarde des points du mode Save points.
void validatePoint(TYPoint &pt)
TYPolyLineEditor(TYModelerFrame *pModeler)
virtual void slotMouseMoved(int x, int y, Qt::MouseButtons button, Qt::KeyboardModifiers state)
virtual void slotKeyPressed(int key)
float _pointSize
Taille pour la representation des points.
virtual void slotViewTypeChanged(int view)
bool _shiftOn
Indique si le bouton Shift est enfonce.
bool _active
Indique si cet editor est actif.
virtual void slotKeyReleased(int key)
OGLLineElement * _pOGLLineElement
La ligne courante.
virtual void slotMouseReleased(int x, int y, Qt::MouseButton button, Qt::KeyboardModifiers state)
QVector3D displayToWorld(const QVector3D &display) const
const TYRenderViewport & getViewport() const
QPoint toViewport(QPoint point)
TYOpenGLRenderer * getRenderer()