mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-13 18:20:34 +05:00
Support of python dump in SHAPER STUDY
This commit is contained in:
parent
ab494e654a
commit
2cdec6ec50
@ -567,7 +567,8 @@ _pyGen::_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod
|
|||||||
myRemovedObjIDs( theRemovedObjIDs ),
|
myRemovedObjIDs( theRemovedObjIDs ),
|
||||||
myNbFilters( 0 ),
|
myNbFilters( 0 ),
|
||||||
myToKeepAllCommands( theToKeepAllCommands ),
|
myToKeepAllCommands( theToKeepAllCommands ),
|
||||||
myGeomIDNb(0), myGeomIDIndex(-1)
|
myGeomIDNb(0), myGeomIDIndex(-1),
|
||||||
|
myShaperIDNb(0), myShaperIDIndex(-1)
|
||||||
{
|
{
|
||||||
// make that GetID() to return TPythonDump::SMESHGenName()
|
// make that GetID() to return TPythonDump::SMESHGenName()
|
||||||
GetCreationCmd()->Clear();
|
GetCreationCmd()->Clear();
|
||||||
@ -577,10 +578,12 @@ _pyGen::_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod
|
|||||||
// Find 1st digit of study entry by which a GEOM object differs from a SMESH object
|
// Find 1st digit of study entry by which a GEOM object differs from a SMESH object
|
||||||
if (!theObjectNames.IsEmpty())
|
if (!theObjectNames.IsEmpty())
|
||||||
{
|
{
|
||||||
// find a GEOM entry
|
// find a GEOM (aPass == 0) and SHAPERSTUDY (aPass == 1) entries
|
||||||
|
for(int aPass = 0; aPass < 2; aPass++) {
|
||||||
_pyID geomID;
|
_pyID geomID;
|
||||||
SALOMEDS::SComponent_wrap geomComp = SMESH_Gen_i::getStudyServant()->FindComponent("GEOM");
|
SALOMEDS::SComponent_wrap geomComp = SMESH_Gen_i::getStudyServant()->
|
||||||
if ( geomComp->_is_nil() ) return;
|
FindComponent(aPass == 0 ? "GEOM" : "SHAPERSTUDY");
|
||||||
|
if (geomComp->_is_nil()) continue;
|
||||||
CORBA::String_var entry = geomComp->GetID();
|
CORBA::String_var entry = geomComp->GetID();
|
||||||
geomID = entry.in();
|
geomID = entry.in();
|
||||||
|
|
||||||
@ -596,8 +599,14 @@ _pyGen::_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod
|
|||||||
for (int i = 1; i <= geomID.Length() && i <= smeshID.Length(); ++i)
|
for (int i = 1; i <= geomID.Length() && i <= smeshID.Length(); ++i)
|
||||||
if (geomID.Value(i) != smeshID.Value(i))
|
if (geomID.Value(i) != smeshID.Value(i))
|
||||||
{
|
{
|
||||||
|
if (aPass == 0) {
|
||||||
myGeomIDNb = geomID.Value(i);
|
myGeomIDNb = geomID.Value(i);
|
||||||
myGeomIDIndex = i;
|
myGeomIDIndex = i;
|
||||||
|
} else {
|
||||||
|
myShaperIDNb = geomID.Value(i);
|
||||||
|
myShaperIDIndex = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1680,13 +1689,11 @@ Handle(_pyObject) _pyGen::FindObject( const _pyID& theObjID ) const
|
|||||||
|
|
||||||
bool _pyGen::IsGeomObject(const _pyID& theObjID) const
|
bool _pyGen::IsGeomObject(const _pyID& theObjID) const
|
||||||
{
|
{
|
||||||
if ( myGeomIDNb )
|
bool isGeom = myGeomIDNb && myGeomIDIndex <= theObjID.Length() &&
|
||||||
{
|
int( theObjID.Value( myGeomIDIndex )) == myGeomIDNb;
|
||||||
return ( myGeomIDIndex <= theObjID.Length() &&
|
bool isShaper = myShaperIDNb && myShaperIDIndex <= theObjID.Length() &&
|
||||||
int( theObjID.Value( myGeomIDIndex )) == myGeomIDNb &&
|
int( theObjID.Value( myShaperIDIndex )) == myShaperIDNb;
|
||||||
_pyCommand::IsStudyEntry( theObjID ));
|
return ((isGeom || isShaper) && _pyCommand::IsStudyEntry( theObjID ));
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
|
@ -323,7 +323,10 @@ private:
|
|||||||
Handle(_pyCommand) myLastCommand;
|
Handle(_pyCommand) myLastCommand;
|
||||||
int myNbFilters;
|
int myNbFilters;
|
||||||
bool myToKeepAllCommands;
|
bool myToKeepAllCommands;
|
||||||
|
// difference of entry and index of this difference
|
||||||
int myGeomIDNb, myGeomIDIndex;
|
int myGeomIDNb, myGeomIDIndex;
|
||||||
|
// difference of entry and index of this difference, specific for the SHAPER study
|
||||||
|
int myShaperIDNb, myShaperIDIndex;
|
||||||
std::map< _AString, ExportedMeshData > myFile2ExportedMesh;
|
std::map< _AString, ExportedMeshData > myFile2ExportedMesh;
|
||||||
Handle( _pyHypothesisReader ) myHypReader;
|
Handle( _pyHypothesisReader ) myHypReader;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user