GlobeEngine
ge::DrawableComponent Class Reference

#include <DrawableComponent.h>

Inheritance diagram for ge::DrawableComponent:
ge::GlobeComponent ge::Composition ge::Cone ge::CoordinateSystem ge::Cube ge::Cylinder ge::Flag ge::HorizontalCone ge::Plane ge::Ring ge::Skybox ge::Sphere ge::ViewFrustum geAstro::HabitableZone geAstro::OrbitCollection geAstro::OrbitDrawable geAstro::OverviewPointCloud geAstro::SmallBodyPointCloud geAstro::UnitCircles geClimateViewer::PolyLineExt geClimateViewer::Streamlines geClimateViewer::VectorFieldTopology geData::DouglasPeuckerDrawablePath geData::DrawablePolyLine geData::Heightfield geData::Mesh geData::MultiLineObject geData::MultiPolygonObject geData::PointCloud geData::PolygonZ geFlow::ArrowField geGIS::FeatureObject geGIS::Globe geHikingViewer::HikingInfoWindow geRaster::KPatchBintree geRaster::QuadPatchField geUtil::DebugMap geUtil::DrawableGrid

Public Types

enum  RENDERSTATE {
  STENCILPASS, DEPTHPASS, RENDER, OCCLUSIONTEST,
  OCCLUSIONGROUNDTEST, OCCLUSIONRESULT, EMPTY, DECALPASS
}
 

Public Member Functions

 DrawableComponent ()
 
 ~DrawableComponent ()
 
 DrawableComponent (const DrawableComponent &_in)=delete
 
DrawableComponentoperator= (const DrawableComponent &_in)=delete
 
virtual void clear ()
 
virtual void draw (std::shared_ptr< ge::Camera > _cam)
 
virtual void setPosition (vmml::Vector3d _position)
 
vmml::Vector3d getPosition () const
 
virtual void setScale (vmml::Vector3d _scale)
 
vmml::Vector3d getScale () const
 
virtual void setRotation (vmml::Vector3d _rotations)
 
vmml::Vector3d getRotation () const
 
void setBoundingSphere (BoundingSphere _boundingSphere)
 
void setBoundingBox (BoundingBox3d _boundingBox)
 
const BoundingSpheregetBoundingSphere () const
 
const BoundingBox3dgetBoundingBox () const
 
bool isVisible () const
 
virtual void isVisible (bool _input)
 
bool isGeometryReady () const
 
virtual void isGeometryReady (bool _input)
 
virtual void setColor (vmml::Vector3f _color)
 
const vmml::Vector3f getColor () const
 
virtual void setColorPerVertex (unsigned int _in)
 
unsigned int getColorPerVertex () const
 
void setTextured (bool _in)
 
bool isTextured ()
 
void setTextureHandle (GLuint _handle)
 
GLuint getTextureHandle () const
 
void setNormalTextureHandle (GLuint _handle)
 
GLuint getNormalTextureHandle () const
 
void setNormalMapped (bool _in)
 
bool isNormalMapped ()
 
virtual void setShader (std::shared_ptr< ge::Shader > _shader)
 
void setStandardUniforms ()
 
const std::shared_ptr< ge::ShadergetShader () const
 
void recompileShader ()
 
void setNormalMatrix ()
 
void setModelMatrices ()
 
vmml::Matrix4d getModelMatrix () const
 
vmml::Matrix4d getInverseModelMatrix () const
 
void setViewProjMatrices (const std::shared_ptr< ge::Camera > _cam)
 
void setMVPMatrix (const std::shared_ptr< ge::Camera > _cam)
 
virtual void enableOcclusionQueries (bool _in)
 
void beginOcclusionQuery (RENDERSTATE _state)
 
void endOcclusionQuery (RENDERSTATE _state)
 
GLuint getQueryResult ()
 
void enablePointSprites ()
 
void disablePointSprites ()
 
void fillIndexBufferWithLinearValues ()
 
void enableVertexAttributes (int vaaSize=2)
 
void disableVertexAttributes (int vaaSize=2)
 
void setNumberOfVertexAttributes (unsigned int _in)
 
void generateVertexHandlesFromShader (int _bufferCount=0)
 
void setVertexAttributePointer (GLuint _bufferID, GLuint _index, GLint _size, GLenum _type)
 
void setVertexAttributePointerNormalized (GLuint _bufferID, GLuint _index, GLint _size, GLenum _type)
 
void setVertexLongAttributePointer (GLuint _bufferID, GLuint _index, GLint _size, GLenum _type)
 
void unbindVertexBuffers ()
 
void setAttributeBuffer1i (int _bufferID, int _input)
 
void setAttributeBuffer1i (int _bufferID, std::vector< int > _input)
 
