# osg::Shape Class Reference

Base class for all shape types. More...

Inheritance diagram for osg::Shape:

[legend]
List of all members.

## Public Member Functions

| Shape ()
| Shape (const Shape &sa, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
| Clone the type of an attribute, with Object* return type.
virtual Object * | clone (const CopyOp &) const =0
| Clone an attribute, with Object* return type.
virtual bool | isSameKindAs (const Object *obj) const
| return true if this and obj are of the same kind of object.
virtual const char * | libraryName () const
| return the name of the attribute's library.
virtual const char * | className () const
| return the name of the attribute's class type.
virtual void | accept (ShapeVisitor &)=0
| accept a non const shape visitor which can be used on non const shape objects.
virtual void | accept (ConstShapeVisitor &) const =0
| accept a const shape visitor which can be used on const shape objects.

## Protected Member Functions

virtual | ~Shape ()

## Detailed Description

Base class for all shape types.

Shapes are used to either for culling and collision detection or to define the geometric shape of procedurally generate Geometry.

## Constructor & Destructor Documentation

osg::Shape::Shape | ( |  | ) | `[inline]`

osg::Shape::Shape | ( | const Shape & | sa,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) | `[inline]`

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

## Member Function Documentation

virtual void osg::Shape::accept | ( | ConstShapeVisitor & |  | ) | const`[pure virtual]`

| accept a const shape visitor which can be used on const shape objects. Must be defined by derived classes.

virtual void osg::Shape::accept | ( | ShapeVisitor & |  | ) | `[pure virtual]`

| accept a non const shape visitor which can be used on non const shape objects. Must be defined by derived classes.

virtual const char* osg::Shape::className | ( |  | ) | const`[inline, virtual]`

| return the name of the attribute's class type. Implements osg::Object.

virtual Object* osg::Shape::clone | ( | const CopyOp & |  | ) | const`[pure virtual]`

| Clone an attribute, with Object* return type. Must be defined by derived classes. Implements osg::Object.

virtual Object* osg::Shape::cloneType | ( |  | ) | const`[pure virtual]`

| Clone the type of an attribute, with Object* return type. Must be defined by derived classes. Implements osg::Object.

virtual bool osg::Shape::isSameKindAs | ( | const Object * | obj | ) | const`[inline, virtual]`

| return true if this and obj are of the same kind of object. Reimplemented from osg::Object.

virtual const char* osg::Shape::libraryName | ( |  | ) | const`[inline, virtual]`

| return the name of the attribute's library. Implements osg::Object.

The documentation for this class was generated from the following files:

- Shape
- Shape.cpp