|
Public Types |
typedef std::vector< ArrayData > | ArrayList |
typedef std::vector< ref_ptr<
PrimitiveSet > > | PrimitiveSetList |
enum | AttributeBinding {
BIND_OFF = 0,
BIND_OVERALL,
BIND_PER_PRIMITIVE_SET,
BIND_PER_PRIMITIVE,
BIND_PER_VERTEX
} |
Public Member Functions |
| Geometry () |
| Geometry (const Geometry &geometry, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| Copy constructor using CopyOp to manage deep vs shallow copy.
|
virtual Object * | cloneType () const |
| Clone the type of an object, with Object* return type.
|
virtual Object * | clone (const CopyOp ©op) const |
| Clone an object, with Object* return type.
|
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
| return the name of the object's library.
|
virtual const char * | className () const |
| return the name of the object's class type.
|
virtual Geometry * | asGeometry () |
| Convert 'this' into a Geometry pointer if Drawable is a Geometry, otherwise return 0.
|
virtual const Geometry * | asGeometry () const |
| Convert 'const this' into a const Geometry pointer if Drawable is a Geometry, otherwise return 0.
|
bool | empty () const |
void | setVertexArray (Array *array) |
Array * | getVertexArray () |
const Array * | getVertexArray () const |
void | setVertexIndices (IndexArray *array) |
IndexArray * | getVertexIndices () |
const IndexArray * | getVertexIndices () const |
void | setVertexData (const ArrayData &arrayData) |
ArrayData & | getVertexData () |
const ArrayData & | getVertexData () const |
void | setNormalBinding (AttributeBinding ab) |
AttributeBinding | getNormalBinding () const |
void | setNormalArray (Array *array) |
Array * | getNormalArray () |
const Array * | getNormalArray () const |
void | setNormalIndices (IndexArray *array) |
IndexArray * | getNormalIndices () |
const IndexArray * | getNormalIndices () const |
void | setNormalData (const ArrayData &arrayData) |
ArrayData & | getNormalData () |
const ArrayData & | getNormalData () const |
void | setColorBinding (AttributeBinding ab) |
AttributeBinding | getColorBinding () const |
void | setColorArray (Array *array) |
Array * | getColorArray () |
const Array * | getColorArray () const |
void | setColorIndices (IndexArray *array) |
IndexArray * | getColorIndices () |
const IndexArray * | getColorIndices () const |
void | setColorData (const ArrayData &arrayData) |
ArrayData & | getColorData () |
const ArrayData & | getColorData () const |
void | setSecondaryColorBinding (AttributeBinding ab) |
AttributeBinding | getSecondaryColorBinding () const |
void | setSecondaryColorArray (Array *array) |
Array * | getSecondaryColorArray () |
const Array * | getSecondaryColorArray () const |
void | setSecondaryColorIndices (IndexArray *array) |
IndexArray * | getSecondaryColorIndices () |
const IndexArray * | getSecondaryColorIndices () const |
void | setSecondaryColorData (const ArrayData &arrayData) |
ArrayData & | getSecondaryColorData () |
const ArrayData & | getSecondaryColorData () const |
void | setFogCoordBinding (AttributeBinding ab) |
AttributeBinding | getFogCoordBinding () const |
void | setFogCoordArray (Array *array) |
Array * | getFogCoordArray () |
const Array * | getFogCoordArray () const |
void | setFogCoordIndices (IndexArray *array) |
IndexArray * | getFogCoordIndices () |
const IndexArray * | getFogCoordIndices () const |
void | setFogCoordData (const ArrayData &arrayData) |
ArrayData & | getFogCoordData () |
const ArrayData & | getFogCoordData () const |
void | setTexCoordArray (unsigned int unit, Array *) |
Array * | getTexCoordArray (unsigned int unit) |
const Array * | getTexCoordArray (unsigned int unit) const |
void | setTexCoordIndices (unsigned int unit, IndexArray *) |
IndexArray * | getTexCoordIndices (unsigned int unit) |
const IndexArray * | getTexCoordIndices (unsigned int unit) const |
void | setTexCoordData (unsigned int index, const ArrayData &arrayData) |
ArrayData & | getTexCoordData (unsigned int index) |
const ArrayData & | getTexCoordData (unsigned int index) const |
unsigned int | getNumTexCoordArrays () const |
ArrayList & | getTexCoordArrayList () |
const ArrayList & | getTexCoordArrayList () const |
void | setVertexAttribArray (unsigned int index, Array *array) |
Array * | getVertexAttribArray (unsigned int index) |
const Array * | getVertexAttribArray (unsigned int index) const |
void | setVertexAttribIndices (unsigned int index, IndexArray *array) |
IndexArray * | getVertexAttribIndices (unsigned int index) |
const IndexArray * | getVertexAttribIndices (unsigned int index) const |
void | setVertexAttribBinding (unsigned int index, AttributeBinding ab) |
AttributeBinding | getVertexAttribBinding (unsigned int index) const |
void | setVertexAttribNormalize (unsigned int index, GLboolean norm) |
GLboolean | getVertexAttribNormalize (unsigned int index) const |
void | setVertexAttribData (unsigned int index, const ArrayData &arrayData) |
ArrayData & | getVertexAttribData (unsigned int index) |
const ArrayData & | getVertexAttribData (unsigned int index) const |
unsigned int | getNumVertexAttribArrays () const |
ArrayList & | getVertexAttribArrayList () |
const ArrayList & | getVertexAttribArrayList () const |
void | setPrimitiveSetList (const PrimitiveSetList &primitives) |
PrimitiveSetList & | getPrimitiveSetList () |
const PrimitiveSetList & | getPrimitiveSetList () const |
unsigned int | getNumPrimitiveSets () const |
PrimitiveSet * | getPrimitiveSet (unsigned int pos) |
const PrimitiveSet * | getPrimitiveSet (unsigned int pos) const |
bool | addPrimitiveSet (PrimitiveSet *primitiveset) |
| Add a primitive set to the geometry.
|
bool | setPrimitiveSet (unsigned int i, PrimitiveSet *primitiveset) |
| Set a primitive set to the specified position in geometry's primitive set list.
|
bool | insertPrimitiveSet (unsigned int i, PrimitiveSet *primitiveset) |
| Insert a primitive set to the specified position in geometry's primitive set list.
|
bool | removePrimitiveSet (unsigned int i, unsigned int numElementsToRemove=1) |
| Remove primitive set(s) from the specified position in geometry's primitive set list.
|
unsigned int | getPrimitiveSetIndex (const PrimitiveSet *primitiveset) const |
| Get the index number of a primitive set, return a value between 0 and getNumPrimitiveSet()-1 if found, if not found then return getNumPrimitiveSet().
|
void | setFastPathHint (bool on) |
| Set whether fast paths should be used when supported.
|
bool | getFastPathHint () const |
| Get whether fast paths should be used when supported.
|
bool | areFastPathsUsed () const |
| Return true if OpenGL fast paths will be used with drawing this Geometry.
|
bool | computeFastPathsUsed () |
bool | verifyBindings () const |
void | computeCorrectBindingsAndArraySizes () |
bool | suitableForOptimization () const |
void | copyToAndOptimize (Geometry &target) |
void | computeInternalOptimizedGeometry () |
void | removeInternalOptimizedGeometry () |
void | setInternalOptimizedGeometry (osg::Geometry *geometry) |
osg::Geometry * | getInternalOptimizedGeometry () |
const osg::Geometry * | getInternalOptimizedGeometry () const |
virtual unsigned int | getGLObjectSizeHint () const |
| Return the estimated size of GLObjects (display lists/vertex buffer objects) that are associated with this drawable.
|
virtual void | drawImplementation (State &state) const |
| Draw Geometry directly ignoring an OpenGL display list which could be attached.
|
virtual bool | supports (const AttributeFunctor &) const |
| Return true, osg::Geometry does support accept(AttributeFunctor&).
|
virtual void | accept (AttributeFunctor &af) |
| Accept an AttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has.
|
virtual bool | supports (const ConstAttributeFunctor &) const |
| Return true, osg::Geometry does support accept(ConstAttributeFunctor&).
|
virtual void | accept (ConstAttributeFunctor &af) const |
| Accept a ConstAttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has.
|
virtual bool | supports (const PrimitiveFunctor &) const |
| Return true, osg::Geometry does support accept(PrimitiveFunctor&).
|
virtual void | accept (PrimitiveFunctor &pf) const |
| Accept a PrimitiveFunctor and call its methods to tell it about the interal primitives that this Drawable has.
|
virtual bool | supports (const PrimitiveIndexFunctor &) const |
| Return true, osg::Geometry does support accept(PrimitiveIndexFunctor&).
|
virtual void | accept (PrimitiveIndexFunctor &pf) const |
| Accept a PrimitiveFunctor and call its methods to tell it about the interal primitives that this Drawable has.
|
Static Public Attributes |
const ArrayData | s_InvalidArrayData |
| Static ArrayData which is returned from getTexCoordData(i) const and getVertexAttribData(i) const when i is out of range.
|
Protected Member Functions |
Geometry & | operator= (const Geometry &) |
virtual | ~Geometry () |
bool | verifyBindings (const ArrayData &arrayData) const |
bool | verifyBindings (const Vec3ArrayData &arrayData) const |
void | computeCorrectBindingsAndArraySizes (ArrayData &arrayData, const char *arrayName) |
void | computeCorrectBindingsAndArraySizes (Vec3ArrayData &arrayData, const char *arrayName) |
Protected Attributes |
PrimitiveSetList | _primitives |
ArrayData | _vertexData |
ArrayData | _normalData |
ArrayData | _colorData |
ArrayData | _secondaryColorData |
ArrayData | _fogCoordData |
ArrayList | _texCoordList |
ArrayList | _vertexAttribList |
bool | _fastPath |
bool | _fastPathHint |
ref_ptr< Geometry > | _internalOptimizedGeometry |