SMESH_Hypothesis *anHyp = sc->mapHypothesis[anHypId];
if(MYDEBUG) {
- int hypType = anHyp->GetType();
- SCRUTE(hypType);
+ SCRUTE(anHyp->GetType());
}
// shape
int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape,
const SMESH_HypoFilter& aFilter,
list <const SMESHDS_Hypothesis * >& aHypList,
- const bool andAncestors) const
+ const bool andAncestors,
+ list< TopoDS_Shape > * assignedTo/*=0*/) const
{
set<string> hypTypes; // to exclude same type hypos from the result list
int nbHyps = 0;
nbHyps++;
if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() )
mainHypFound = true;
+ if ( assignedTo ) assignedTo->push_back( aSubShape );
}
}
nbHyps++;
if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() )
mainHypFound = true;
+ if ( assignedTo ) assignedTo->push_back( curSh );
}
}
}
if ( it.More() )
{
index = _myMeshDS->AddCompoundSubmesh( aSubShape, it.Value().ShapeType() );
- if ( index > _nbSubShapes ) _nbSubShapes = index; // not to create sm for this group again
-
// fill map of Ancestors
- fillAncestorsMap(aSubShape);
+ while ( _nbSubShapes < index )
+ fillAncestorsMap( _myMeshDS->IndexToShape( ++_nbSubShapes ));
}
}
// if ( !index )
const char* theMeshName,
bool theAutoGroups,
int theVersion,
- const SMESHDS_Mesh* meshPart)
+ const SMESHDS_Mesh* meshPart,
+ bool theAutoDimension)
throw(SALOME_Exception)
{
Unexpect aCatch(SalomeException);
DriverMED_W_SMESHDS_Mesh myWriter;
- myWriter.SetFile ( file, MED::EVersion(theVersion) );
- myWriter.SetMesh ( meshPart ? (SMESHDS_Mesh*) meshPart : _myMeshDS );
+ myWriter.SetFile ( file, MED::EVersion(theVersion) );
+ myWriter.SetMesh ( meshPart ? (SMESHDS_Mesh*) meshPart : _myMeshDS );
+ myWriter.SetAutoDimension( theAutoDimension );
if ( !theMeshName )
- myWriter.SetMeshId ( _id );
+ myWriter.SetMeshId ( _id );
else {
- myWriter.SetMeshId ( -1 );
- myWriter.SetMeshName( theMeshName );
+ myWriter.SetMeshId ( -1 );
+ myWriter.SetMeshName ( theMeshName );
}
if ( theAutoGroups ) {