void setAttributeBuffer1f (int _bufferID, float _value)
 
void setAttributeBuffer1f (int _bufferID, std::vector< float > _input)
 
void addVertex3fAttribute (unsigned int _bufferPos, unsigned int _size, const vmml::Vector3d _value)
 
void addVertex3fAttribute (unsigned int _bufferPos, unsigned int _size, const vmml::Vector3d *_values)
 
void addCustomVertexAttributef (unsigned int _bufferPos, unsigned int _attributeCount, unsigned int _sizePerAttribute, float **_values)
 
void setDepthMatrix (vmml::Matrix4d _mat)
 
void setDepthMatrixUniform ()
 
void setDepthTextureHandle (GLuint _handle)
 
void setDepthUniforms ()
 
GLuint getDepthTextureHandle () const
 
void setPickingInformation ()
 
void createMultiDrawPointerList (GLuint _numberOfDrawObjects, GLsizei *_stripLenghts)
 
void createMultiDrawPointerList (GLuint _numberOfDrawObjects, GLsizei _stripLenghts)
 
void drawMultiElements (GLenum _mode, const GLsizei *_count, GLsizei _drawcount)
 
void drawArrays (GLenum _mode, GLint _first, GLsizei _count)
 
void drawElements (GLenum _mode, GLsizei _count, const GLvoid *_indices)
 
void drawMultiArrays (GLenum _mode, const GLsizei *_count, GLsizei _drawcount)
 
void enablePrimitiveRestart ()
 
void disablePrimitiveRestart ()
 
void setPrimitiveRestartIndex (GLuint _in)
 
unsigned int getVertexCount () const
 
void setVertexAttributePointerForBuffer (unsigned int _bufferID, unsigned int _size, GLenum _type)
 
- Public Member Functions inherited from ge::GlobeComponent
 GlobeComponent ()
 
virtual ~GlobeComponent ()=0
 
virtual void create ()=0
 
virtual void update ()=0
 
GLuint getUID () const
 
virtual void setUID (GLuint _input)
 
GLuint getGroupID () const
 
virtual void setGroupID (GLuint _input)
 
const std::string getName () const
 
void setName (std::string _name)
 

Protected Attributes

std::shared_ptr< ge::Shadershader
 
vmml::Vector3d position
 
vmml::Vector3d scale
 
vmml::Vector3d rotations
 
vmml::Vector3f color
 
unsigned int colorPerVertex
 
bool textured
 
GLuint colorTexHandle
 
bool normalMapped
 
GLuint normalTexHandle
 
BoundingSphereboundingSphere
 
BoundingBox3dboundingBox
 
vmml::Matrix4d modelMatrix
 
vmml::Matrix4d mvpMatrix
 
vmml::Matrix3d normalMatrix
 
vmml::Matrix4d depthTextureMatrix
 
GLuint depthTextureHandle
 
ge::VertexArrayObject vao
 
ge::VertexBufferArray attributes
 
GLuint vertexCount
 
GLuint indexCount
 
ge::IndexBuffer indexBuffer
 
GLuint multiDrawPointerListSize
 
const GLvoid ** multiDrawPointerList
 
GLint * multiDrawArraysList
 
GLuint occlusionQueryState
 
GLuint occlusionQueryID
 
GLuint queryResultPixelCount
 
GLint uniformViewMatrixLocation
 
GLint uniformProjectionMatrixLocation
 
GLint uniformModelMatrixLocation
 
GLint uniformMVPMatrixLocation
 
GLint uniformObjectColorLocation
 
GLint uniformColorPerVertexLocation
 
GLint uniformObjectIDLocation
 
GLint uniformObjectGroupIDLocation
 
- Protected Attributes inherited from ge::GlobeComponent
int uid
 
int group_uid
 
std::string name
 

Member Enumeration Documentation

Enumerator
STENCILPASS 
DEPTHPASS 
RENDER 
OCCLUSIONTEST 
OCCLUSIONGROUNDTEST 
OCCLUSIONRESULT 
EMPTY 
DECALPASS 

Constructor & Destructor Documentation

ge::DrawableComponent::DrawableComponent ( )
ge::DrawableComponent::~DrawableComponent ( )
ge::DrawableComponent::DrawableComponent ( const DrawableComponent _in)
delete

Member Function Documentation

