X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_MeshNode.hxx;h=10c1499cceb77356fcdc2d0ccf0e3d8c9c407f06;hb=bc9732c239da7261de6f236b744834d33404fc51;hp=e4ecc1f5cc872d04e5453ea829f3edde9702dbf2;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_MeshNode.hxx b/src/SMDS/SMDS_MeshNode.hxx index e4ecc1f5c..10c1499cc 100644 --- a/src/SMDS/SMDS_MeshNode.hxx +++ b/src/SMDS/SMDS_MeshNode.hxx @@ -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 // // // @@ -29,11 +29,21 @@ #include "SMDS_MeshElement.hxx" #include "SMDS_Position.hxx" +#include -#include +//#ifdef WNT +//#include +//#else +//#define SALOME_WNT_EXPORT +//#endif +#if defined WNT && defined WIN32 && defined SMDS_EXPORTS +#define SMDS_WNT_EXPORT __declspec( dllexport ) +#else +#define SMDS_WNT_EXPORT +#endif -class SMDS_MeshNode:public SMDS_MeshElement +class SMDS_WNT_EXPORT SMDS_MeshNode:public SMDS_MeshElement { public: @@ -46,7 +56,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; @@ -54,6 +65,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; @@ -61,7 +81,7 @@ class SMDS_MeshNode:public SMDS_MeshElement private: double myX, myY, myZ; SMDS_PositionPtr myPosition; - std::set myInverseElements; + NCollection_List myInverseElements; }; #endif