Classes | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
vcg::GLMeshAttributesFeeder< MESHTYPE > Class Template Reference

#include <gl_mesh_attributes_feeder.h>

Inheritance diagram for vcg::GLMeshAttributesFeeder< MESHTYPE >:
Inheritance graph
[legend]

List of all members.

Classes

struct  GLBufferObject

Public Member Functions

void buffersDeAllocationRequested ()
void buffersDeAllocationRequested (const ReqAtts &rq)
void draw (const ReqAtts &rq, const std::vector< GLuint > textid=std::vector< GLuint >())
 GLMeshAttributesFeeder (MESHTYPE &mesh, MemoryInfo &meminfo, size_t perbatchprimitives)
void invalidateRequestedAttributes (const ReqAtts &rq)
bool isPossibleToUseBORendering () const
size_t perBatchPrimitives () const
ReqAtts removeRequestedAttributes (const ReqAtts &rq)
void setPerBatchPrimitives (size_t perbatchprimitives)
ReqAtts setupRequestedAttributes (const ReqAtts &rq, bool &allocated)
 ~GLMeshAttributesFeeder ()

Protected Types

typedef std::map< short,
ChunkVector
ChunkMap
typedef std::vector< std::pair
< GLuint, GLuint > > 
ChunkVector

Protected Member Functions

size_t boExpectedDimension (ATT_NAMES name, bool replicatedpipeline, bool generateindex) const
size_t boExpectedSize (ATT_NAMES name, bool replicatedpipeline, bool generateindex) const
void bufferDeAllocationRequested (const ATT_NAMES att)
std::ptrdiff_t bufferObjectsMemoryRequired (const ReqAtts &rqatt) const
bool buffersAllocationFunction (const ReqAtts &req, std::vector< bool > &attributestobeupdated)
void disableClientState (ATT_NAMES boname, const ReqAtts &req) const
void drawPoints (const ReqAtts &req)
void drawTriangles (const ReqAtts &req, const std::vector< GLuint > &textureindex=std::vector< GLuint >())
void fillchunkMap (ChunkMap &cmap)
const GLBufferObjectgetBufferObjectInfo (ATT_NAMES boname) const
bool immediateModeRendering (const ReqAtts &req, const std::vector< GLuint > &textureindex=std::vector< GLuint >())
void setBufferPointer (ATT_NAMES boname) const
bool tryToAllocateAndCopyAttributesInBO (const ReqAtts &req)
bool updateBuffersIndexedPipeline (const std::vector< bool > &attributestobeupdated)
bool updateBuffersReplicatedPipeline (const std::vector< bool > &attributestobeupdated)
void updateClientState (const ReqAtts &req)

Static Protected Member Functions

static bool isPerVertexAttribute (ATT_NAMES name)

Protected Attributes

std::vector< GLBufferObject * > _bo
bool _borendering
ChunkMap _chunkmap
ReqAtts _currallocatedboatt
MemoryInfo_gpumeminfo
bool _lastfeedingusedreplicatedpipeline
MESHTYPE & _mesh
size_t _perbatchprim
bool _rendermodinitialized
std::vector< std::pair< short,
GLuint > > 
_texindnumtriangles
 *_allreqattmap contains a map of the requested atts by each single view. it's maintained for the actual rendering step*/

Detailed Description

template<typename MESHTYPE>
class vcg::GLMeshAttributesFeeder< MESHTYPE >

Definition at line 227 of file gl_mesh_attributes_feeder.h.


Member Typedef Documentation

template<typename MESHTYPE>
typedef std::map< short, ChunkVector > vcg::GLMeshAttributesFeeder< MESHTYPE >::ChunkMap [protected]

Definition at line 1465 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
typedef std::vector< std::pair< GLuint,GLuint > > vcg::GLMeshAttributesFeeder< MESHTYPE >::ChunkVector [protected]

Definition at line 1464 of file gl_mesh_attributes_feeder.h.


Constructor & Destructor Documentation

template<typename MESHTYPE>
vcg::GLMeshAttributesFeeder< MESHTYPE >::GLMeshAttributesFeeder ( MESHTYPE &  mesh,
MemoryInfo meminfo,
size_t  perbatchprimitives 
) [inline]

Definition at line 230 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
vcg::GLMeshAttributesFeeder< MESHTYPE >::~GLMeshAttributesFeeder ( ) [inline]

Definition at line 245 of file gl_mesh_attributes_feeder.h.


Member Function Documentation

template<typename MESHTYPE>
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::boExpectedDimension ( ATT_NAMES  name,
bool  replicatedpipeline,
bool  generateindex 
) const [inline, protected]

