# CopyOp.cpp File Reference

`#include <osg/CopyOp>`
`#include <osg/Node>`
`#include <osg/StateSet>`
`#include <osg/Texture>`
`#include <osg/Drawable>`
`#include <osg/Array>`
`#include <osg/PrimitiveSet>`
`#include <osg/Shape>`

Include dependency graph for CopyOp.cpp:

## Defines

#define | COPY_OP(TYPE, FLAG)

## Functions

| COPY_OP (Object, DEEP_COPY_OBJECTS)
| COPY_OP (Node, DEEP_COPY_NODES)
| COPY_OP (Drawable, DEEP_COPY_DRAWABLES)
| COPY_OP (StateSet, DEEP_COPY_STATESETS)
| COPY_OP (Texture, DEEP_COPY_TEXTURES)
| COPY_OP (Image, DEEP_COPY_IMAGES)
| COPY_OP (Array, DEEP_COPY_DRAWABLES)
| COPY_OP (PrimitiveSet, DEEP_COPY_PRIMITIVES)
| COPY_OP (Shape, DEEP_COPY_SHAPES)

## Define Documentation

#define COPY_OP | ( | TYPE,
|  | FLAG |  | ) |

Value:

    TYPE* CopyOp::operator() (const TYPE* obj) const \
    { \
        if (obj && _flags&FLAG) \
            return dynamic_cast<TYPE*>( obj->clone(*this) ); \
        else \
            return const_cast<TYPE*>(obj); \
    }

## Function Documentation

COPY_OP | ( | Shape | ,
|  | DEEP_COPY_SHAPES |
| ) |

COPY_OP | ( | PrimitiveSet | ,
|  | DEEP_COPY_PRIMITIVES |
| ) |

COPY_OP | ( | Array | ,
|  | DEEP_COPY_DRAWABLES |
| ) |

COPY_OP | ( | Image | ,
|  | DEEP_COPY_IMAGES |
| ) |

COPY_OP | ( | Texture | ,
|  | DEEP_COPY_TEXTURES |
| ) |

COPY_OP | ( | StateSet | ,
|  | DEEP_COPY_STATESETS |
| ) |

COPY_OP | ( | Drawable | ,
|  | DEEP_COPY_DRAWABLES |
| ) |

COPY_OP | ( | Node | ,
|  | DEEP_COPY_NODES |
| ) |

COPY_OP | ( | Object | ,
|  | DEEP_COPY_OBJECTS |
| ) |