GlobeEngine
geData::DrawablePolyLine Class Reference

#include <DrawablePolyLine.h>

Inheritance diagram for geData::DrawablePolyLine:
ge::DrawableComponent geData::PolyLine ge::GlobeComponent geHikingViewer::HikingPath

Public Types

enum  GEOMETRYDRAWMODE {
  LINES =0, TRIANGLES_OVERLAPPING, RIBBON, TRIANGLE_OCCLUSION,
  GPU_LINES
}
 
- Public Types inherited from ge::DrawableComponent
enum  RENDERSTATE {
  STENCILPASS, DEPTHPASS, RENDER, OCCLUSIONTEST,
  OCCLUSIONGROUNDTEST, OCCLUSIONRESULT, EMPTY, DECALPASS
}
 

Public Member Functions

 DrawablePolyLine ()
 
 ~DrawablePolyLine ()
 
void clear ()
 
void create ()
 
void create (std::vector< vmml::Vector3d > _points)
 
void create (std::shared_ptr< geData::PolyLine > _polyLine)
 
void create (int _pointCount, double *_points)
 
void create (int _pointCount, const vmml::Vector3d *_points)
 
void create (int _pointCount, double *_points_x, double *_points_y, double *_points_alti, int _start)
 
void update ()
 
void createVAO (GEOMETRYDRAWMODE _in)
 
void createTriangleIndices ()
 
void createRibbonIndices ()
 
void setupGeometryBuffersWithLineStripInformation ()
 
void setupGeometryBuffersWithBSPlineInformation ()
 
void setupGeometryBuffersAsRibbons ()
 
void recreate (int _pointCount, double *_points)
 
void recreate (int _pointCount, const vmml::Vector3d *_points)
 
enum GEOMETRYDRAWMODE getDrawMode () const
 
void draw (std::shared_ptr< ge::Camera > _cam)
 
void drawWithOcclusionQueries (DrawableComponent::RENDERSTATE _state, std::shared_ptr< ge::Camera > _cam)
 
void drawWithMultipleLines (std::shared_ptr< ge::Camera > _cam)
 
bool isNeedingRefinement () const
 
void isNeedingRefinement (bool _in)
 
void setLineThickness (double _thickness)
 
void activateGPUSplineInterpolation (bool _in)
 
void setGPUSplineKnotVectorSize (int _size)
 
- Public Member Functions inherited from ge::DrawableComponent
 DrawableComponent ()
 
 ~DrawableComponent ()
 
 DrawableComponent (const DrawableComponent &_in)=delete
 
DrawableComponentoperator= (const DrawableComponent &_in)=delete
 
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
 
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)
 
- Public Member Functions inherited from geData::PolyLine
 PolyLine ()
 
 ~PolyLine ()
 
void clear ()
 
void create (std::vector< vmml::Vector3d > _points)
 
void create (int _pointCount, const double *_points)
 
void create (int _pointCount, const vmml::Vector3d *_points)
 
void createWithOffSet (int _pointCount, int _pointOffset, double *_points)
 
void create (int _pointCount, double *_points_x, double *_points_y, double *_points_alti)
 
void create (int _pointCount, double *_points_x, double *_points_y)
 
void create (int _pointCount, double *_points_x, double *_points_y, int _start)
 
void create (int _pointCount, double *_points_x, double *_points_y, double *_points_alti, int _start)
 
void createWithRescale (int pointCount, double *_points_x, double *_points_y, double *_points_z, vmml::Vector3d _minBound, double *edgelength, double *rescaleTo)
 
void createWithRescale (int _pointCount, double *_points_x, double *_points_y, vmml::Vector3d _minBound, double *edgelength, double *rescaleTo)
 
void calculateDistances ()
 
void setData (const double *points)
 
const double * getArray () const
 
const double * getDistances () const
 
ge::VBOVertex3d getPoint (int _input) const
 
void setAdditionalPointSizes (unsigned int *_data)
 
unsigned int getPointCount () const
 
unsigned int getLineCount () const
 
double getSummedDistances ()
 
BSplineInterpolationResultgetBSPlineInterpolationPoints (int _polynomDegree)
 
double getLineThickness () const
 
int getRefinementLevel () const
 
bool isNeedingRefinement () const
 
