Salome HOME
Remove OCC_LIBS from LDFLAGS
[modules/smesh.git] / src / SMDS / SMDSControl.hxx
1 //  SMESH SMDS : implementaion of Salome mesh data structure
2 //
3 //  Copyright (C) 2003  OPEN CASCADE
4 // 
5 //  This library is free software; you can redistribute it and/or 
6 //  modify it under the terms of the GNU Lesser General Public 
7 //  License as published by the Free Software Foundation; either 
8 //  version 2.1 of the License. 
9 // 
10 //  This library is distributed in the hope that it will be useful, 
11 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
12 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
13 //  Lesser General Public License for more details. 
14 // 
15 //  You should have received a copy of the GNU Lesser General Public 
16 //  License along with this library; if not, write to the Free Software 
17 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
18 // 
19 //  See http://www.opencascade.org or email : webmaster@opencascade.org 
20 //
21 //
22 //
23 //  File   : SMDSControl.hxx
24 //  Module : SMESH
25
26 #ifndef _SMDSControl_HeaderFile
27 #define _SMDSControl_HeaderFile
28
29 #ifndef _Standard_Integer_HeaderFile
30 #include <Standard_Integer.hxx>
31 #endif
32 #ifndef _Handle_SMDS_Mesh_HeaderFile
33 #include "Handle_SMDS_Mesh.hxx"
34 #endif
35 #ifndef _Handle_SMDS_MeshElement_HeaderFile
36 #include "Handle_SMDS_MeshElement.hxx"
37 #endif
38 class SMDS_Mesh;
39 class SMDS_MeshElement;
40 class SMDSControl_MeshBoundary;
41 class SMDSControl_BoundaryEdges;
42 class SMDSControl_BoundaryFaces;
43
44
45 #ifndef _Standard_HeaderFile
46 #include <Standard.hxx>
47 #endif
48 #ifndef _Standard_Macro_HeaderFile
49 #include <Standard_Macro.hxx>
50 #endif
51
52 class SMDSControl  {
53
54 public:
55
56     inline void* operator new(size_t,void* anAddress) 
57       {
58         return anAddress;
59       }
60     inline void* operator new(size_t size) 
61       { 
62         return Standard::Allocate(size); 
63       }
64     inline void  operator delete(void *anAddress) 
65       { 
66         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
67       }
68 //    inline void  operator delete(void *anAddress, size_t size) 
69 //      { 
70 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
71 //      }
72  // Methods PUBLIC
73  // 
74 Standard_EXPORT static  Standard_Integer ComputeNeighborFaces(const Handle(SMDS_Mesh)& M,const Handle(SMDS_MeshElement)& ME,const Standard_Integer idnode1,const Standard_Integer idnode2) ;
75 Standard_EXPORT static  Standard_Integer ComputeNeighborVolumes(const Handle(SMDS_Mesh)& M,const Handle(SMDS_MeshElement)& ME,const Standard_Integer idnode1,const Standard_Integer idnode2,const Standard_Integer idnode3) ;
76 Standard_EXPORT static  Standard_Integer ComputeNeighborVolumes(const Handle(SMDS_Mesh)& M,const Handle(SMDS_MeshElement)& ME,const Standard_Integer idnode1,const Standard_Integer idnode2,const Standard_Integer idnode3,const Standard_Integer idnode4) ;
77
78
79
80
81
82 protected:
83
84  // Methods PROTECTED
85  // 
86
87
88  // Fields PROTECTED
89  //
90
91
92 private: 
93
94  // Methods PRIVATE
95  // 
96
97
98  // Fields PRIVATE
99  //
100
101 friend class SMDSControl_MeshBoundary;
102 friend class SMDSControl_BoundaryEdges;
103 friend class SMDSControl_BoundaryFaces;
104
105 };
106
107
108
109
110
111 // other inline functions and methods (like "C++: function call" methods)
112 //
113
114
115 #endif