22 #ifndef __TY_ELEMENT_GRAPHIC__
23 #define __TY_ELEMENT_GRAPHIC__
30 #pragma warning(disable : 4284)
50 #define TY_DECL_METIER_GRAPHIC(classname) \
52 inline classname* getElement() const \
54 return (classname*)_pElement; \
105 virtual void update(
bool force =
false);
113 virtual void display(
TYElement* pModelerElement =
nullptr, GLenum mode = GL_RENDER);
205 virtual void activateSignal(){};
210 virtual void connectUpdateSignal(QObject* pReceiver,
const char* member){};
214 virtual void disconnectUpdateSignal(QObject* pReceiver,
const char* member){};
229 void gluDiskAndEnlargeBB(GLUquadric* qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices,
232 GLint slices, GLint stacks);
234 GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle);
All base classes related to 3D manipulation.
list< TYElementGraphic * > TYListPtrTYElementGraphic
List de pointeur de TYElement.
SmartPtr< TYElementGraphic > LPTYElementGraphic
Smart pointer sur TYElementGraphic.
classe graphique pour un element de base
void setTexture(bool state=true)
void drawName(TYElement *pModelerElement=nullptr)
void glVertex3fAndEnlargeBB(GLfloat x, GLfloat y, GLfloat z)
void glVertex3dAndEnlargeBB(GLdouble x, GLdouble y, GLdouble z)
virtual void computeBoundingBox()
bool _modified
Indique si l'element associe a ete modifie.
static OBox _globalBoundingBox
void gluPartialDiskAndEnlargeBB(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle)
bool _visible
Inique si l'element est visible.
void setModified(bool modified=true)
TYElement * getTYElement()
void setRecursiveVisible(bool visible=true)
static bool _gDrawNormals
Indique si les normals doivent etre visible.
bool _texture
Indique si le texturing est active pour cet element.
TYElementGraphic(TYElement *pElt)
bool _highlight
Indique si le highlight est active pour cet element.
void displayNormal(OVector3D normal, OPoint3D p1)
virtual void update(bool force=false)
static bool _gDrawPlafond
Indique si les plafonds doivent etre visible.
virtual void getChilds(TYListPtrTYElementGraphic &childs, bool recursif=true)
void setElement(TYElement *pElt)
virtual void display(TYElement *pModelerElement=nullptr, GLenum mode=GL_RENDER)
TYElement * _pElement
L'element metier auquel cet element graphique metier est associe.
void gluDiskAndEnlargeBB(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)
void viewOnlyHighlight(bool state=true)
void gluCylinderAndEnlargeBB(GLUquadric *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks)
bool getModified(bool andReset=false)
void highlight(bool state=true)
virtual ~TYElementGraphic()
void setVisible(bool visible=true)
bool _viewOnlyHighlight
Inique si on affiche la bounding box seule.
void drawLineBoundingBox()