1 // Created on: 1999-09-24
2 // Created by: Sergey ZARITCHNY
3 // Copyright (c) 1999-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _QANewBRepNaming_HeaderFile
18 #define _QANewBRepNaming_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <TNaming_Evolution.hxx>
25 #include <Standard_Boolean.hxx>
27 class TNaming_Builder;
29 class TopLoc_Location;
30 class QANewBRepNaming_LoaderParent;
31 class QANewBRepNaming_Loader;
32 class QANewBRepNaming_TopNaming;
33 class QANewBRepNaming_Box;
34 class QANewBRepNaming_Prism;
35 class QANewBRepNaming_Revol;
36 class QANewBRepNaming_Cylinder;
37 class QANewBRepNaming_Sphere;
38 class QANewBRepNaming_BooleanOperation;
39 class QANewBRepNaming_BooleanOperationFeat;
40 class QANewBRepNaming_Common;
41 class QANewBRepNaming_Cut;
42 class QANewBRepNaming_Fuse;
43 class QANewBRepNaming_Fillet;
44 class QANewBRepNaming_Chamfer;
45 class QANewBRepNaming_ImportShape;
46 class QANewBRepNaming_Gluing;
47 class QANewBRepNaming_Intersection;
48 class QANewBRepNaming_Limitation;
51 //! Implements methods to load the Make Shape
52 //! operations in the naming data-structure (package
53 //! TNaming), which provides topological naming
54 //! facilities. Shape generation, modifications and
55 //! deletions are recorded in the data-framework
56 //! (package TDF) using the builder from package
65 Standard_EXPORT static void CleanStructure (const TDF_Label& theLabel);
67 Standard_EXPORT static void LoadNamedShape (TNaming_Builder& theBuilder, const TNaming_Evolution theEvol, const TopoDS_Shape& theOS, const TopoDS_Shape& theNS);
69 Standard_EXPORT static void Displace (const TDF_Label& theLabel, const TopLoc_Location& theLoc, const Standard_Boolean theWithOld);
85 friend class QANewBRepNaming_LoaderParent;
86 friend class QANewBRepNaming_Loader;
87 friend class QANewBRepNaming_TopNaming;
88 friend class QANewBRepNaming_Box;
89 friend class QANewBRepNaming_Prism;
90 friend class QANewBRepNaming_Revol;
91 friend class QANewBRepNaming_Cylinder;
92 friend class QANewBRepNaming_Sphere;
93 friend class QANewBRepNaming_BooleanOperation;
94 friend class QANewBRepNaming_BooleanOperationFeat;
95 friend class QANewBRepNaming_Common;
96 friend class QANewBRepNaming_Cut;
97 friend class QANewBRepNaming_Fuse;
98 friend class QANewBRepNaming_Fillet;
99 friend class QANewBRepNaming_Chamfer;
100 friend class QANewBRepNaming_ImportShape;
101 friend class QANewBRepNaming_Gluing;
102 friend class QANewBRepNaming_Intersection;
103 friend class QANewBRepNaming_Limitation;
113 #endif // _QANewBRepNaming_HeaderFile