Definition at line 1433 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::boExpectedSize ( ATT_NAMES  name,
bool  replicatedpipeline,
bool  generateindex 
) const [inline, protected]

Definition at line 1384 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::bufferDeAllocationRequested ( const ATT_NAMES  att) [inline, protected]

Definition at line 484 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
std::ptrdiff_t vcg::GLMeshAttributesFeeder< MESHTYPE >::bufferObjectsMemoryRequired ( const ReqAtts rqatt) const [inline, protected]

Definition at line 1366 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersAllocationFunction ( const ReqAtts req,
std::vector< bool > &  attributestobeupdated 
) [inline, protected]

*********************************************************************************************************/

Definition at line 506 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersDeAllocationRequested ( ) [inline]

Reimplemented in MLThreadSafeGLMeshAttributesFeeder.

Definition at line 359 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersDeAllocationRequested ( const ReqAtts rq) [inline]

Definition at line 371 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::disableClientState ( ATT_NAMES  boname,
const ReqAtts req 
) const [inline, protected]

Definition at line 1325 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::draw ( const ReqAtts rq,
const std::vector< GLuint >  textid = std::vector<GLuint>() 
) [inline]

Definition at line 383 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::drawPoints ( const ReqAtts req) [inline, protected]

Definition at line 1235 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::drawTriangles ( const ReqAtts req,
const std::vector< GLuint > &  textureindex = std::vector<GLuint>() 
) [inline, protected]

Definition at line 1160 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::fillchunkMap ( ChunkMap cmap) [inline, protected]

Definition at line 1467 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
const GLBufferObject& vcg::GLMeshAttributesFeeder< MESHTYPE >::getBufferObjectInfo ( ATT_NAMES  boname) const [inline, protected]

Definition at line 479 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::immediateModeRendering ( const ReqAtts req,
const std::vector< GLuint > &  textureindex = std::vector<GLuint>() 
) [inline, protected]

Definition at line 1053 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::invalidateRequestedAttributes ( const ReqAtts rq) [inline]

Definition at line 347 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
static bool vcg::GLMeshAttributesFeeder< MESHTYPE >::isPerVertexAttribute ( ATT_NAMES  name) [inline, static, protected]

Definition at line 1451 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::isPossibleToUseBORendering ( ) const [inline]

Definition at line 416 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::perBatchPrimitives ( ) const [inline]

Definition at line 411 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::removeRequestedAttributes ( const ReqAtts rq) [inline]

Definition at line 342 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::setBufferPointer ( ATT_NAMES  boname) const [inline, protected]

Definition at line 1284 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::setPerBatchPrimitives ( size_t  perbatchprimitives) [inline]

Definition at line 406 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::setupRequestedAttributes ( const ReqAtts rq,
bool &  allocated 
) [inline]

Definition at line 320 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::tryToAllocateAndCopyAttributesInBO ( const ReqAtts req) [inline, protected]

Definition at line 659 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::updateBuffersIndexedPipeline ( const std::vector< bool > &  attributestobeupdated) [inline, protected]

Definition at line 712 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::updateBuffersReplicatedPipeline ( const std::vector< bool > &  attributestobeupdated) [inline, protected]

Definition at line 836 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
void vcg::GLMeshAttributesFeeder< MESHTYPE >::updateClientState ( const ReqAtts req) [inline, protected]

Definition at line 1254 of file gl_mesh_attributes_feeder.h.


Member Data Documentation

template<typename MESHTYPE>
std::vector<GLBufferObject*> vcg::GLMeshAttributesFeeder< MESHTYPE >::_bo [protected]

Definition at line 1497 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_borendering [protected]

Definition at line 1507 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
ChunkMap vcg::GLMeshAttributesFeeder< MESHTYPE >::_chunkmap [protected]

Definition at line 1510 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::_currallocatedboatt [protected]

Definition at line 1500 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
MemoryInfo& vcg::GLMeshAttributesFeeder< MESHTYPE >::_gpumeminfo [protected]

Definition at line 1495 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_lastfeedingusedreplicatedpipeline [protected]

Definition at line 1506 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
MESHTYPE& vcg::GLMeshAttributesFeeder< MESHTYPE >::_mesh [protected]

Definition at line 1494 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::_perbatchprim [protected]

Definition at line 1508 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_rendermodinitialized [protected]

Definition at line 1509 of file gl_mesh_attributes_feeder.h.

template<typename MESHTYPE>
std::vector< std::pair<short,GLuint> > vcg::GLMeshAttributesFeeder< MESHTYPE >::_texindnumtriangles [protected]

*_allreqattmap contains a map of the requested atts by each single view. it's maintained for the actual rendering step*/

Definition at line 1504 of file gl_mesh_attributes_feeder.h.


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


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:41:12