void ge::DrawableComponent::addCustomVertexAttributef ( unsigned int  _bufferPos,
unsigned int  _attributeCount,
unsigned int  _sizePerAttribute,
float **  _values 
)
void ge::DrawableComponent::addVertex3fAttribute ( unsigned int  _bufferPos,
unsigned int  _size,
const vmml::Vector3d  _value 
)
void ge::DrawableComponent::addVertex3fAttribute ( unsigned int  _bufferPos,
unsigned int  _size,
const vmml::Vector3d *  _values 
)
void ge::DrawableComponent::beginOcclusionQuery ( RENDERSTATE  _state)
void ge::DrawableComponent::createMultiDrawPointerList ( GLuint  _numberOfDrawObjects,
GLsizei *  _stripLenghts 
)
void ge::DrawableComponent::createMultiDrawPointerList ( GLuint  _numberOfDrawObjects,
GLsizei  _stripLenghts 
)
void ge::DrawableComponent::disablePointSprites ( )
void ge::DrawableComponent::disablePrimitiveRestart ( )
void ge::DrawableComponent::disableVertexAttributes ( int  vaaSize = 2)
void ge::DrawableComponent::draw ( std::shared_ptr< ge::Camera _cam)
virtual
void ge::DrawableComponent::drawArrays ( GLenum  _mode,
GLint  _first,
GLsizei  _count 
)
void ge::DrawableComponent::drawElements ( GLenum  _mode,
GLsizei  _count,
const GLvoid *  _indices 
)
void ge::DrawableComponent::drawMultiArrays ( GLenum  _mode,
const GLsizei *  _count,
GLsizei  _drawcount 
)
void ge::DrawableComponent::drawMultiElements ( GLenum  _mode,
const GLsizei *  _count,
GLsizei  _drawcount 
)
void ge::DrawableComponent::enableOcclusionQueries ( bool  _in)
virtual
void ge::DrawableComponent::enablePointSprites ( )
void ge::DrawableComponent::enablePrimitiveRestart ( )
void ge::DrawableComponent::enableVertexAttributes ( int  vaaSize = 2)

assuming that for standard pipeline vertex position and color is needed

void ge::DrawableComponent::endOcclusionQuery ( RENDERSTATE  _state)
void ge::DrawableComponent::fillIndexBufferWithLinearValues ( )
void ge::DrawableComponent::generateVertexHandlesFromShader ( int  _bufferCount = 0)
const BoundingBox3d * ge::DrawableComponent::getBoundingBox ( ) const
const BoundingSphere * ge::DrawableComponent::getBoundingSphere ( ) const
const vmml::Vector3f ge::DrawableComponent::getColor ( ) const
unsigned int ge::DrawableComponent::getColorPerVertex ( ) const
inline
GLuint ge::DrawableComponent::getDepthTextureHandle ( ) const
vmml::Matrix4d ge::DrawableComponent::getInverseModelMatrix ( ) const
vmml::Matrix4d ge::DrawableComponent::getModelMatrix ( ) const
GLuint ge::DrawableComponent::getNormalTextureHandle ( ) const
vmml::Vector3d ge::DrawableComponent::getPosition ( ) const
GLuint ge::DrawableComponent::getQueryResult ( )
vmml::Vector3d ge::DrawableComponent::getRotation ( ) const
vmml::Vector3d ge::DrawableComponent::getScale ( ) const
const std::shared_ptr< ge::Shader > ge::DrawableComponent::getShader ( ) const
GLuint ge::DrawableComponent::getTextureHandle ( ) const
unsigned int ge::DrawableComponent::getVertexCount ( ) const
inline
bool ge::DrawableComponent::isGeometryReady ( ) const
void ge::DrawableComponent::isGeometryReady ( bool  _input)
virtual
bool ge::DrawableComponent::isNormalMapped ( )
bool ge::DrawableComponent::isTextured ( )
bool ge::DrawableComponent::isVisible ( ) const
void ge::DrawableComponent::isVisible ( bool  _input)
virtual
DrawableComponent& ge::DrawableComponent::operator= ( const DrawableComponent _in)
delete
void ge::DrawableComponent::recompileShader ( )
void ge::DrawableComponent::setAttributeBuffer1f ( int  _bufferID,
float  _value 
)
void ge::DrawableComponent::setAttributeBuffer1f ( int  _bufferID,
std::vector< float >  _input 
)
void ge::DrawableComponent::setAttributeBuffer1i ( int  _bufferID,
int  _input 
)
void ge::DrawableComponent::setAttributeBuffer1i ( int  _bufferID,
std::vector< int _input 
)
void ge::DrawableComponent::setBoundingBox ( BoundingBox3d  _boundingBox)
void ge::DrawableComponent::setBoundingSphere ( BoundingSphere  _boundingSphere)
void ge::DrawableComponent::setColor ( vmml::Vector3f  _color)
virtual
virtual void ge::DrawableComponent::setColorPerVertex ( unsigned int  _in)
inlinevirtual
void ge::DrawableComponent::setDepthMatrix ( vmml::Matrix4d  _mat)
void ge::DrawableComponent::setDepthMatrixUniform ( )
void ge::DrawableComponent::setDepthTextureHandle ( GLuint  _handle)
void ge::DrawableComponent::setDepthUniforms ( )
void ge::DrawableComponent::setModelMatrices ( )
void ge::DrawableComponent::setMVPMatrix ( const std::shared_ptr< ge::Camera _cam)
void ge::DrawableComponent::setNormalMapped ( bool  _in)
void ge::DrawableComponent::setNormalMatrix ( )
void ge::DrawableComponent::setNormalTextureHandle ( GLuint  _handle)
void ge::DrawableComponent::setNumberOfVertexAttributes ( unsigned int  _in)
void ge::DrawableComponent::setPickingInformation ( )
void ge::DrawableComponent::setPosition ( vmml::Vector3d  _position)
virtual
void ge::DrawableComponent::setPrimitiveRestartIndex ( GLuint  _in)
void ge::DrawableComponent::setRotation ( vmml::Vector3d  _rotations)
virtual
void ge::DrawableComponent::setScale ( vmml::Vector3d  _scale)
virtual
void ge::DrawableComponent::setShader ( std::shared_ptr< ge::Shader _shader)
virtual
void ge::DrawableComponent::setStandardUniforms ( )
void ge::DrawableComponent::setTextured ( bool  _in)
void ge::DrawableComponent::setTextureHandle ( GLuint  _handle)
void ge::DrawableComponent::setVertexAttributePointer ( GLuint  _bufferID,
GLuint  _index,
GLint  _size,
GLenum  _type 
)
void ge::DrawableComponent::setVertexAttributePointerForBuffer ( unsigned int  _bufferID,
unsigned int  _size,
GLenum  _type 
)
void ge::DrawableComponent::setVertexAttributePointerNormalized ( GLuint  _bufferID,
GLuint  _index,
GLint  _size,
GLenum  _type 
)
void ge::DrawableComponent::setVertexLongAttributePointer ( GLuint  _bufferID,
GLuint  _index,
GLint  _size,
GLenum  _type 
)
void ge::DrawableComponent::setViewProjMatrices ( const std::shared_ptr< ge::Camera _cam)
void ge::DrawableComponent::unbindVertexBuffers ( )

