# osg::CopyOp Class Reference

Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clone operation. More...

Inheritance diagram for osg::CopyOp:

[legend]
List of all members.

## Public Types

typedef unsigned int | CopyFlags
enum | Options { SHALLOW_COPY = 0, DEEP_COPY_OBJECTS = 1, DEEP_COPY_NODES = 2, DEEP_COPY_DRAWABLES = 4, DEEP_COPY_STATESETS = 8, DEEP_COPY_STATEATTRIBUTES = 16, DEEP_COPY_TEXTURES = 32, DEEP_COPY_IMAGES = 64, DEEP_COPY_ARRAYS = 128, DEEP_COPY_PRIMITIVES = 256, DEEP_COPY_SHAPES = 512, DEEP_COPY_ALL = 0xffffffff }

## Public Member Functions

| CopyOp (CopyFlags flags=SHALLOW_COPY)
virtual | ~CopyOp ()
virtual Referenced * | operator() (const Referenced *ref) const
virtual Object * | operator() (const Object *obj) const
virtual Node * | operator() (const Node *node) const
virtual Drawable * | operator() (const Drawable *drawable) const
virtual StateSet * | operator() (const StateSet *stateset) const
virtual StateAttribute * | operator() (const StateAttribute *attr) const
virtual Texture * | operator() (const Texture *text) const
virtual Image * | operator() (const Image *image) const
virtual Array * | operator() (const Array *array) const
virtual PrimitiveSet * | operator() (const PrimitiveSet *primitives) const
virtual Shape * | operator() (const Shape *shape) const

## Protected Attributes

CopyFlags | _flags

## Detailed Description

Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clone operation.

## Member Typedef Documentation

typedef unsigned int osg::CopyOp::CopyFlags

## Member Enumeration Documentation

enum osg::CopyOp::Options

Enumeration values:

  SHALLOW_COPY |
  DEEP_COPY_OBJECTS |
  DEEP_COPY_NODES |
  DEEP_COPY_DRAWABLES |
  DEEP_COPY_STATESETS |
  DEEP_COPY_STATEATTRIBUTES |
  DEEP_COPY_TEXTURES |
  DEEP_COPY_IMAGES |
  DEEP_COPY_ARRAYS |
  DEEP_COPY_PRIMITIVES |
  DEEP_COPY_SHAPES |
  DEEP_COPY_ALL |

## Constructor & Destructor Documentation

osg::CopyOp::CopyOp | ( | CopyFlags | flags = `SHALLOW_COPY` | ) | `[inline]`

virtual osg::CopyOp::~CopyOp | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual Shape* osg::CopyOp::operator() | ( | const Shape * | shape | ) | const`[virtual]`

virtual PrimitiveSet* osg::CopyOp::operator() | ( | const PrimitiveSet * | primitives | ) | const`[virtual]`

virtual Array* osg::CopyOp::operator() | ( | const Array * | array | ) | const`[virtual]`

virtual Image* osg::CopyOp::operator() | ( | const Image * | image | ) | const`[virtual]`

virtual Texture* osg::CopyOp::operator() | ( | const Texture * | text | ) | const`[virtual]`

StateAttribute * CopyOp::operator() | ( | const StateAttribute * | attr | ) | const`[virtual]`

virtual StateSet* osg::CopyOp::operator() | ( | const StateSet * | stateset | ) | const`[virtual]`

virtual Drawable* osg::CopyOp::operator() | ( | const Drawable * | drawable | ) | const`[virtual]`

virtual Node* osg::CopyOp::operator() | ( | const Node * | node | ) | const`[virtual]`

virtual Object* osg::CopyOp::operator() | ( | const Object * | obj | ) | const`[virtual]`

Referenced * CopyOp::operator() | ( | const Referenced * | ref | ) | const`[virtual]`

## Member Data Documentation

CopyFlags osg::CopyOp::_flags `[protected]`

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

- CopyOp
- CopyOp.cpp