Salome HOME
yfr : Merge with v1.2
[modules/smesh.git] / src / SMDS / SMDS_MeshTetrahedron.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 _SMDS_MeshTetrahedron_HeaderFile
17 #define _SMDS_MeshTetrahedron_HeaderFile
18
19 #ifndef _Standard_HeaderFile
20 #include <Standard.hxx>
21 #endif
22 #ifndef _Handle_SMDS_MeshTetrahedron_HeaderFile
23 #include "Handle_SMDS_MeshTetrahedron.hxx"
24 #endif
25
26 #ifndef _Standard_Integer_HeaderFile
27 #include <Standard_Integer.hxx>
28 #endif
29 #ifndef _SMDS_MeshVolume_HeaderFile
30 #include "SMDS_MeshVolume.hxx"
31 #endif
32 #ifndef _Standard_Address_HeaderFile
33 #include <Standard_Address.hxx>
34 #endif
35 class Standard_ConstructionError;
36
37
38 class SMDS_MeshTetrahedron : public SMDS_MeshVolume {
39
40 public:
41
42     inline void* operator new(size_t,void* anAddress) 
43       {
44         return anAddress;
45       }
46     inline void* operator new(size_t size) 
47       { 
48         return Standard::Allocate(size); 
49       }
50     inline void  operator delete(void *anAddress) 
51       { 
52         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
53       }
54 //    inline void  operator delete(void *anAddress, size_t size) 
55 //      { 
56 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
57 //      }
58  // Methods PUBLIC
59  // 
60 Standard_EXPORT SMDS_MeshTetrahedron(const Standard_Integer ID,const Standard_Integer idnode1,const Standard_Integer idnode2,const Standard_Integer idnode3,const Standard_Integer idnode4);
61 Standard_EXPORT   void GetFaceDefinedByNodes(const Standard_Integer rank,const Standard_Address idnode,Standard_Integer& nb) const;
62 Standard_EXPORT   void GetEdgeDefinedByNodes(const Standard_Integer rank,Standard_Integer& idnode1,Standard_Integer& idnode2) const;
63 Standard_EXPORT inline   void ComputeKey() ;
64 Standard_EXPORT inline   Standard_Address GetConnections() const;
65 Standard_EXPORT inline   Standard_Integer GetConnection(const Standard_Integer rank) const;
66 Standard_EXPORT inline   Standard_Integer NbEdges() const;
67 Standard_EXPORT inline   Standard_Integer NbFaces() const;
68 Standard_EXPORT static  Standard_Integer NodesOfFace(const Standard_Integer rankface,const Standard_Integer ranknode) ;
69 Standard_EXPORT   Standard_Integer NodesOfEdge(const Standard_Integer rankedge,const Standard_Integer ranknode) const;
70 Standard_EXPORT ~SMDS_MeshTetrahedron();
71
72
73
74
75  // Type management
76  //
77  Standard_EXPORT friend Handle_Standard_Type& SMDS_MeshTetrahedron_Type_();
78  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
79  Standard_EXPORT Standard_Boolean              IsKind(const Handle(Standard_Type)&) const;
80
81 protected:
82
83  // Methods PROTECTED
84  // 
85
86
87  // Fields PROTECTED
88  //
89
90
91 private: 
92
93  // Methods PRIVATE
94  // 
95 Standard_EXPORT   void SetConnections(const Standard_Integer idnode1,const Standard_Integer idnode2,const Standard_Integer idnode3,const Standard_Integer idnode4) ;
96
97
98  // Fields PRIVATE
99  //
100 Standard_Integer myNodes[4];
101
102
103 };
104
105
106 #include "SMDS_MeshTetrahedron.lxx"
107
108
109
110 // other inline functions and methods (like "C++: function call" methods)
111 //
112
113
114 #endif