// 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
//
//
//
#include "SMDS_VolumeOfNodes.hxx"
-class SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
+#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
+#define SMDS_WNT_EXPORT __declspec( dllexport )
+#else
+#define SMDS_WNT_EXPORT
+#endif
+class SMDS_WNT_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
{
public:
SMDS_PolyhedralVolumeOfNodes (std::vector<const SMDS_MeshNode *> nodes,
virtual SMDSAbs_ElementType GetType() const;
virtual bool IsPoly() const { return true; };
- bool ChangeNodes (std::vector<const SMDS_MeshNode *> nodes,
- std::vector<int> quantities);
+ bool ChangeNodes (const std::vector<const SMDS_MeshNode *> & nodes,
+ const std::vector<int> & quantities);
- //virtual int NbNodes() const;
+ virtual int NbNodes() const;
virtual int NbEdges() const;
virtual int NbFaces() const;
// 1 <= face_ind <= NbFaces()
// 1 <= node_ind <= NbFaceNodes()
+ const std::vector<int> & GetQuanities() const { return myQuantities; }
+
virtual void Print (std::ostream & OS) const;
- protected:
- //virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const;
+ /*!
+ * \brief Return node by its index
+ */
+ virtual const SMDS_MeshNode* GetNode(const int ind) const;
+
+ /*!
+ * \brief Return iterator on unique nodes
+ */
+ SMDS_ElemIteratorPtr uniqueNodesIterator() const;
+ /*!
+ * \brief Return nb of unique nodes
+ */
+ int NbUniqueNodes() const { return myNbNodes; }
+
+protected:
+ SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
private:
// usage disabled