# osg::ShapeDrawable Class Reference

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 (AttributeFunctor &) const
| return false, osg::ShapeDrawable does not support accept(AttributeFunctor&).
virtual bool | supports (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 (PrimitiveFunctor &) const
| return true, osg::ShapeDrawable does support accept(PrimitiveFunctor&) .
virtual void | accept (PrimitiveFunctor &pf) const
| accept a PrimtiveFunctor and call its methods to tell it about the internal primitives that this Drawable has.

## Protected Member Functions

ShapeDrawable & | operator= (const ShapeDrawable &)
virtual | ~ShapeDrawable ()
virtual bool | computeBound () const
| compute the bounding box of the drawable.

## Protected Attributes

Vec4 | _color
ref_ptr< TessellationHints > | _tessellationHints

## Constructor & Destructor Documentation

ShapeDrawable::ShapeDrawable | ( |  | ) |

ShapeDrawable::ShapeDrawable | ( | Shape * | shape,
|  | TessellationHints * | hints = `0`
| ) |

ShapeDrawable::ShapeDrawable | ( | const ShapeDrawable & | pg,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) |

| Copy constructor using CopyOp to manage deep vs shallow copy.

ShapeDrawable::~ShapeDrawable | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

void ShapeDrawable::accept | ( | PrimitiveFunctor & | pf | ) | const`[virtual]`

| accept a PrimtiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. Reimplemented from osg::Drawable.

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

bool ShapeDrawable::computeBound | ( |  | ) | const`[protected, virtual]`

| compute the bounding box of the drawable. Method must be implemented by subclasses. Reimplemented from osg::Drawable.

void 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 | ) | `[inline]`

| set the color of the shape.

void osg::ShapeDrawable::setTessellationHints | ( | TessellationHints * | hints | ) | `[inline]`

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

| return true, osg::ShapeDrawable does support accept(PrimitiveFunctor&) . Reimplemented from osg::Drawable.

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

| return true, osg::ShapeDrawable does support accept(ConstAttributeFunctor&). Reimplemented from osg::Drawable.

virtual bool osg::ShapeDrawable::supports | ( | 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 files:

- ShapeDrawable
- ShapeDrawable.cpp