Salome HOME
Distributed Geom, Smesh. Modifications by Anthony GEAY.
[modules/smesh.git] / src / SMDS / SMDS_MeshNode.hxx
index fec75242ed25207965628935ca18bcc208225170..d195fbdfdef8b91326cda458ad31f764c8a9d508 100644 (file)
@@ -17,7 +17,7 @@
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
 #ifndef _SMDS_MeshNode_HeaderFile
 #define _SMDS_MeshNode_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 #include "SMDS_Position.hxx"
 #include <NCollection_List.hxx>
 
-class SMDS_MeshNode:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
 {
 
   public:
@@ -44,7 +46,8 @@ class SMDS_MeshNode:public SMDS_MeshElement
        void RemoveInverseElement(const SMDS_MeshElement * parent);
        void ClearInverseElements();
        bool emptyInverseElements();
-       SMDS_ElemIteratorPtr GetInverseElementIterator() const; 
+       SMDS_ElemIteratorPtr GetInverseElementIterator(SMDSAbs_ElementType type=SMDSAbs_All) const;
+        int NbInverseNodes(SMDSAbs_ElementType type=SMDSAbs_All) const;
        void SetPosition(const SMDS_PositionPtr& aPos);
        const SMDS_PositionPtr& GetPosition() const;
        SMDSAbs_ElementType GetType() const;
@@ -52,6 +55,15 @@ class SMDS_MeshNode:public SMDS_MeshElement
        void setXYZ(double x, double y, double z);
        friend bool operator<(const SMDS_MeshNode& e1, const SMDS_MeshNode& e2);
 
+  /*!
+   * \brief Return node by its index
+    * \param ind - node index
+    * \retval const SMDS_MeshNode* - the node
+   * 
+   * Index is wrapped if it is out of a valid range
+   */
+  virtual const SMDS_MeshNode* GetNode(const int) const { return this; }
+
   protected:
        SMDS_ElemIteratorPtr
                elementsIterator(SMDSAbs_ElementType type) const;