/usr/include/oce/TDF_CopyTool.hxx is in liboce-ocaf-lite-dev 0.9.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _TDF_CopyTool_HeaderFile
#define _TDF_CopyTool_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _Handle_TDF_DataSet_HeaderFile
#include <Handle_TDF_DataSet.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class TDF_DataSet;
class TDF_RelocationTable;
class TDF_IDFilter;
class TDF_Label;
class TDF_LabelDataMap;
class TDF_AttributeDataMap;
class TDF_LabelMap;
class TDF_AttributeMap;
//! This class provides services to build, copy or <br>
//! paste a set of information. <br>
//! <br>
//! Copy methods: <br>
//! ------------- <br>
//! <br>
//! * Copy(aSourceDataSet, aTargetLabel, <br>
//! aRelocationTable) copies a source DataSet under <br>
//! its target place (see below: IMPORTANT NOTICE 1). <br>
//! <br>
//! * Copy(aSourceDataSet, anTargetLabel, <br>
//! aRelocationTable, aFilter) does the same job as <br>
//! the previous method. But <aFilter> gives a list of <br>
//! IDs for which a target attribute prevails over a <br>
//! source one. In this special case, the source <br>
//! attribute will be copied only if there will be no <br>
//! target attribute. <br>
//! <br>
//! <br>
//! IMPORTANT NOTICE : Label pre-binding <br>
//! ------------------ <br>
//! <br>
//! For it is possible to copy root labels in another <br>
//! place in the same Data or in a different one with <br>
//! other tags, it is necessary to inform the Copy <br>
//! algorithm about the target place. To do so: <br>
//! <br>
//! * first get or create new target root labels; <br>
//! <br>
//! * then bind them with the source root labels using <br>
//! the relocation table method: <br>
//! SetRelocation(aSourceLabel, aTargetLabel); <br>
//! <br>
//! * finally call Copy(...) with the relocation table <br>
//! previously set. In this way, this method will take <br>
//! these relocations in account. <br>
class TDF_CopyTool {
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
//! Copy <aSourceDataSet> with using and updating <br>
//! <aRelocationTable>. This method ignores target <br>
//! attributes privilege over source ones. <br>
Standard_EXPORT static void Copy(const Handle(TDF_DataSet)& aSourceDataSet,const Handle(TDF_RelocationTable)& aRelocationTable) ;
//! Copy <aSourceDataSet> using and updating <br>
//! <aRelocationTable>. Use <aPrivilegeFilter> to give <br>
//! a list of IDs for which the target attribute <br>
//! prevails over the source one. <br>
Standard_EXPORT static void Copy(const Handle(TDF_DataSet)& aSourceDataSet,const Handle(TDF_RelocationTable)& aRelocationTable,const TDF_IDFilter& aPrivilegeFilter) ;
//! Copy <aSourceDataSet> using and updating <br>
//! <aRelocationTable>. Use <aPrivilegeFilter> to give <br>
//! a list of IDs for which the target attribute <br>
//! prevails over the source one. If <br>
//! <setSelfContained> is set to true, every <br>
//! TDF_Reference will be replaced by the referenced <br>
//! structure according to <aRefFilter>. <br>
//! <br>
//! NB: <aRefFilter> is used only if <br>
//! <setSelfContained> is true. <br>//! Internal root label copy recursive method. <br>
Standard_EXPORT 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) ;
protected:
private:
//! Internal root label copy recursive method. <br>
Standard_EXPORT static void CopyLabels(const TDF_Label& aSLabel,TDF_Label& aTargetLabel,TDF_LabelDataMap& aLabMap,TDF_AttributeDataMap& aAttMap,const TDF_LabelMap& aSrcLabelMap,const TDF_AttributeMap& aSrcAttributeMap) ;
//! Internal attribute copy method. <br>
Standard_EXPORT static void CopyAttributes(const TDF_Label& aSLabel,TDF_Label& aTargetLabel,TDF_AttributeDataMap& aAttMap,const TDF_AttributeMap& aSrcAttributeMap) ;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|