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 `Shape`s as `Drawable`s, so that they can be rendered with reduced effort. More...

Inheritance diagram for osg::ShapeDrawable:

[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 Object * | cloneType () const
| Clone the type of an object, with Object* return type.
virtual Object * | clone (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 Vec4 & | getColor () const
| Get the color of the shape.
void | setTessellationHints (TessellationHints *hints)
TessellationHints * | getTessellationHints ()
const TessellationHints * | getTessellationHints () 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
ShapeDrawable & | operator= (const ShapeDrawable &)
virtual | ~ShapeDrawable ()
## Protected Attributes
Vec4 | _color
ref_ptr< TessellationHints > | _tessellationHints

## Detailed Description

Allow the use of `Shape`s as `Drawable`s, 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 `Shape`s 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 `InfinitePlane`s.

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

- ShapeDrawable