Tulip  5.4.0
Large graphs analysis and drawing
tlp::GlSimpleEntity Class Referenceabstract

#include <GlSimpleEntity.h>

+ Inheritance diagram for tlp::GlSimpleEntity:
+ Collaboration diagram for tlp::GlSimpleEntity:

Public Member Functions

 GlSimpleEntity ()
 
 ~GlSimpleEntity () override
 
virtual void draw (float lod, Camera *camera)=0
 
virtual BoundingBox getBoundingBox ()
 
int getStencil ()
 
virtual void getXML (std::string &outString)=0
 
bool isVisible () const
 
virtual void setStencil (int stencil)
 
virtual void setVisible (bool visible)
 
virtual void setWithXML (const std::string &inString, unsigned int &currentPosition)=0
 

Protected Attributes

BoundingBox boundingBox
 
std::vector< GlComposite * > parents
 
int stencil
 
bool visible
 

Detailed Description

Base class for all Tulip OpenGL entities.

Other Tulip entities inherit for this class.

You don't have to create a GlSimpleEntity, you have to use GlLine, GlRect or GlSphere for example

See also
Gl2DRect
GlPolygon
GlAxis
GlBezierCurve
GlBox
GlCatmullRomCurve
GlCircle
GlComplexPolygon
GlGrid
GlHexagon
GlLabel
GlSphere
GlPentagon
GlTriangle
GlOpenUniformCubicBSpline

To GlSimpleEntity manipulation :

See also
GlLayer
GlScene

Definition at line 62 of file GlSimpleEntity.h.

Constructor & Destructor Documentation

◆ GlSimpleEntity()

tlp::GlSimpleEntity::GlSimpleEntity ( )
inline

Constructor.

Definition at line 68 of file GlSimpleEntity.h.

◆ ~GlSimpleEntity()

tlp::GlSimpleEntity::~GlSimpleEntity ( )
override

Destructor.

Member Function Documentation

◆ draw()

virtual void tlp::GlSimpleEntity::draw ( float  lod,
Camera camera 
)
pure virtual

Draw function.

Warning
You don't have to call this function, the Tulip OpenGL engine call it.

Implemented in tlp::GlLabel, tlp::GlComplexPolygon, tlp::GlRect, tlp::Gl2DRect, tlp::GlSphere, tlp::GlBox, and tlp::GlGrid.

◆ getBoundingBox()

virtual BoundingBox tlp::GlSimpleEntity::getBoundingBox ( )
inlinevirtual

Return the entity boundingbox.

Warning
You don't have to call this function, the Tulip OpenGL engine call it.

Reimplemented in tlp::GlLabel, and tlp::Gl2DRect.

Definition at line 118 of file GlSimpleEntity.h.

+ Here is the caller graph for this function:

◆ getStencil()

int tlp::GlSimpleEntity::getStencil ( )
inline

Return stencil number of entity.

See also
setStencil()

Definition at line 102 of file GlSimpleEntity.h.

◆ getXML()

virtual void tlp::GlSimpleEntity::getXML ( std::string &  outString)
pure virtual

Save the entity in outString (in XML format)

Warning
You don't have to call this function, the Tulip OpenGL engine call it.

Implemented in tlp::GlLabel, tlp::GlComplexPolygon, tlp::GlGraphComposite, tlp::GlBox, tlp::GlComposite, tlp::GlSphere, tlp::Gl2DRect, tlp::GlGrid, and tlp::GlCircle.

◆ isVisible()

bool tlp::GlSimpleEntity::isVisible ( ) const
inline

Return if entity is visible.

Definition at line 82 of file GlSimpleEntity.h.

+ Here is the caller graph for this function:

◆ setStencil()

virtual void tlp::GlSimpleEntity::setStencil ( int  stencil)
inlinevirtual

Set stencil number of the entity.

Stencil is an OpenGl system to ensure that other entity can't be displayed above this entity; it's a "guaranteed visibility" system. A small number causes a guaranteed visibility Default value in Tulip is 0xFFFF (greater integer) And when we have stencil on entity value is 0x2

Reimplemented in tlp::GlComposite.

Definition at line 94 of file GlSimpleEntity.h.

◆ setVisible()

virtual void tlp::GlSimpleEntity::setVisible ( bool  visible)
virtual

Set if entity is visible.

◆ setWithXML()

virtual void tlp::GlSimpleEntity::setWithXML ( const std::string &  inString,
unsigned int &  currentPosition 
)
pure virtual

Load entity with inString (in XML format)

Warning
You don't have to call this function, the Tulip OpenGL engine call it.

Implemented in tlp::GlLabel, tlp::GlComplexPolygon, tlp::GlGraphComposite, tlp::GlBox, tlp::GlComposite, tlp::GlSphere, tlp::Gl2DRect, and tlp::GlGrid.