PAL13460 (PAL EDF 301 force the mesh to go through a point)

get only unique nodes of SMDS_PolyhedralVolumeOfNodes
This commit is contained in:
eap 2007-02-28 15:00:19 +00:00
parent 562a06c2ff
commit 6e1697da17

View File

@ -22,10 +22,10 @@
#include "DriverUNV_W_SMDS_Mesh.h" #include "DriverUNV_W_SMDS_Mesh.h"
#include "SMDS_Mesh.hxx" #include "SMDS_Mesh.hxx"
#include "SMESHDS_GroupBase.hxx"
//#include "SMESH_Group.hxx"
#include "SMDS_QuadraticEdge.hxx" #include "SMDS_QuadraticEdge.hxx"
#include "SMDS_QuadraticFaceOfNodes.hxx" #include "SMDS_QuadraticFaceOfNodes.hxx"
#include "SMDS_PolyhedralVolumeOfNodes.hxx"
#include "SMESHDS_GroupBase.hxx"
#include "utilities.h" #include "utilities.h"
@ -158,9 +158,16 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
TElementLab aLabel = anElem->GetID(); TElementLab aLabel = anElem->GetID();
int aNbNodes = anElem->NbNodes(); int aNbNodes = anElem->NbNodes();
aConnect.resize(aNbNodes);
SMDS_ElemIteratorPtr aNodesIter = anElem->nodesIterator(); SMDS_ElemIteratorPtr aNodesIter = anElem->nodesIterator();
if ( anElem->IsPoly() ) {
if ( const SMDS_PolyhedralVolumeOfNodes* ph =
dynamic_cast<const SMDS_PolyhedralVolumeOfNodes*> (anElem))
{
aNbNodes = ph->NbUniqueNodes();
aNodesIter = ph->uniqueNodesIterator();
}
}
aConnect.resize(aNbNodes);
GetConnect(aNodesIter,aConnect); GetConnect(aNodesIter,aConnect);
int anId = -1; int anId = -1;