Member Data Documentation

ge::VertexBufferArray ge::DrawableComponent::attributes
protected
BoundingBox3d* ge::DrawableComponent::boundingBox
protected
BoundingSphere* ge::DrawableComponent::boundingSphere
protected
vmml::Vector3f ge::DrawableComponent::color
protected
unsigned int ge::DrawableComponent::colorPerVertex
protected
GLuint ge::DrawableComponent::colorTexHandle
protected
GLuint ge::DrawableComponent::depthTextureHandle
protected
vmml::Matrix4d ge::DrawableComponent::depthTextureMatrix
protected
ge::IndexBuffer ge::DrawableComponent::indexBuffer
protected
GLuint ge::DrawableComponent::indexCount
protected
vmml::Matrix4d ge::DrawableComponent::modelMatrix
protected
GLint* ge::DrawableComponent::multiDrawArraysList
protected
const GLvoid** ge::DrawableComponent::multiDrawPointerList
protected
GLuint ge::DrawableComponent::multiDrawPointerListSize
protected
vmml::Matrix4d ge::DrawableComponent::mvpMatrix
protected
bool ge::DrawableComponent::normalMapped
protected
vmml::Matrix3d ge::DrawableComponent::normalMatrix
protected
GLuint ge::DrawableComponent::normalTexHandle
protected
GLuint ge::DrawableComponent::occlusionQueryID
protected
GLuint ge::DrawableComponent::occlusionQueryState
protected
vmml::Vector3d ge::DrawableComponent::position
protected
GLuint ge::DrawableComponent::queryResultPixelCount
protected
vmml::Vector3d ge::DrawableComponent::rotations
protected
vmml::Vector3d ge::DrawableComponent::scale
protected
std::shared_ptr<ge::Shader> ge::DrawableComponent::shader
protected
bool ge::DrawableComponent::textured
protected
GLint ge::DrawableComponent::uniformColorPerVertexLocation
protected
GLint ge::DrawableComponent::uniformModelMatrixLocation
protected
GLint ge::DrawableComponent::uniformMVPMatrixLocation
protected
GLint ge::DrawableComponent::uniformObjectColorLocation
protected
GLint ge::DrawableComponent::uniformObjectGroupIDLocation
protected
GLint ge::DrawableComponent::uniformObjectIDLocation
protected
GLint ge::DrawableComponent::uniformProjectionMatrixLocation
protected
GLint ge::DrawableComponent::uniformViewMatrixLocation
protected
ge::VertexArrayObject ge::DrawableComponent::vao
protected
GLuint ge::DrawableComponent::vertexCount
protected

The documentation for this class was generated from the following files: