Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Member Functions | Protected Attributes

vl::DrawCall Class Reference

The base class of DrawElements, MultiDrawElements, DrawRangeElements, DrawArrays which are used by Geometry to define a set of primitives to be rendered, see Geometry::drawCalls(). More...

#include <DrawCall.hpp>

Inheritance diagram for vl::DrawCall:
vl::Object vl::DrawArrays vl::DrawElementsBase vl::DrawRangeElementsBase vl::MultiDrawElementsBase vl::DrawElements< GL_UNSIGNED_BYTE, ArrayUByte1 > vl::DrawElements< GL_UNSIGNED_INT, ArrayUInt1 > vl::DrawElements< GL_UNSIGNED_SHORT, ArrayUShort1 > vl::DrawElements< Tgltype, arr_type > vl::DrawRangeElements< GLubyte, GL_UNSIGNED_BYTE, ArrayUByte1 > vl::DrawRangeElements< GLuint, GL_UNSIGNED_INT, ArrayUInt1 > vl::DrawRangeElements< GLushort, GL_UNSIGNED_SHORT, ArrayUShort1 > vl::DrawRangeElements< index_type, Tgltype, arr_type > vl::MultiDrawElements< GL_UNSIGNED_BYTE, ArrayUByte1 > vl::MultiDrawElements< GL_UNSIGNED_INT, ArrayUInt1 > vl::MultiDrawElements< GL_UNSIGNED_SHORT, ArrayUShort1 > vl::MultiDrawElements< Tgltype, arr_type >

List of all members.

Public Member Functions

virtual const char * className ()
 Returns the name of the class.
 DrawCall ()
DrawCalloperator= (const DrawCall &other)
void setPrimitiveType (EPrimitiveType type)
EPrimitiveType primitiveType () const
virtual void render (bool use_vbo=true) const =0
virtual ref< DrawCallclone () const =0
virtual void deleteVBOs ()=0
virtual void updateVBOs (bool discard_local_data=false, bool force_update=false)=0
virtual unsigned int handle () const =0
void setEnabled (bool enable)
bool isEnabled () const
virtual TriangleIterator triangleIterator () const =0
 Returns a TriangleIterator used to iterate through the triangles of a DrawCall.
virtual IndexIterator indexIterator () const =0
 Returns a IndexIterator used to iterate through the virtual indices of a DrawCall.
int countIndices () const
 Counts the number of virtual indices of a DrawCall.
virtual int instances () const
 Returns the number of instances for this set of primitives.
void setPatchParameter (PatchParameter *patch_param)
 Attach a PatchParameter to a DrawCall to be used when using primitive-type PT_PATCHES.
PatchParameterpatchParameter ()
 The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES.
const PatchParameterpatchParameter () const
 The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES.

Protected Member Functions

void applyPatchParameters () const

Protected Attributes

ref< PatchParametermPatchParameter
EPrimitiveType mType
bool mEnabled

Detailed Description

The base class of DrawElements, MultiDrawElements, DrawRangeElements, DrawArrays which are used by Geometry to define a set of primitives to be rendered, see Geometry::drawCalls().

See also:
DrawElements, MultiDrawElements, DrawRangeElements, DrawArrays, Geometry, Actor

Definition at line 49 of file DrawCall.hpp.


Constructor & Destructor Documentation

vl::DrawCall::DrawCall (  ) [inline]

Definition at line 54 of file DrawCall.hpp.


Member Function Documentation

virtual const char* vl::DrawCall::className (  ) [inline, virtual]
DrawCall& vl::DrawCall::operator= ( const DrawCall other ) [inline]

Definition at line 56 of file DrawCall.hpp.

References mEnabled, and mType.

void vl::DrawCall::setPrimitiveType ( EPrimitiveType  type ) [inline]

Definition at line 63 of file DrawCall.hpp.

References mType.

EPrimitiveType vl::DrawCall::primitiveType (  ) const [inline]
virtual void vl::DrawCall::render ( bool  use_vbo = true ) const [pure virtual]
virtual ref<DrawCall> vl::DrawCall::clone (  ) const [pure virtual]
virtual void vl::DrawCall::deleteVBOs (  ) [pure virtual]
virtual void vl::DrawCall::updateVBOs ( bool  discard_local_data = false,
bool  force_update = false 
) [pure virtual]
virtual unsigned int vl::DrawCall::handle (  ) const [pure virtual]
void vl::DrawCall::setEnabled ( bool  enable ) [inline]

Definition at line 73 of file DrawCall.hpp.

References mEnabled.

bool vl::DrawCall::isEnabled (  ) const [inline]

Definition at line 74 of file DrawCall.hpp.

References mEnabled.

Referenced by vl::Geometry::render_Implementation().

virtual TriangleIterator vl::DrawCall::triangleIterator (  ) const [pure virtual]
virtual IndexIterator vl::DrawCall::indexIterator (  ) const [pure virtual]
int vl::DrawCall::countIndices (  ) const [inline]

Counts the number of virtual indices of a DrawCall.

Definition at line 86 of file DrawCall.hpp.

References indexIterator(), and vl::IndexIterator::isEnd().

virtual int vl::DrawCall::instances (  ) const [inline, virtual]

Returns the number of instances for this set of primitives.

Reimplemented in vl::DrawArrays, and vl::DrawElementsBase.

Definition at line 95 of file DrawCall.hpp.

void vl::DrawCall::setPatchParameter ( PatchParameter patch_param ) [inline]

Attach a PatchParameter to a DrawCall to be used when using primitive-type PT_PATCHES.

Definition at line 98 of file DrawCall.hpp.

References mPatchParameter.

PatchParameter* vl::DrawCall::patchParameter (  ) [inline]

The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES.

Definition at line 101 of file DrawCall.hpp.

References vl::ref< T >::get(), and mPatchParameter.

const PatchParameter* vl::DrawCall::patchParameter (  ) const [inline]

The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES.

Definition at line 104 of file DrawCall.hpp.

References vl::ref< T >::get(), and mPatchParameter.

void vl::DrawCall::applyPatchParameters (  ) const [inline, protected]

Member Data Documentation

Definition at line 124 of file DrawCall.hpp.

Referenced by applyPatchParameters(), patchParameter(), and setPatchParameter().

bool vl::DrawCall::mEnabled [protected]

Definition at line 126 of file DrawCall.hpp.

Referenced by isEnabled(), operator=(), and setEnabled().


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

Visualization Library v2011.05.1144 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Tue Sep 13 2011 21:59:11.
Permission is granted to use this page to write and publish articles regarding Visualization Library.