0020526: [CEA] Disk meshing fails

1) in PrepareOCCgeometry(), map all subshapes in meshedSM is not provided
2) untabify
This commit is contained in:
eap 2009-10-08 13:39:52 +00:00
parent b09de1d401
commit 26f711647c

View File

@ -256,7 +256,7 @@ void NETGENPlugin_Mesher::PrepareOCCgeometry(netgen::OCCGeometry& occgeo,
TopExp::MapShapes(root->GetSubShape(), subShapes); TopExp::MapShapes(root->GetSubShape(), subShapes);
while ( smIt->more() ) { while ( smIt->more() ) {
SMESH_subMesh* sm = smIt->next(); SMESH_subMesh* sm = smIt->next();
if ( sm->IsEmpty() ) { if ( !meshedSM || sm->IsEmpty() ) {
TopoDS_Shape shape = sm->GetSubShape(); TopoDS_Shape shape = sm->GetSubShape();
if ( shape.ShapeType() != TopAbs_VERTEX ) if ( shape.ShapeType() != TopAbs_VERTEX )
shape = subShapes( subShapes.FindIndex( shape ));// - shape->index->oriented shape shape = subShapes( subShapes.FindIndex( shape ));// - shape->index->oriented shape
@ -1105,8 +1105,8 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
BRepGProp::VolumeProperties(_shape,G); BRepGProp::VolumeProperties(_shape,G);
double aVolume = G.Mass(); double aVolume = G.Mass();
double tetrVol = 0.1179*mparams.maxh*mparams.maxh*mparams.maxh; double tetrVol = 0.1179*mparams.maxh*mparams.maxh*mparams.maxh;
int nbVols = (int)aVolume/tetrVol; int nbVols = int(aVolume/tetrVol);
int nb1d_in = (int) ( nbVols*6 - fullNbSeg ) / 6; int nb1d_in = int(( nbVols*6 - fullNbSeg ) / 6 );
std::vector<int> aVec(SMDSEntity_Last); std::vector<int> aVec(SMDSEntity_Last);
for(int i=SMDSEntity_Node; i<SMDSEntity_Last; i++) aVec[i]=0; for(int i=SMDSEntity_Node; i<SMDSEntity_Last; i++) aVec[i]=0;
if( mparams.secondorder > 0 ) { if( mparams.secondorder > 0 ) {