/usr/include/oce/TNaming.hxx is in liboce-ocaf-dev 0.17.2-2.
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 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | // 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 _TNaming_HeaderFile
#define _TNaming_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_TNaming_NamedShape.hxx>
#include <Handle_TopTools_HArray1OfShape.hxx>
#include <Standard_OStream.hxx>
#include <TNaming_Evolution.hxx>
#include <TNaming_NameType.hxx>
class TDF_Label;
class TopTools_DataMapOfShapeShape;
class TopLoc_Location;
class gp_Trsf;
class TNaming_NamedShape;
class TopoDS_Shape;
class TopTools_MapOfShape;
class TopTools_HArray1OfShape;
class TopoDS_Face;
class TopoDS_Wire;
class TopoDS_Solid;
class TopoDS_Shell;
class TDF_IDList;
class TNaming_CopyShape;
class TNaming_TranslateTool;
class TNaming_Translator;
class TNaming_NamedShape;
class TNaming_UsedShapes;
class TNaming_Builder;
class TNaming_Tool;
class TNaming_Iterator;
class TNaming_NewShapeIterator;
class TNaming_OldShapeIterator;
class TNaming_SameShapeIterator;
class TNaming_NamedShapeHasher;
class TNaming_MapOfNamedShape;
class TNaming_ListOfNamedShape;
class TNaming_Name;
class TNaming_Naming;
class TNaming_Selector;
class TNaming_DeltaOnRemoval;
class TNaming_DeltaOnModification;
class TNaming_RefShape;
class TNaming_DataMapOfShapePtrRefShape;
class TNaming_Scope;
class TNaming_Identifier;
class TNaming_Localizer;
class TNaming_ShapesSet;
class TNaming_IteratorOnShapesSet;
class TNaming_DataMapOfShapeShapesSet;
class TNaming_ListOfMapOfShape;
class TNaming_ListOfIndexedDataMapOfShapeListOfShape;
class TNaming_NamingTool;
class TNaming_StdMapNodeOfMapOfNamedShape;
class TNaming_MapIteratorOfMapOfNamedShape;
class TNaming_ListNodeOfListOfNamedShape;
class TNaming_ListIteratorOfListOfNamedShape;
class TNaming_DataMapNodeOfDataMapOfShapePtrRefShape;
class TNaming_DataMapIteratorOfDataMapOfShapePtrRefShape;
class TNaming_DataMapNodeOfDataMapOfShapeShapesSet;
class TNaming_DataMapIteratorOfDataMapOfShapeShapesSet;
class TNaming_ListNodeOfListOfMapOfShape;
class TNaming_ListIteratorOfListOfMapOfShape;
class TNaming_ListNodeOfListOfIndexedDataMapOfShapeListOfShape;
class TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape;
//! A topological attribute can be seen as a hook
//! into the topological structure. To this hook,
//! data can be attached and references defined.
//! It is used for keeping and access to
//! topological objects and their evolution. All
//! topological objects are stored in the one
//! user-protected TNaming_UsedShapes
//! attribute at the root label of the data
//! framework. This attribute contains map with all
//! topological shapes, used in this document.
//! To all other labels TNaming_NamedShape
//! attribute can be added. This attribute contains
//! references (hooks) to shapes from the
//! TNaming_UsedShapes attribute and evolution
//! of these shapes. TNaming_NamedShape
//! attribute contains a set of pairs of hooks: old
//! shape and new shape (see the figure below).
//! It allows not only get the topological shapes by
//! the labels, but also trace evolution of the
//! shapes and correctly resolve dependent
//! shapes by the changed one.
//! If shape is just-created, then the old shape for
//! accorded named shape is an empty shape. If
//! a shape is deleted, then the new shape in this named shape is empty.
//! Different algorithms may dispose sub-shapes
//! of the result shape at the individual label depending on necessity:
//! - If a sub-shape must have some extra attributes (material of
//! each face or color of each edge). In this case a specific sub-shape is
//! placed to the separate label (usually, sub-label of the result shape label)
//! with all attributes of this sub-shape.
//! - If topological naming is needed, a necessary and sufficient
//! (for selected sub-shapes identification) set of sub-shapes is
//! placed to the child labels of the result
//! shape label. As usual, as far as basic solids and closed shells are
//! concerned, all faces of the shape are disposed. Edges and vertices
//! sub-shapes can be identified as intersection of contiguous faces.
//! Modified/generated shapes may be placed to one named shape and
//! identified as this named shape and source named shape that also can be
//! identified with used algorithms.
//! TNaming_NamedShape may contain a few
//! pairs of hooks with the same evolution. In this
//! case topology shape, which belongs to the
//! named shape, is a compound of new shapes.
//! The data model contains both the topology
//! and the hooks, and functions handle both
//! topological entities and hooks. Consider the
//! case of a box function, which creates a solid
//! with six faces and six hooks. Each hook is
//! attached to a face. If you want, you can also
//! have this function create hooks for edges and
//! vertices as well as for faces. For the sake of
//! simplicity though, let's limit the example.
//! Not all functions can define explicit hooks for
//! all topological entities they create, but all
//! topological entities can be turned into hooks
//! when necessary. This is where topological naming is necessary.
class TNaming
{
public:
DEFINE_STANDARD_ALLOC
//! Subtituter les shapes sur les structures de source
//! vers cible
Standard_EXPORT static void Substitute (const TDF_Label& labelsource, const TDF_Label& labelcible, TopTools_DataMapOfShapeShape& mapOldNew) ;
//! Mise a jour des shapes du label et de ses fils en
//! tenant compte des substitutions decrite par
//! mapOldNew.
//!
//! Warning: le remplacement du shape est fait dans tous
//! les attributs qui le contiennent meme si ceux
//! ci ne sont pas associees a des sous-labels de <Label>.
Standard_EXPORT static void Update (const TDF_Label& label, TopTools_DataMapOfShapeShape& mapOldNew) ;
//! Application de la Location sur les shapes du label
//! et de ses sous labels.
Standard_EXPORT static void Displace (const TDF_Label& label, const TopLoc_Location& aLocation, const Standard_Boolean WithOld = Standard_True) ;
//! Remplace les shapes du label et des sous-labels
//! par des copies.
Standard_EXPORT static void ChangeShapes (const TDF_Label& label, TopTools_DataMapOfShapeShape& M) ;
//! Application de la transformation sur les shapes du
//! label et de ses sous labels.
//! Warning: le remplacement du shape est fait dans tous
//! les attributs qui le contiennent meme si ceux
//! ci ne sont pas associees a des sous-labels de <Label>.
Standard_EXPORT static void Transform (const TDF_Label& label, const gp_Trsf& aTransformation) ;
//! Replicates the named shape with the transformation <T>
//! on the label <L> (and sub-labels if necessary)
//! (TNaming_GENERATED is set)
Standard_EXPORT static void Replicate (const Handle(TNaming_NamedShape)& NS, const gp_Trsf& T, const TDF_Label& L) ;
//! Replicates the shape with the transformation <T>
//! on the label <L> (and sub-labels if necessary)
//! (TNaming_GENERATED is set)
Standard_EXPORT static void Replicate (const TopoDS_Shape& SH, const gp_Trsf& T, const TDF_Label& L) ;
//! Builds shape from map content
Standard_EXPORT static TopoDS_Shape MakeShape (const TopTools_MapOfShape& MS) ;
//! Find unique context of shape <S>
Standard_EXPORT static TopoDS_Shape FindUniqueContext (const TopoDS_Shape& S, const TopoDS_Shape& Context) ;
//! Find unique context of shape <S>,which is pure concatenation
//! of atomic shapes (Compound). The result is concatenation of
//! single contexts
Standard_EXPORT static TopoDS_Shape FindUniqueContextSet (const TopoDS_Shape& S, const TopoDS_Shape& Context, Handle(TopTools_HArray1OfShape)& Arr) ;
//! Subtitutes shape in source structure
Standard_EXPORT static Standard_Boolean SubstituteSShape (const TDF_Label& accesslabel, const TopoDS_Shape& From, TopoDS_Shape& To) ;
//! Returns True if outer wire is found and the found wire in <theWire>.
Standard_EXPORT static Standard_Boolean OuterWire (const TopoDS_Face& theFace, TopoDS_Wire& theWire) ;
//! Returns True if outer Shell is found and the found shell in <theShell>.
//! Print of TNaming enumeration
//! =============================
Standard_EXPORT static Standard_Boolean OuterShell (const TopoDS_Solid& theSolid, TopoDS_Shell& theShell) ;
//! Appends to <anIDList> the list of the attributes
//! IDs of this package. CAUTION: <anIDList> is NOT
//! cleared before use.
Standard_EXPORT static void IDList (TDF_IDList& anIDList) ;
//! Prints the evolution <EVOL> as a String on the
//! Stream <S> and returns <S>.
Standard_EXPORT static Standard_OStream& Print (const TNaming_Evolution EVOL, Standard_OStream& S) ;
//! Prints the name of name type <NAME> as a String on
//! the Stream <S> and returns <S>.
Standard_EXPORT static Standard_OStream& Print (const TNaming_NameType NAME, Standard_OStream& S) ;
//! Prints the content of UsedShapes private attribute as a String Table on
//! the Stream <S> and returns <S>.
Standard_EXPORT static Standard_OStream& Print (const TDF_Label& ACCESS, Standard_OStream& S) ;
protected:
private:
friend class TNaming_CopyShape;
friend class TNaming_TranslateTool;
friend class TNaming_Translator;
friend class TNaming_NamedShape;
friend class TNaming_UsedShapes;
friend class TNaming_Builder;
friend class TNaming_Tool;
friend class TNaming_Iterator;
friend class TNaming_NewShapeIterator;
friend class TNaming_OldShapeIterator;
friend class TNaming_SameShapeIterator;
friend class TNaming_NamedShapeHasher;
friend class TNaming_MapOfNamedShape;
friend class TNaming_ListOfNamedShape;
friend class TNaming_Name;
friend class TNaming_Naming;
friend class TNaming_Selector;
friend class TNaming_DeltaOnRemoval;
friend class TNaming_DeltaOnModification;
friend class TNaming_RefShape;
friend class TNaming_DataMapOfShapePtrRefShape;
friend class TNaming_Scope;
friend class TNaming_Identifier;
friend class TNaming_Localizer;
friend class TNaming_ShapesSet;
friend class TNaming_IteratorOnShapesSet;
friend class TNaming_DataMapOfShapeShapesSet;
friend class TNaming_ListOfMapOfShape;
friend class TNaming_ListOfIndexedDataMapOfShapeListOfShape;
friend class TNaming_NamingTool;
friend class TNaming_StdMapNodeOfMapOfNamedShape;
friend class TNaming_MapIteratorOfMapOfNamedShape;
friend class TNaming_ListNodeOfListOfNamedShape;
friend class TNaming_ListIteratorOfListOfNamedShape;
friend class TNaming_DataMapNodeOfDataMapOfShapePtrRefShape;
friend class TNaming_DataMapIteratorOfDataMapOfShapePtrRefShape;
friend class TNaming_DataMapNodeOfDataMapOfShapeShapesSet;
friend class TNaming_DataMapIteratorOfDataMapOfShapeShapesSet;
friend class TNaming_ListNodeOfListOfMapOfShape;
friend class TNaming_ListIteratorOfListOfMapOfShape;
friend class TNaming_ListNodeOfListOfIndexedDataMapOfShapeListOfShape;
friend class TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape;
};
#endif // _TNaming_HeaderFile
|