-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 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
// 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
TRecord aRec;
aRec.label = anElem->GetID();
aRec.node_labels.reserve(aNbNodes);
- SMDS_ElemIteratorPtr aNodesIter;
- aNodesIter = anElem->nodesIteratorToUNV();
if( anElem->IsQuadratic() ) {
aRec.fe_descriptor_id = 22;
} else {
aRec.fe_descriptor_id = 11;
}
+ SMDS_NodeIteratorPtr aNodesIter = anElem->nodesIteratorToUNV();
while( aNodesIter->more())
{
- const SMDS_MeshElement* aNode = aNodesIter->next();
- aRec.node_labels.push_back(aNode->GetID());
+ const SMDS_MeshNode* aNode = aNodesIter->next();
+ aRec.node_labels.push_back( aNode->GetID() );
}
aDataSet2412.push_back(aRec);
}
TRecord aRec;
aRec.label = anElem->GetID();
aRec.node_labels.reserve(aNbNodes);
- SMDS_ElemIteratorPtr aNodesIter;
- aNodesIter = anElem->nodesIteratorToUNV();
- for(; aNodesIter->more();){
- const SMDS_MeshElement* aNode = aNodesIter->next();
- aRec.node_labels.push_back(aNode->GetID());
+ SMDS_NodeIteratorPtr aNodesIter = anElem->nodesIteratorToUNV();
+ while( aNodesIter->more() ) {
+ const SMDS_MeshNode* aNode = aNodesIter->next();
+ aRec.node_labels.push_back( aNode->GetID() );
}
- switch(aNbNodes){
- case 3:
- aRec.fe_descriptor_id = 41;
- break;
- case 4:
- aRec.fe_descriptor_id = 44;
- break;
- case 6:
- aRec.fe_descriptor_id = 42;
- break;
- case 8:
- aRec.fe_descriptor_id = 45;
- break;
- case 9:
- aRec.fe_descriptor_id = 45;
- aRec.node_labels.resize( 8 );
- break;
+ switch ( aNbNodes ) {
+ case 3: aRec.fe_descriptor_id = 41; break;
+ case 4: aRec.fe_descriptor_id = 44; break;
+ case 6: aRec.fe_descriptor_id = 42; break;
+ case 7: aRec.fe_descriptor_id = 42; break;
+ case 8: aRec.fe_descriptor_id = 45; break;
+ case 9: aRec.fe_descriptor_id = 45; aRec.node_labels.resize( 8 ); break;
default:
continue;
}
while ( anIter->more())
{
const SMDS_MeshVolume* anElem = anIter->next();
- int aNbNodes = anElem->NbNodes();
- SMDS_ElemIteratorPtr aNodesIter = anElem->nodesIteratorToUNV();
- if ( anElem->IsPoly() ) {
+ if ( anElem->IsPoly() )
continue;
- }
+ int aNbNodes = anElem->NbNodes();
int anId = -1;
switch(aNbNodes) {
case 4: anId = 111; break;
aRec.label = anElem->GetID();
aRec.fe_descriptor_id = anId;
aRec.node_labels.reserve(aNbNodes);
+ SMDS_NodeIteratorPtr aNodesIter = anElem->nodesIteratorToUNV();
while ( aNodesIter->more() && aRec.node_labels.size() < aNbNodes )
{
const SMDS_MeshElement* aNode = aNodesIter->next();