# ApplicationFramework
TKLCAF
TDF

# TDF_CopyTool Class Reference

This class provides services to build, copy or
paste a set of information.
Copy methods:
-------------
* Copy(aSourceDataSet, aTargetLabel, <br> aRelocationTable) copies a source DataSet under
its target place (see below: IMPORTANT NOTICE 1).
* Copy(aSourceDataSet, anTargetLabel, <br> aRelocationTable, aFilter) does the same job as
the previous method. But <afilter> gives a list of
IDs for which a target attribute prevails over a
source one. In this special case, the source
attribute will be copied only if there will be no
target attribute.
IMPORTANT NOTICE : Label pre-binding
------------------
For it is possible to copy root labels in another
place in the same Data or in a different one with
other tags, it is necessary to inform the Copy
algorithm about the target place. To do so:
* first get or create new target root labels;
* then bind them with the source root labels using
the relocation table method:
SetRelocation(aSourceLabel, aTargetLabel);
* finally call Copy(...) with the relocation table
previously set. In this way, this method will take
these relocations in account.
.

`#include <TDF_CopyTool.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)

## Static Public Member Functions

static Standard_EXPORT void | Copy (const Handle(TDF_DataSet)&aSourceDataSet, const Handle(TDF_RelocationTable)&aRelocationTable)
| Copy <asourcedataset> with using and updating <arelocationtable>. This method ignores target attributes privilege over source ones. .
static Standard_EXPORT void | Copy (const Handle(TDF_DataSet)&aSourceDataSet, const Handle(TDF_RelocationTable)&aRelocationTable, const TDF_IDFilter &aPrivilegeFilter)
| Copy <asourcedataset> using and updating <arelocationtable>. Use <aprivilegefilter> to give a list of IDs for which the target attribute prevails over the source one. .
static Standard_EXPORT void | Copy (const Handle(TDF_DataSet)&aSourceDataSet, const Handle(TDF_RelocationTable)&aRelocationTable, const TDF_IDFilter &aPrivilegeFilter, const TDF_IDFilter &aRefFilter, const Standard_Boolean setSelfContained)

Copy <asourcedataset> using and updating
<arelocationtable>. Use <aprivilegefilter> to give
a list of IDs for which the target attribute
prevails over the source one. If
<setselfcontained> is set to true, every
TDF_Reference will be replaced by the referenced
structure according to <areffilter>.
NB: <areffilter> is used only if
<setselfcontained> is true.
//! Internal root label copy recursive method.
.

## Static Private Member Functions

static Standard_EXPORT void | CopyLabels (const TDF_Label &aSLabel, TDF_Label &aTargetLabel, TDF_LabelDataMap &aLabMap, TDF_AttributeDataMap &aAttMap, const TDF_LabelMap &aSrcLabelMap, const TDF_AttributeMap &aSrcAttributeMap)
| Internal root label copy recursive method. .
static Standard_EXPORT void | CopyAttributes (const TDF_Label &aSLabel, TDF_Label &aTargetLabel, TDF_AttributeDataMap &aAttMap, const TDF_AttributeMap &aSrcAttributeMap)
| Internal attribute copy method. .

## Member Function Documentation

static Standard_EXPORT void TDF_CopyTool::Copy | ( | const Handle(TDF_DataSet)& | aSourceDataSet,
|  | const Handle(TDF_RelocationTable)& | aRelocationTable,
|  | const TDF_IDFilter & | aPrivilegeFilter,
|  | const TDF_IDFilter & | aRefFilter,
|  | const Standard_Boolean | setSelfContained
| ) | `[static]`

static Standard_EXPORT void TDF_CopyTool::Copy | ( | const Handle(TDF_DataSet)& | aSourceDataSet,
|  | const Handle(TDF_RelocationTable)& | aRelocationTable,
|  | const TDF_IDFilter & | aPrivilegeFilter
| ) | `[static]`

static Standard_EXPORT void TDF_CopyTool::Copy | ( | const Handle(TDF_DataSet)& | aSourceDataSet,
|  | const Handle(TDF_RelocationTable)& | aRelocationTable
| ) | `[static]`

static Standard_EXPORT void TDF_CopyTool::CopyAttributes | ( | const TDF_Label & | aSLabel,
|  | TDF_Label & | aTargetLabel,
|  | TDF_AttributeDataMap & | aAttMap,
|  | const TDF_AttributeMap & | aSrcAttributeMap
| ) | `[static, private]`

static Standard_EXPORT void TDF_CopyTool::CopyLabels | ( | const TDF_Label & | aSLabel,
|  | TDF_Label & | aTargetLabel,
|  | TDF_LabelDataMap & | aLabMap,
|  | TDF_AttributeDataMap & | aAttMap,
|  | const TDF_LabelMap & | aSrcLabelMap,
|  | const TDF_AttributeMap & | aSrcAttributeMap
| ) | `[static, private]`

void TDF_CopyTool::operator delete | ( | void * | anAddress | ) | `[inline]`

void* TDF_CopyTool::operator new | ( | size_t | size | ) | `[inline]`

void* TDF_CopyTool::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

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

- TDF_CopyTool.hxx