## class SG_EXPORT osg::Shape

> Base class for all shape types.

## Inheritance:

### Public Methods

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 Methods

virtual ~Shape()

### Inherited from Object:

### Public Methods

inline void setDataVariance(DataVariance dv)
inline DataVariance getDataVariance() const
inline void setUserData(Referenced* obj)
inline Referenced* getUserData()
inline const Referenced* getUserData() const

### Public Members

enum DataVariance

### Protected Fields

DataVariance _dataVariance
ref_ptr<Referenced> _userData

### Inherited from Referenced:

### Public Methods

inline Referenced& operator = (Referenced&)
static void setDeleteHandler(DeleteHandler* handler)
static DeleteHandler* getDeleteHandler()
inline void ref() const
inline void unref_nodelete() const
inline int referenceCount() const
inline void unref() const

### Protected Fields

mutable int _refCount

## Documentation

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

`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. Must be defined by derived classes.

`virtual Object* clone(const CopyOp&) const = 0`
  Clone an attribute, with Object* return type. Must be defined by derived classes.

`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. Must be defined by derived classes.

`virtual void accept(ConstShapeVisitor&) const = 0`
  accept a const shape visitor which can be used on const shape objects. Must be defined by derived classes.

`virtual ~Shape()`

Direct child classes:
  TriangleMesh
  Sphere
  InfinitePlane
  HeightField
  Cylinder
  Cone
  CompositeShape
  Box

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.