Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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 (State &state) 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 ConstAttributeFunctor &) const
 Return true, osg::ShapeDrawable 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::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 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 void osg::ShapeDrawable::accept ConstAttributeFunctor &  af  )  const [virtual]
 

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

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.

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

Clone an object, with Object* return type.

Must be defined by derived classes.

Implements osg::Object.

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 BoundingBox osg::ShapeDrawable::computeBound  )  const [virtual]
 

Compute the bounding box around Drawables's geometry.

Reimplemented from osg::Drawable.

virtual void osg::ShapeDrawable::drawImplementation State state  )  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.

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

Get the color of the shape.

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

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

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.

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

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

Set the color of the shape.

void osg::ShapeDrawable::setTessellationHints TessellationHints hints  ) 
 

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

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

Reimplemented from osg::Drawable.

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

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

Reimplemented from osg::Drawable.

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

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

Reimplemented from osg::Drawable.


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 Thu Nov 24 16:23:48 2005 for the OpenSceneGraph by doxygen 1.3.6.