Shape File Reference
`#include <osg/Object>`
`#include <osg/Vec3>`
`#include <osg/Quat>`
`#include <osg/Plane>`
`#include <osg/Array>`

Go to the source code of this file.

## Classes

class | osg::Shape
class | osg::ShapeVisitor
class | osg::ConstShapeVisitor
class | osg::Sphere
class | osg::Box
class | osg::Cone
class | osg::Cylinder
class | osg::Capsule
class | osg::InfinitePlane
class | osg::TriangleMesh
class | osg::ConvexHull
class | osg::HeightField
class | osg::CompositeShape
class | osg::TessellationHints
class | osg::BuildShapeGeometryVisitor

## Namespaces

namespace | osg

## Macros

#define | OSG_SHAPE 1
#define | META_Shape(library, name)

## Typedefs

typedef HeightField | osg::Grid

## Functions

OSG_EXPORT Geometry * | osg::convertShapeToGeometry (const Shape &shape, const TessellationHints *hints)
OSG_EXPORT Geometry * | osg::convertShapeToGeometry (const Shape &shape, const TessellationHints *hints, const Vec4 &color, Array::Binding colorBinding=Array::BIND_OVERALL)

## Macro Definition Documentation

## META_Shape

#define META_Shape | ( |  | library,
|  |  | name )

Value:
virtual Object* cloneType() const { return new name(); } \
virtual Object* clone(const CopyOp& copyop) const { return new name (*this,copyop); } \
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const name *>(obj)!=NULL; } \
virtual const char* libraryName() const { return #library; } \
virtual const char* className() const { return #name; } \
virtual void accept(ShapeVisitor& sv) { sv.apply(*this); } \
virtual void accept(ConstShapeVisitor& csv) const { csv.apply(*this); }
NULL
#define NULL
Definition osg/Export:55

META_StateAttribute macro define the standard clone, isSameKindAs, className and getType methods. Use when subclassing from Object to make it more convenient to define the standard pure virtual methods which are required for all Object subclasses.

## OSG_SHAPE

#define OSG_SHAPE 1