Open CASCADE Technology 7.8.2.dev
TDF_CopyTool Class Reference

This class provides services to build, copy or paste a set of information. More...

#include <TDF_CopyTool.hxx>

Static Public Member Functions

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

Detailed Description

This class provides services to build, copy or paste a set of information.

Copy methods:

  • Copy(aSourceDataSet, aTargetLabel, aRelocationTable) copies a source DataSet under its target place (see below: IMPORTANT NOTICE 1).
  • Copy(aSourceDataSet, anTargetLabel, 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.

Member Function Documentation

◆ Copy() [1/3]

static void TDF_CopyTool::Copy ( const Handle< TDF_DataSet > & aSourceDataSet,
const Handle< TDF_RelocationTable > & aRelocationTable )
static

Copy <aSourceDataSet> with using and updating <aRelocationTable>. This method ignores target attributes privilege over source ones.

◆ Copy() [2/3]

static void TDF_CopyTool::Copy ( const Handle< TDF_DataSet > & aSourceDataSet,
const Handle< TDF_RelocationTable > & aRelocationTable,
const TDF_IDFilter & aPrivilegeFilter )
static

Copy <aSourceDataSet> using and updating <aRelocationTable>. Use <aPrivilegeFilter> to give a list of IDs for which the target attribute prevails over the source one.

◆ Copy() [3/3]

static 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

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.


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