# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::DrawRangeElementsBase Class Reference

Base interface for all DrawRangeElements* sub classes. More...

`#include <DrawRangeElements.hpp>`

Inheritance diagram for vl::DrawRangeElementsBase:

List of all members.

## Public Member Functions

void | setRangeStart (int rstart)
| Sets the range start.
int | rangeStart () const
| Returns the range start.
void | setRangeEnd (int rend)
| Sets the range end.
int | rangeEnd () const
| Returns the range end.
virtual bool | primitiveRestartEnabled () const
| Returns whether the primitive-restart functionality is enabled or not.
void | setPrimitiveRestartEnabled (bool enabled)
| Enables the primitive-restart functionality.
void | setBaseVertex (int base_vertex)
| If base_vertx is != 0 glDrawRangeElementsBaseVertex/glDrawRangeElementsInstancedBaseVertex will be used instead of their non *BaseVertx counterparts.
int | baseVertex () const
| Returns the currently used base vertex.

## Protected Attributes

int | mRangeStart
int | mRangeEnd
GLuint | mBaseVertex
bool | mPrimitiveRestartEnabled

## Detailed Description

Base interface for all DrawRangeElements* sub classes.

Implements the index-type-independent interface of the class. That is you can cast to DrawRangeElementsBase* and access its members without needing to know whether the actual class is a vl::DrawRangeElementsUInt, vl::DrawRangeElementsUShort or vl::DrawRangeElementsUByte.

Definition at line 53 of file DrawRangeElements.hpp.

## Member Function Documentation

void vl::DrawRangeElementsBase::setRangeStart | ( | int | rstart ) | `[inline]`

Sets the range start.

See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml

Definition at line 59 of file DrawRangeElements.hpp.

References mRangeStart.

int vl::DrawRangeElementsBase::rangeStart | ( | ) | const`[inline]`

Returns the range start.

See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml

Definition at line 62 of file DrawRangeElements.hpp.

References mRangeStart.

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

void vl::DrawRangeElementsBase::setRangeEnd | ( | int | rend ) | `[inline]`

Sets the range end.

See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml

Definition at line 65 of file DrawRangeElements.hpp.

References mRangeEnd.

int vl::DrawRangeElementsBase::rangeEnd | ( | ) | const`[inline]`

Returns the range end.

See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml

Definition at line 68 of file DrawRangeElements.hpp.

References mRangeEnd.

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

virtual bool vl::DrawRangeElementsBase::primitiveRestartEnabled | ( | ) | const`[inline, virtual]`

Returns whether the primitive-restart functionality is enabled or not.

See http://www.opengl.org/registry/specs/NV/primitive_restart.txt

Reimplemented from vl::DrawCall.

Definition at line 71 of file DrawRangeElements.hpp.

References mPrimitiveRestartEnabled.

Referenced by vl::DrawRangeElements< ArrayUShort1 >::render(), and vl::DrawRangeElements< ArrayUShort1 >::triangleIterator().

void vl::DrawRangeElementsBase::setPrimitiveRestartEnabled | ( | bool | enabled ) | `[inline]`

Enables the primitive-restart functionality.

See http://www.opengl.org/registry/specs/NV/primitive_restart.txt

Definition at line 74 of file DrawRangeElements.hpp.

References mPrimitiveRestartEnabled.

void vl::DrawRangeElementsBase::setBaseVertex | ( | int | base_vertex ) | `[inline]`

If base_vertx is != 0 glDrawRangeElementsBaseVertex/glDrawRangeElementsInstancedBaseVertex will be used instead of their non *BaseVertx counterparts.

Note that using base_vertx != requires OpenGL 3.2 or higher or ARB_draw_elements_base_vertex. For more information see also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml

Definition at line 80 of file DrawRangeElements.hpp.

References mBaseVertex.

int vl::DrawRangeElementsBase::baseVertex | ( | ) | const`[inline]`

Returns the currently used base vertex.

For more information see also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml

Definition at line 84 of file DrawRangeElements.hpp.

References mBaseVertex.

Referenced by vl::Geometry::shrinkDrawCalls(), and vl::DrawRangeElements< ArrayUShort1 >::triangleIterator().

## Member Data Documentation

int vl::DrawRangeElementsBase::mRangeStart`[protected]`

Definition at line 87 of file DrawRangeElements.hpp.

Referenced by vl::DrawRangeElements< ArrayUShort1 >::computeRange(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), rangeStart(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setRangeStart().

int vl::DrawRangeElementsBase::mRangeEnd`[protected]`

Definition at line 88 of file DrawRangeElements.hpp.

Referenced by vl::DrawRangeElements< ArrayUShort1 >::computeRange(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), rangeEnd(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setRangeEnd().

GLuint vl::DrawRangeElementsBase::mBaseVertex`[protected]`

Definition at line 89 of file DrawRangeElements.hpp.

Referenced by baseVertex(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::indexIterator(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setBaseVertex().

bool vl::DrawRangeElementsBase::mPrimitiveRestartEnabled`[protected]`

Definition at line 90 of file DrawRangeElements.hpp.

Referenced by vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::indexIterator(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), primitiveRestartEnabled(), and setPrimitiveRestartEnabled().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/DrawRangeElements.hpp

Visualization Library v2011.09.1162 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu Jan 26 2012 00:44:34.
Permission is granted to use this page to write and publish articles regarding Visualization Library.