osg::ShapeDrawable Class Reference

Allow the use of Shapes as Drawables, so that they can be rendered with reduced effort. More...

Inheritance diagram for osg::ShapeDrawable:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 ShapeDrawable ()
 ShapeDrawable (Shape *shape, TessellationHints *hints=0)
 ShapeDrawable (const ShapeDrawable &pg, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
virtual ObjectcloneType () const
 Clone the type of an object, with Object* return type.
virtual Objectclone (const CopyOp &copyop) 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.
void setColor (const Vec4 &color)
 Set the color of the shape.
const Vec4getColor () const
 Get the color of the shape.
void setTessellationHints (TessellationHints *hints)
TessellationHintsgetTessellationHints ()
const TessellationHintsgetTessellationHints () const
virtual void drawImplementation (RenderInfo &renderInfo) const
 Draw ShapeDrawable directly ignoring an OpenGL display list which could be attached.
virtual bool supports (const AttributeFunctor &) const
 Return false, osg::ShapeDrawable does not support accept(AttributeFunctor&).
virtual bool supports (const Drawable::ConstAttributeFunctor &) const
 Return true, osg::ShapeDrawable does support accept(Drawable::ConstAttributeFunctor&).
virtual void accept (Drawable::ConstAttributeFunctor &af) const
 Accept a Drawable::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::ShapeDrawable does support accept(PrimitiveFunctor&) .
virtual void accept (PrimitiveFunctor &pf) const
 Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has.
virtual BoundingBox computeBound () const
 Compute the bounding box around Drawables's geometry.

Protected Member Functions

ShapeDrawableoperator= (const ShapeDrawable &)
virtual ~ShapeDrawable ()

Protected Attributes

Vec4 _color
ref_ptr
< TessellationHints
_tessellationHints


Detailed Description

Allow the use of Shapes as Drawables, so that they can be rendered with reduced effort.

The implementation of ShapeDrawable is not geared to efficiency; it's better to think of it as a convenience to render Shapes easily (perhaps for test or debugging purposes) than as the right way to render basic shapes in some efficiency-critical section of code.

Todo:
ShapeDrawable currently doesn't render InfinitePlanes.

Constructor & Destructor Documentation

osg::ShapeDrawable::ShapeDrawable (  ) 

osg::ShapeDrawable::ShapeDrawable ( Shape shape,
TessellationHints hints = 0 
)

osg::ShapeDrawable::ShapeDrawable ( const ShapeDrawable pg,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::ShapeDrawable::~ShapeDrawable (  )  [protected, virtual]


Member Function Documentation

virtual Object* osg::ShapeDrawable::cloneType (  )  const [inline, virtual]

Clone the type of an object, with Object* return type.

Must be defined by derived classes.

Implements osg::Object.

virtual Object* osg::ShapeDrawable::clone ( const CopyOp  )  const [inline, virtual]

Clone an object, with Object* return type.

Must be defined by derived classes.

Implements osg::Object.

virtual bool osg::ShapeDrawable::isSameKindAs ( const Object obj  )  const [inline, virtual]

Reimplemented from osg::Drawable.

virtual const char* osg::ShapeDrawable::libraryName (  )  const [inline, virtual]

return the name of the object's library.

Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Reimplemented from osg::Drawable.

virtual const char* osg::ShapeDrawable::className (  )  const [inline, virtual]

return the name of the object's class type.

Must be defined by derived classes.

Reimplemented from osg::Drawable.

void osg::ShapeDrawable::setColor ( const Vec4 color  ) 

Set the color of the shape.

const Vec4& osg::ShapeDrawable::getColor (  )  const [inline]

Get the color of the shape.

void osg::ShapeDrawable::setTessellationHints ( TessellationHints hints  ) 

TessellationHints* osg::ShapeDrawable::getTessellationHints (  )  [inline]

const TessellationHints* osg::ShapeDrawable::getTessellationHints (  )  const [inline]

virtual void osg::ShapeDrawable::drawImplementation ( RenderInfo renderInfo  )  const [virtual]

Draw ShapeDrawable directly ignoring an OpenGL display list which could be attached.

This is the internal draw method which does the drawing itself, and is the method to override when deriving from ShapeDrawable for user-drawn objects.

Implements osg::Drawable.

virtual bool osg::ShapeDrawable::supports ( const AttributeFunctor &   )  const [inline, virtual]

Return false, osg::ShapeDrawable does not support accept(AttributeFunctor&).

virtual bool osg::ShapeDrawable::supports ( const Drawable::ConstAttributeFunctor  )  const [inline, virtual]

Return true, osg::ShapeDrawable does support accept(Drawable::ConstAttributeFunctor&).

Reimplemented from osg::Drawable.

virtual void osg::ShapeDrawable::accept ( Drawable::ConstAttributeFunctor af  )  const [virtual]

Accept a Drawable::ConstAttributeFunctor and call its methods to tell it about the interal attributes that this Drawable has.

Reimplemented from osg::Drawable.

virtual bool osg::ShapeDrawable::supports ( const PrimitiveFunctor  )  const [inline, virtual]

Return true, osg::ShapeDrawable does support accept(PrimitiveFunctor&) .

Reimplemented from osg::Drawable.

virtual void osg::ShapeDrawable::accept ( PrimitiveFunctor pf  )  const [virtual]

Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has.

Reimplemented from osg::Drawable.

virtual BoundingBox osg::ShapeDrawable::computeBound (  )  const [virtual]

Compute the bounding box around Drawables's geometry.

Reimplemented from osg::Drawable.

ShapeDrawable& osg::ShapeDrawable::operator= ( const ShapeDrawable  )  [inline, protected]


Member Data Documentation

Vec4 osg::ShapeDrawable::_color [protected]

ref_ptr<TessellationHints> osg::ShapeDrawable::_tessellationHints [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:16 2007 for the OpenSceneGraph by doxygen 1.5.3.