Salome HOME
correct a small bug found by the EDF developpement team (PN and AT) :
[modules/smesh.git] / src / SMDS / SMDSEdit_Transform.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   : SMDSEdit_Transform.hxx
24 //  Module : SMESH
25
26 #ifndef _SMDSEdit_Transform_HeaderFile
27 #define _SMDSEdit_Transform_HeaderFile
28
29 #ifndef _Handle_SMDS_Mesh_HeaderFile
30 #include "Handle_SMDS_Mesh.hxx"
31 #endif
32 #ifndef _gp_Trsf_HeaderFile
33 #include <gp_Trsf.hxx>
34 #endif
35 #ifndef _SMDS_ListOfMeshElement_HeaderFile
36 #include "SMDS_ListOfMeshElement.hxx"
37 #endif
38 class SMDS_Mesh;
39 class gp_Trsf;
40 class SMDS_ListOfMeshElement;
41
42
43 #ifndef _Standard_HeaderFile
44 #include <Standard.hxx>
45 #endif
46 #ifndef _Standard_Macro_HeaderFile
47 #include <Standard_Macro.hxx>
48 #endif
49
50 class SMDSEdit_Transform  {
51
52 public:
53
54     inline void* operator new(size_t,void* anAddress) 
55       {
56         return anAddress;
57       }
58     inline void* operator new(size_t size) 
59       { 
60         return Standard::Allocate(size); 
61       }
62     inline void  operator delete(void *anAddress) 
63       { 
64         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
65       }
66 //    inline void  operator delete(void *anAddress, size_t size) 
67 //      { 
68 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
69 //      }
70  // Methods PUBLIC
71  // 
72 Standard_EXPORT SMDSEdit_Transform(const Handle(SMDS_Mesh)& aMesh,const gp_Trsf& aTrsf);
73 Standard_EXPORT SMDSEdit_Transform(const Handle(SMDS_Mesh)& aMesh,const SMDS_ListOfMeshElement& aListOfME,const gp_Trsf& aTrsf);
74 Standard_EXPORT   void Perform() ;
75 Standard_EXPORT   void SetTrsf(const gp_Trsf& aTrsf) ;
76 Standard_EXPORT   gp_Trsf GetTrsf() const;
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 Handle_SMDS_Mesh myMesh;
101 gp_Trsf myTrsf;
102 SMDS_ListOfMeshElement myListOfME;
103
104
105 };
106
107
108
109
110
111 // other inline functions and methods (like "C++: function call" methods)
112 //
113
114
115 #endif