mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0021347: [CEA 497] Visualisation into SMESH and VISU of hexagonal prism cells (MED_OCTA12)
0021380: EDF 1937 SMESH: Take into account QUAD9 and HEXA27 Do not write poly elements as standard ones
This commit is contained in:
parent
fd5de6779a
commit
14a1f50419
@ -119,6 +119,7 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
|
|||||||
SMDS_FaceIteratorPtr anIter = myMesh->facesIterator();
|
SMDS_FaceIteratorPtr anIter = myMesh->facesIterator();
|
||||||
for(; anIter->more();){
|
for(; anIter->more();){
|
||||||
const SMDS_MeshFace* anElem = anIter->next();
|
const SMDS_MeshFace* anElem = anIter->next();
|
||||||
|
if ( anElem->IsPoly() ) continue;
|
||||||
TElementLab aLabel = anElem->GetID();
|
TElementLab aLabel = anElem->GetID();
|
||||||
int aNbNodes = anElem->NbNodes();
|
int aNbNodes = anElem->NbNodes();
|
||||||
TRecord aRec;
|
TRecord aRec;
|
||||||
@ -142,6 +143,10 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
|
|||||||
case 8:
|
case 8:
|
||||||
aRec.fe_descriptor_id = 45;
|
aRec.fe_descriptor_id = 45;
|
||||||
break;
|
break;
|
||||||
|
case 9:
|
||||||
|
aRec.fe_descriptor_id = 45;
|
||||||
|
aRec.node_labels.resize( 8 );
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -162,13 +167,14 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
|
|||||||
SMDS_ElemIteratorPtr aNodesIter;
|
SMDS_ElemIteratorPtr aNodesIter;
|
||||||
aNodesIter = anElem->nodesIteratorToUNV();
|
aNodesIter = anElem->nodesIteratorToUNV();
|
||||||
if ( anElem->IsPoly() ) {
|
if ( anElem->IsPoly() ) {
|
||||||
MESSAGE("anElem->IsPoly");
|
continue;
|
||||||
if ( const SMDS_VtkVolume* ph =
|
// MESSAGE("anElem->IsPoly");
|
||||||
dynamic_cast<const SMDS_VtkVolume*> (anElem))
|
// if ( const SMDS_VtkVolume* ph =
|
||||||
{
|
// dynamic_cast<const SMDS_VtkVolume*> (anElem))
|
||||||
aNbNodes = ph->NbUniqueNodes();
|
// {
|
||||||
aNodesIter = ph->uniqueNodesIterator();
|
// aNbNodes = ph->NbUniqueNodes();
|
||||||
}
|
// aNodesIter = ph->uniqueNodesIterator();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
int anId = -1;
|
int anId = -1;
|
||||||
@ -197,8 +203,10 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
|
|||||||
anId = 113;
|
anId = 113;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 20: {
|
case 20:
|
||||||
|
case 27: {
|
||||||
anId = 116;
|
anId = 116;
|
||||||
|
aNbNodes = 20;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -208,7 +216,7 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
|
|||||||
TRecord aRec;
|
TRecord aRec;
|
||||||
aRec.fe_descriptor_id = anId;
|
aRec.fe_descriptor_id = anId;
|
||||||
aRec.node_labels.reserve(aNbNodes);
|
aRec.node_labels.reserve(aNbNodes);
|
||||||
for(; aNodesIter->more();){
|
for(; aNodesIter->more() && aRec.node_labels.size() < aNbNodes; ) {
|
||||||
const SMDS_MeshElement* aNode = aNodesIter->next();
|
const SMDS_MeshElement* aNode = aNodesIter->next();
|
||||||
aRec.node_labels.push_back(aNode->GetID());
|
aRec.node_labels.push_back(aNode->GetID());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user