#include "SMDSAbs_ElementType.hxx"
#include "SMDS_MeshObject.hxx"
-#include "SMDS_Iterator.hxx"
+#include "SMDS_ElemIterator.hxx"
#include "SMDS_MeshElementIDFactory.hxx"
+//#ifdef WNT
+//#include <SALOME_WNT.hxx>
+//#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
+
#include <vector>
-#include <ostream>
+#include <iostream>
-using namespace std;
class SMDS_MeshNode;
class SMDS_MeshEdge;
class SMDS_MeshFace;
///////////////////////////////////////////////////////////////////////////////
/// Base class for elements
///////////////////////////////////////////////////////////////////////////////
-class SMDS_MeshElement:public SMDS_MeshObject
+class SMDS_WNT_EXPORT SMDS_MeshElement:public SMDS_MeshObject
{
public:
- SMDS_Iterator<const SMDS_MeshElement *> * nodesIterator() const;
- SMDS_Iterator<const SMDS_MeshElement *> * edgesIterator() const;
- SMDS_Iterator<const SMDS_MeshElement *> * facesIterator() const;
- virtual SMDS_Iterator<const SMDS_MeshElement *> *
+ SMDS_ElemIteratorPtr nodesIterator() const;
+ SMDS_ElemIteratorPtr edgesIterator() const;
+ SMDS_ElemIteratorPtr facesIterator() const;
+ virtual SMDS_ElemIteratorPtr
elementsIterator(SMDSAbs_ElementType type) const;
virtual int NbNodes() const;
///Return the type of the current element
virtual SMDSAbs_ElementType GetType() const = 0;
- friend ostream & operator <<(ostream & OS, const SMDS_MeshElement *);
+ virtual bool IsPoly() const { return false; };
+
+ friend std::ostream & operator <<(std::ostream & OS, const SMDS_MeshElement *);
friend bool SMDS_MeshElementIDFactory::BindID(int ID,SMDS_MeshElement*elem);
protected:
SMDS_MeshElement(int ID=-1);
- virtual void Print(ostream & OS) const;
+ virtual void Print(std::ostream & OS) const;
private:
int myID;