void isNeedingRefinement (bool _in)
 
void print ()
 
void printAll ()
 
int getControlPointArraySize () const
 
int getKnotVectorSize () const
 
int getAnimationPoint () const
 
const vmml::Vector3d * getControlPointArray () const
 
void setSegmentDistance (float _segDist, bool _fixSegments=false)
 
int setControlPointArraySize (int _size)
 
void clearInitial ()
 
void allocateMemory (int _pointCount)
 
void deletePolyLineMemory ()
 
void moveAnimationForward ()
 
void moveAnimationBackward ()
 

Additional Inherited Members

- Public Attributes inherited from geData::PolyLine
unsigned int ** additionalPointsIndices
 
unsigned intadditionalPointSizes
 
- Protected Attributes inherited from ge::DrawableComponent
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
 
- Protected Attributes inherited from geData::PolyLine
unsigned int pointCount
 
unsigned int lineCount
 
unsigned int pointsAfterOffset
 
double lineThickness
 
double * distances
 
double sumOfDistances
 
union {
   ge::VBOVertex3d *   points
 
   double *   data
 
}; 
 
int refinementlevel
 
bool needsRefinement
 
int ctrlPointSegments
 
int splineSegments
 
vmml::Vector3d * pts
 
int animationPoint
 

Member Enumeration Documentation

Enumerator
LINES 
TRIANGLES_OVERLAPPING 
RIBBON 
TRIANGLE_OCCLUSION 
GPU_LINES 

Constructor & Destructor Documentation

geData::DrawablePolyLine::DrawablePolyLine ( )
geData::DrawablePolyLine::~DrawablePolyLine ( )

Member Function Documentation

void geData::DrawablePolyLine::activateGPUSplineInterpolation ( bool  _in)
void geData::DrawablePolyLine::clear ( )
virtual

Reimplemented from ge::DrawableComponent.

void geData::DrawablePolyLine::create ( )
inlinevirtual

Implements ge::GlobeComponent.

void geData::DrawablePolyLine::create ( std::vector< vmml::Vector3d >  _points)
void geData::DrawablePolyLine::create ( std::shared_ptr< geData::PolyLine _polyLine)
void geData::DrawablePolyLine::create ( int  _pointCount,
double *  _points 
)
void geData::DrawablePolyLine::create ( int  _pointCount,
const vmml::Vector3d *  _points 
)
void geData::DrawablePolyLine::create ( int  _pointCount,
double *  _points_x,
double *  _points_y,
double *  _points_alti,
int  _start 
)
void geData::DrawablePolyLine::createRibbonIndices ( )
void geData::DrawablePolyLine::createTriangleIndices ( )
void geData::DrawablePolyLine::createVAO ( GEOMETRYDRAWMODE  _in)
void geData::DrawablePolyLine::draw ( std::shared_ptr< ge::Camera _cam)
void geData::DrawablePolyLine::drawWithMultipleLines ( std::shared_ptr< ge::Camera _cam)
void geData::DrawablePolyLine::drawWithOcclusionQueries ( DrawableComponent::RENDERSTATE  _state,
std::shared_ptr< ge::Camera _cam 
)
enum GEOMETRYDRAWMODE geData::DrawablePolyLine::getDrawMode ( ) const
inline
bool geData::DrawablePolyLine::isNeedingRefinement ( ) const
void geData::DrawablePolyLine::isNeedingRefinement ( bool  _in)
void geData::DrawablePolyLine::recreate ( int  _pointCount,
double *  _points 
)
void geData::DrawablePolyLine::recreate ( int  _pointCount,
const vmml::Vector3d *  _points 
)
void geData::DrawablePolyLine::setGPUSplineKnotVectorSize ( int  _size)
void geData::DrawablePolyLine::setLineThickness ( double  _thickness)
virtual

Reimplemented from geData::PolyLine.

void geData::DrawablePolyLine::setupGeometryBuffersAsRibbons ( )
void geData::DrawablePolyLine::setupGeometryBuffersWithBSPlineInformation ( )
void geData::DrawablePolyLine::setupGeometryBuffersWithLineStripInformation ( )
void geData::DrawablePolyLine::update ( )
virtual

Implements ge::GlobeComponent.


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