Salome HOME
NRI : First integration.
[modules/smesh.git] / src / SMESHDS / SMESHDS_Document.hxx
1 // File generated by CPPExt (Transient)
2 //
3 //                     Copyright (C) 1991,1995 by
4 //  
5 //                      MATRA DATAVISION, FRANCE
6 //  
7 // This software is furnished in accordance with the terms and conditions
8 // of the contract and with the inclusion of the above copyright notice.
9 // This software or any other copy thereof may not be provided or otherwise
10 // be made available to any other person. No title to an ownership of the
11 // software is hereby transferred.
12 //  
13 // At the termination of the contract, the software and all copies of this
14 // software must be deleted.
15 //
16 #ifndef _SMESHDS_Document_HeaderFile
17 #define _SMESHDS_Document_HeaderFile
18
19 #ifndef _Standard_HeaderFile
20 #include <Standard.hxx>
21 #endif
22 #ifndef _Handle_SMESHDS_Document_HeaderFile
23 #include "Handle_SMESHDS_Document.hxx"
24 #endif
25
26 #ifndef _Standard_Integer_HeaderFile
27 #include <Standard_Integer.hxx>
28 #endif
29 #ifndef _SMESHDS_DataMapOfIntegerMesh_HeaderFile
30 #include "SMESHDS_DataMapOfIntegerMesh.hxx"
31 #endif
32 #ifndef _SMESHDS_DataMapOfIntegerPtrHypothesis_HeaderFile
33 #include "SMESHDS_DataMapOfIntegerPtrHypothesis.hxx"
34 #endif
35 #ifndef _SMESHDS_DataMapIteratorOfDataMapOfIntegerMesh_HeaderFile
36 #include "SMESHDS_DataMapIteratorOfDataMapOfIntegerMesh.hxx"
37 #endif
38 #ifndef _SMESHDS_DataMapIteratorOfDataMapOfIntegerPtrHypothesis_HeaderFile
39 #include "SMESHDS_DataMapIteratorOfDataMapOfIntegerPtrHypothesis.hxx"
40 #endif
41 #ifndef _MMgt_TShared_HeaderFile
42 #include <MMgt_TShared.hxx>
43 #endif
44 #ifndef _Handle_SMESHDS_Mesh_HeaderFile
45 #include "Handle_SMESHDS_Mesh.hxx"
46 #endif
47 #ifndef _SMESHDS_PtrHypothesis_HeaderFile
48 #include "SMESHDS_PtrHypothesis.hxx"
49 #endif
50 #ifndef _Standard_Boolean_HeaderFile
51 #include <Standard_Boolean.hxx>
52 #endif
53 class SMESHDS_Mesh;
54
55
56 class SMESHDS_Document : public MMgt_TShared {
57
58 public:
59
60     inline void* operator new(size_t,void* anAddress) 
61       {
62         return anAddress;
63       }
64     inline void* operator new(size_t size) 
65       { 
66         return Standard::Allocate(size); 
67       }
68     inline void  operator delete(void *anAddress) 
69       { 
70         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
71       }
72 //    inline void  operator delete(void *anAddress, size_t size) 
73 //      { 
74 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
75 //      }
76  // Methods PUBLIC
77  // 
78 Standard_EXPORT SMESHDS_Document(const Standard_Integer UserID);
79 Standard_EXPORT   Standard_Integer NewMesh() ;
80 Standard_EXPORT   void RemoveMesh(const Standard_Integer MeshID) ;
81 Standard_EXPORT   Handle_SMESHDS_Mesh GetMesh(const Standard_Integer MeshID) ;
82 Standard_EXPORT   void AddHypothesis(const SMESHDS_PtrHypothesis& H) ;
83 Standard_EXPORT   void RemoveHypothesis(const Standard_Integer HypID) ;
84 Standard_EXPORT   SMESHDS_PtrHypothesis GetHypothesis(const Standard_Integer HypID) ;
85 Standard_EXPORT   Standard_Integer NbMeshes() ;
86 Standard_EXPORT   Standard_Integer NbHypothesis() ;
87 Standard_EXPORT   void InitMeshesIterator() ;
88 Standard_EXPORT   void NextMesh() ;
89 Standard_EXPORT   Standard_Boolean MoreMesh() ;
90 Standard_EXPORT   Handle_SMESHDS_Mesh CurrentMesh() ;
91 Standard_EXPORT   void InitHypothesisIterator() ;
92 Standard_EXPORT   void NextHypothesis() ;
93 Standard_EXPORT   Standard_Boolean MoreHypothesis() ;
94 Standard_EXPORT   SMESHDS_PtrHypothesis CurrentHypothesis() ;
95 Standard_EXPORT ~SMESHDS_Document();
96
97
98
99
100  // Type management
101  //
102  Standard_EXPORT friend Handle_Standard_Type& SMESHDS_Document_Type_();
103  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
104  Standard_EXPORT Standard_Boolean              IsKind(const Handle(Standard_Type)&) const;
105
106 protected:
107
108  // Methods PROTECTED
109  // 
110
111
112  // Fields PROTECTED
113  //
114
115
116 private: 
117
118  // Methods PRIVATE
119  // 
120
121
122  // Fields PRIVATE
123  //
124 Standard_Integer myUserID;
125 SMESHDS_DataMapOfIntegerMesh myMeshes;
126 SMESHDS_DataMapOfIntegerPtrHypothesis myHypothesis;
127 SMESHDS_DataMapIteratorOfDataMapOfIntegerMesh myMeshesIt;
128 SMESHDS_DataMapIteratorOfDataMapOfIntegerPtrHypothesis myHypothesisIt;
129
130
131 };
132
133
134
135
136
137 // other inline functions and methods (like "C++: function call" methods)
138 //
139
140
141 #endif