|
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 |