File: StepData_StepModel.hxx

package info (click to toggle)
opencascade 6.2-7
  • links: PTS
  • area: non-free
  • in suites: lenny
  • size: 444,652 kB
  • ctags: 256,750
  • sloc: cpp: 1,150,123; ansic: 225,762; tcl: 30,130; makefile: 12,619; sh: 7,958; xml: 3,981; lisp: 283; java: 212; csh: 203; perl: 15
file content (185 lines) | stat: -rw-r--r-- 6,097 bytes parent folder | download
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
// File generated by CPPExt (Transient)
//
//
//                     Copyright (C) 1991 - 2000 by  
//                      Matra Datavision SA.  All rights reserved.
//  
//                     Copyright (C) 2001 - 2004 by
//                     Open CASCADE SA.  All rights reserved.
// 
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//  
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.

#ifndef _StepData_StepModel_HeaderFile
#define _StepData_StepModel_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Handle_StepData_StepModel_HeaderFile
#include <Handle_StepData_StepModel.hxx>
#endif

#ifndef _Interface_EntityList_HeaderFile
#include <Interface_EntityList.hxx>
#endif
#ifndef _Interface_DataMapOfTransientInteger_HeaderFile
#include <Interface_DataMapOfTransientInteger.hxx>
#endif
#ifndef _Interface_InterfaceModel_HeaderFile
#include <Interface_InterfaceModel.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Standard_Transient_HeaderFile
#include <Handle_Standard_Transient.hxx>
#endif
#ifndef _Handle_Interface_InterfaceModel_HeaderFile
#include <Handle_Interface_InterfaceModel.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Standard_Type_HeaderFile
#include <Handle_Standard_Type.hxx>
#endif
#ifndef _Handle_Interface_Check_HeaderFile
#include <Handle_Interface_Check.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
#ifndef _Handle_TCollection_HAsciiString_HeaderFile
#include <Handle_TCollection_HAsciiString.hxx>
#endif
class Standard_NoSuchObject;
class Standard_Transient;
class Interface_InterfaceModel;
class Interface_EntityIterator;
class Standard_Type;
class Interface_Check;
class TCollection_HAsciiString;


//! Gives access to <br>
//! - entities in a STEP file, <br>
//! - the STEP file header. <br>
class StepData_StepModel : public Interface_InterfaceModel {

public:
 // Methods PUBLIC
 // 

//! Creates an empty STEP model with an empty header. <br>
Standard_EXPORT StepData_StepModel();

//! The standard reservation is completed for the map (id-num) <br>
Standard_EXPORT virtual  void Reservate(const Standard_Integer nbent) ;

//! returns entity given its rank. <br>
//!           Same as InterfaceEntity, but with a shorter name <br>
Standard_EXPORT   Handle_Standard_Transient Entity(const Standard_Integer num) const;

//! gets header from another Model (uses Header Protocol) <br>
Standard_EXPORT   void GetFromAnother(const Handle(Interface_InterfaceModel)& other) ;

//! Returns a New Empty Model, same type as <me>, i.e. StepModel <br>
Standard_EXPORT   Handle_Interface_InterfaceModel NewEmptyModel() const;

//! returns Header entities under the form of an iterator <br>
Standard_EXPORT   Interface_EntityIterator Header() const;

//! says if a Header entity has a specifed type <br>
Standard_EXPORT   Standard_Boolean HasHeaderEntity(const Handle(Standard_Type)& atype) const;

//! Returns Header entity with specified type, if there is <br>
Standard_EXPORT   Handle_Standard_Transient HeaderEntity(const Handle(Standard_Type)& atype) const;

//! Clears the Header <br>
Standard_EXPORT   void ClearHeader() ;

//! Adds an Entity to the Header <br>
Standard_EXPORT   void AddHeaderEntity(const Handle(Standard_Transient)& ent) ;

//! Specific Check, checks Header Items with HeaderProtocol <br>
Standard_EXPORT virtual  void VerifyCheck(Handle(Interface_Check)& ach) const;

//! Dumps the Header, with the Header Protocol of StepData. <br>
//!           If the Header Protocol is not defined, for each Header Entity, <br>
//!           prints its Type. Else sends the Header under the form of <br>
//!           HEADER Section of an Ascii Step File <br>
//!           <level> is not used because Header is not so big <br>
Standard_EXPORT   void DumpHeader(Standard_OStream& S,const Standard_Integer level = 0) const;

//! erases specific labels, i.e. clears the map (entity-ident) <br>
Standard_EXPORT   void ClearLabels() ;

//! Attaches an ident to an entity to produce a label <br>
//!           (does nothing if <ent> is not in <me>) <br>
Standard_EXPORT   void SetIdentLabel(const Handle(Standard_Transient)& ent,const Standard_Integer ident) ;

//! returns the label ident attached to an entity, 0 if not in me <br>
Standard_EXPORT   Standard_Integer IdentLabel(const Handle(Standard_Transient)& ent) const;

//! Prints label specific to STEP norm for a given entity, i.e. <br>
//!           if a LabelIdent has been recorded, its value with '#', else <br>
//!           the number in the model with '#' and between () <br>
Standard_EXPORT   void PrintLabel(const Handle(Standard_Transient)& ent,Standard_OStream& S) const;

//! Returns a string with the label attached to a given entity, <br>
//!           same form as for PrintLabel <br>
Standard_EXPORT   Handle_TCollection_HAsciiString StringLabel(const Handle(Standard_Transient)& ent) const;
//Standard_EXPORT ~StepData_StepModel();




 // Type management
 //
 Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
 //Standard_EXPORT Standard_Boolean	       IsKind(const Handle(Standard_Type)&) const;

protected:

 // Methods PROTECTED
 // 


 // Fields PROTECTED
 //


private: 

 // Methods PRIVATE
 // 


 // Fields PRIVATE
 //
Interface_EntityList theheader;
Interface_DataMapOfTransientInteger theidnums;


};





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


#endif