From 2949f1214b45760fe981346138d6fab6b8262908 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 28 Jan 2013 11:10:54 +0000 Subject: [PATCH 1/1] fix GetPreviewData() for the case of only nodes in edition result --- src/SMESH_I/SMESH_MeshEditor_i.cxx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/SMESH_I/SMESH_MeshEditor_i.cxx b/src/SMESH_I/SMESH_MeshEditor_i.cxx index 02539efa5..87e886112 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.cxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.cxx @@ -533,9 +533,6 @@ SMESH::MeshPreviewStruct* SMESH_MeshEditor_i::GetPreviewData() else { aMeshDS = getEditor().GetMeshDS(); } - int nbEdges = aMeshDS->NbEdges(); - int nbFaces = aMeshDS->NbFaces(); - int nbVolum = aMeshDS->NbVolumes(); myPreviewData = new SMESH::MeshPreviewStruct(); myPreviewData->nodesXYZ.length(aMeshDS->NbNodes()); @@ -545,14 +542,15 @@ SMESH::MeshPreviewStruct* SMESH_MeshEditor_i::GetPreviewData() if (TPreviewMesh * aPreviewMesh = dynamic_cast< TPreviewMesh* >( getEditor().GetMesh() )) { previewType = aPreviewMesh->myPreviewType; switch ( previewType ) { - case SMDSAbs_Edge : nbFaces = nbVolum = 0; break; - case SMDSAbs_Face : nbEdges = nbVolum = 0; break; - case SMDSAbs_Volume: nbEdges = nbFaces = 0; break; + case SMDSAbs_Edge : break; + case SMDSAbs_Face : break; + case SMDSAbs_Volume: break; default:; + if ( aMeshDS->GetMeshInfo().NbElements() == 0 ) previewType = SMDSAbs_Node; } } - myPreviewData->elementTypes.length(nbEdges + nbFaces + nbVolum); + myPreviewData->elementTypes.length( aMeshDS->GetMeshInfo().NbElements( previewType )); int i = 0, j = 0; SMDS_ElemIteratorPtr itMeshElems = aMeshDS->elementsIterator(previewType); -- 2.30.2