summaryrefslogtreecommitdiff
path: root/inc/TNaming_Naming.hxx
blob: ae4deec1adefba466fbd049ae8c7474214bdeb9f (plain)
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
// 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_Naming_HeaderFile
#define _TNaming_Naming_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_TNaming_Naming_HeaderFile
#include <Handle_TNaming_Naming.hxx>
#endif

#ifndef _TNaming_Name_HeaderFile
#include <TNaming_Name.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Handle_TNaming_NamedShape_HeaderFile
#include <Handle_TNaming_NamedShape.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Handle_TDF_DataSet_HeaderFile
#include <Handle_TDF_DataSet.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class Standard_GUID;
class TDF_Label;
class TNaming_NamedShape;
class TopoDS_Shape;
class TNaming_Name;
class TDF_LabelMap;
class TDF_Attribute;
class TDF_RelocationTable;
class TDF_DataSet;
class TDF_IDFilter;
class TDF_AttributeIndexedMap;


//!  This attribute  store the  topological  naming of any <br>
//!           selected   shape,  when this  shape  is  not  already <br>
//!           attached to a specific label. This class is also used <br>
//!            to solve  it when  the argumentsof the  toipological <br>
//!           naming are modified. <br>
class TNaming_Naming : public TDF_Attribute {

public:

  //! following code from TDesignStd <br>
//!          ============================== <br>
  Standard_EXPORT   static const Standard_GUID& GetID() ;
  
  Standard_EXPORT   static  Handle_TNaming_Naming Insert(const TDF_Label& under) ;
  //! Creates  a   Namimg  attribute  at  label <where>   to <br>
//!             identify  the   shape   <Selection>.    Geometry is <br>
//!          Standard_True  if   we  are  only  interested  by  the <br>
//!                 underlying   geometry     (e.g.     setting   a <br>
//!          constraint). <Context> is  used to find neighbours  of <br>
//!          <S> when required by the naming. <br>
//!          If KeepOrientation is True the Selection orientation is taken <br>
//!          into  account. BNproblem == True points out that Context sub-shapes <br>
//!          in  DF have orientation differences with Context shape itself. <br>//! instance method <br>
//!          =============== <br>
  Standard_EXPORT   static  Handle_TNaming_NamedShape Name(const TDF_Label& where,const TopoDS_Shape& Selection,const TopoDS_Shape& Context,const Standard_Boolean Geometry = Standard_False,const Standard_Boolean KeepOrientation = Standard_False,const Standard_Boolean BNproblem = Standard_False) ;
  
  Standard_EXPORT   TNaming_Naming();
  
  Standard_EXPORT     Standard_Boolean IsDefined() const;
  
  Standard_EXPORT    const TNaming_Name& GetName() const;
  
  Standard_EXPORT     TNaming_Name& ChangeName() ;
  //!  regenerate only the Name associated to me <br>
  Standard_EXPORT     Standard_Boolean Regenerate(TDF_LabelMap& scope) ;
  //! Regenerate recursively the  whole name with scope.  If <br>
//!          scope  is empty it  means that  all the labels  of the <br>
//!          framework are valid. <br>
  Standard_EXPORT     Standard_Boolean Solve(TDF_LabelMap& scope) ;
  //! Deferred methods from TDF_Attribute <br>
//!          =================================== <br>
  Standard_EXPORT   virtual const Standard_GUID& ID() const;
  
  Standard_EXPORT     Handle_TDF_Attribute NewEmpty() const;
  
  Standard_EXPORT     void Restore(const Handle(TDF_Attribute)& With) ;
  
  Standard_EXPORT     void Paste(const Handle(TDF_Attribute)& Into,const Handle(TDF_RelocationTable)& RT) const;
  
  Standard_EXPORT   virtual  void References(const Handle(TDF_DataSet)& aDataSet) const;
  
  Standard_EXPORT   virtual  Standard_OStream& Dump(Standard_OStream& anOS) const;
  
  Standard_EXPORT   virtual  void ExtendedDump(Standard_OStream& anOS,const TDF_IDFilter& aFilter,TDF_AttributeIndexedMap& aMap) const;




  DEFINE_STANDARD_RTTI(TNaming_Naming)

protected:




private: 


TNaming_Name myName;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif