Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Data Structures
Interface_CopyTool.hxx File Reference
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Handle_Interface_InterfaceModel.hxx>
#include <Handle_Interface_CopyControl.hxx>
#include <Handle_Interface_CopyMap.hxx>
#include <Interface_BitMap.hxx>
#include <Interface_GeneralLib.hxx>
#include <Standard_Integer.hxx>
#include <TColStd_SequenceOfInteger.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_Standard_Transient.hxx>
#include <Handle_Interface_GeneralModule.hxx>
#include <Handle_Interface_Protocol.hxx>

Data Structures

class  Interface_CopyTool
 Performs Deep Copies of sets of Entities
Allows to perform Copy of Interface Entities from a Model to
another one. Works by calling general services GetFromAnother
and GetImplied.
Uses a CopyMap to bind a unique Result to each Copied Entity

It is possible to command Copies of Entities (and those they
reference) by call to the General Service Library, or to
enforce results for transfer of some Entities (calling Bind)

A Same CopyTool can be used for several successive Copies from
the same Model : either by restarting from scratch (e.g. to
copy different parts of a starting Model to several Targets),
or incremental : in that case, it is possible to know what is
the content of the last increment (defined by last call to
ClearLastFlags and queried by call to LastCopiedAfter)

Works in two times : first, create the list of copied Entities
second, pushes them to a target Model (manages also Model's
Header) or returns the Result as an Iterator, as desired

The core action (Copy) works by using ShallowCopy (method
attached to each class) and Copy from GeneralLib (itself using
dedicated tools). It can be redefined for specific actions.
More...