X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_LinearEdge.hxx;h=b3fe7631037f4fb3955270c2d16c93d1fc93f5ea;hb=d5aa4efde29d902f7be1259d7603d36e95f61215;hp=34ca147eef93d160d6f03eccbb208b4a42a7286f;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_LinearEdge.hxx b/src/SMDS/SMDS_LinearEdge.hxx index 34ca147ee..b3fe76310 100644 --- a/src/SMDS/SMDS_LinearEdge.hxx +++ b/src/SMDS/SMDS_LinearEdge.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -27,42 +27,34 @@ #include "SMESH_SMDS.hxx" -#include "SMDS_MeshEdge.hxx" -#include +#include "SMDS_CellOfNodes.hxx" -class SMDS_EXPORT SMDS_LinearEdge: public SMDS_MeshEdge +class SMDS_EXPORT SMDS_LinearEdge: public SMDS_CellOfNodes { - public: SMDS_LinearEdge(const SMDS_MeshNode * node1, const SMDS_MeshNode * node2); - bool ChangeNodes(const SMDS_MeshNode * node1, const SMDS_MeshNode * node2); - void Print(std::ostream & OS) const; - virtual SMDSAbs_EntityType GetEntityType() const - { - return SMDSEntity_Edge; - } - virtual bool ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - return false; - } - int NbNodes() const; - int NbEdges() const; - friend bool operator<(const SMDS_LinearEdge& e1, const SMDS_LinearEdge& e2); + virtual SMDSAbs_ElementType GetType() const { return SMDSAbs_Edge; } + virtual SMDSAbs_GeometryType GetGeomType() const { return SMDSGeom_EDGE; } + virtual SMDSAbs_EntityType GetEntityType() const { return SMDSEntity_Edge; } + virtual bool ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes); + virtual int NbNodes() const; + virtual int NbEdges() const; + virtual int NbFaces() const; - /*! - * \brief Return node by its index - * \param ind - node index - * \retval const SMDS_MeshNode* - the node - */ - virtual const SMDS_MeshNode* GetNode(const int ind) const; + virtual int NbCornerNodes() const { return NbNodes(); } + virtual int GetNodeIndex( const SMDS_MeshNode* node ) const; -protected: - SMDS_ElemIteratorPtr - elementsIterator(SMDSAbs_ElementType type) const; + virtual bool IsPoly() const { return false; } + virtual bool IsQuadratic() const { return false; } + + virtual SMDS_ElemIteratorPtr nodesIterator() const; + virtual SMDS_NodeIteratorPtr nodeIterator() const; + + virtual const SMDS_MeshNode* GetNode(const int ind) const; protected: - const SMDS_MeshNode* myNodes[3]; + const SMDS_MeshNode* myNodes[2]; }; #endif