Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/smesh.git] / src / SMDS / SMDS_MeshNode.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_MeshNode_HeaderFile
17 #define _SMDS_MeshNode_HeaderFile
18
19 #ifndef _Standard_HeaderFile
20 #include <Standard.hxx>
21 #endif
22 #ifndef _Handle_SMDS_MeshNode_HeaderFile
23 #include "Handle_SMDS_MeshNode.hxx"
24 #endif
25
26 #ifndef _gp_Pnt_HeaderFile
27 #include <gp_Pnt.hxx>
28 #endif
29 #ifndef _SMDS_ListOfMeshElement_HeaderFile
30 #include "SMDS_ListOfMeshElement.hxx"
31 #endif
32 #ifndef _Handle_SMDS_Position_HeaderFile
33 #include "Handle_SMDS_Position.hxx"
34 #endif
35 #ifndef _SMDS_MeshElement_HeaderFile
36 #include "SMDS_MeshElement.hxx"
37 #endif
38 #ifndef _Standard_Integer_HeaderFile
39 #include <Standard_Integer.hxx>
40 #endif
41 #ifndef _Standard_Real_HeaderFile
42 #include <Standard_Real.hxx>
43 #endif
44 #ifndef _Standard_OStream_HeaderFile
45 #include <Standard_OStream.hxx>
46 #endif
47 #ifndef _Handle_SMDS_MeshElement_HeaderFile
48 #include "Handle_SMDS_MeshElement.hxx"
49 #endif
50 class SMDS_Position;
51 class gp_Pnt;
52 class SMDS_MeshElement;
53 class SMDS_ListOfMeshElement;
54
55
56 class SMDS_MeshNode : public SMDS_MeshElement {
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 SMDS_MeshNode(const Standard_Integer ID,const Standard_Real x,const Standard_Real y,const Standard_Real z);
79 Standard_EXPORT   void Print(Standard_OStream& OS) const;
80 Standard_EXPORT inline   Standard_Integer GetKey() const;
81 Standard_EXPORT inline   Standard_Real X() const;
82 Standard_EXPORT inline   Standard_Real Y() const;
83 Standard_EXPORT inline   Standard_Real Z() const;
84 Standard_EXPORT inline   gp_Pnt Pnt() const;
85 Standard_EXPORT inline   void SetPnt(const gp_Pnt& P) ;
86 Standard_EXPORT inline   void AddInverseElement(const Handle(SMDS_MeshElement)& ME) ;
87 Standard_EXPORT   void RemoveInverseElement(const Handle(SMDS_MeshElement)& parent) ;
88 Standard_EXPORT inline  const SMDS_ListOfMeshElement& InverseElements() const;
89 Standard_EXPORT inline   void ClearInverseElements() ;
90 Standard_EXPORT   void SetPosition(const Handle(SMDS_Position)& aPos) ;
91 Standard_EXPORT   Handle_SMDS_Position GetPosition() const;
92 Standard_EXPORT ~SMDS_MeshNode();
93
94
95
96
97  // Type management
98  //
99  Standard_EXPORT friend Handle_Standard_Type& SMDS_MeshNode_Type_();
100  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
101  Standard_EXPORT Standard_Boolean              IsKind(const Handle(Standard_Type)&) const;
102
103 protected:
104
105  // Methods PROTECTED
106  // 
107
108
109  // Fields PROTECTED
110  //
111
112
113 private: 
114
115  // Methods PRIVATE
116  // 
117
118
119  // Fields PRIVATE
120  //
121 gp_Pnt myPnt;
122 SMDS_ListOfMeshElement myInverseElements;
123 Handle_SMDS_Position myPosition;
124
125
126 };
127
128
129 #include "SMDS_MeshNode.lxx"
130
131
132
133 // other inline functions and methods (like "C++: function call" methods)
134 //
135
136
137 #endif