mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-08 10:37:28 +05:00
IMP199929 Script simplification and correct Set Name of the Mesh
This commit is contained in:
parent
c324294de9
commit
326d4252be
@ -2027,7 +2027,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
|
|||||||
if( aSel )
|
if( aSel )
|
||||||
aSel->selectedObjects( selected );
|
aSel->selectedObjects( selected );
|
||||||
|
|
||||||
bool isAny = false; // iss there any appropriate object selected
|
bool isAny = false; // is there any appropriate object selected
|
||||||
|
|
||||||
SALOME_ListIteratorOfListIO It( selected );
|
SALOME_ListIteratorOfListIO It( selected );
|
||||||
for ( ; It.More(); It.Next() )
|
for ( ; It.More(); It.Next() )
|
||||||
@ -2055,14 +2055,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
|
|||||||
newName = LightApp_NameDlg::getName(desktop(), newName);
|
newName = LightApp_NameDlg::getName(desktop(), newName);
|
||||||
if ( !newName.isEmpty() )
|
if ( !newName.isEmpty() )
|
||||||
{
|
{
|
||||||
//old source: aStudy->renameIObject( IObject, newName );
|
SMESHGUI::GetSMESHGen()->SetName(obj->GetIOR().c_str(), newName.toLatin1().data());
|
||||||
aName->SetValue( newName.toLatin1().constData() );
|
|
||||||
|
|
||||||
// if current object is group update group's name
|
|
||||||
SMESH::SMESH_GroupBase_var aGroup =
|
|
||||||
SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IObject);
|
|
||||||
if (!aGroup->_is_nil() )
|
|
||||||
aGroup->SetName( newName.toLatin1().constData() );
|
|
||||||
|
|
||||||
updateObjBrowser();
|
updateObjBrowser();
|
||||||
}
|
}
|
||||||
|
@ -1493,6 +1493,9 @@ bool SMESHGUI_MeshOp::createSubMesh( QString& theMess )
|
|||||||
|
|
||||||
// create sub-mesh
|
// create sub-mesh
|
||||||
SMESH::SMESH_subMesh_var aSubMeshVar = aMeshVar->GetSubMesh( aGeomVar, aName.toLatin1().data() );
|
SMESH::SMESH_subMesh_var aSubMeshVar = aMeshVar->GetSubMesh( aGeomVar, aName.toLatin1().data() );
|
||||||
|
_PTR(SObject) aSubMeshSO = SMESH::FindSObject( aSubMeshVar.in() );
|
||||||
|
if ( aSubMeshSO )
|
||||||
|
SMESH::SetName( aSubMeshSO, aName.toLatin1().data() );
|
||||||
|
|
||||||
for ( int aDim = SMESH::DIM_0D; aDim <= SMESH::DIM_3D; aDim++ )
|
for ( int aDim = SMESH::DIM_0D; aDim <= SMESH::DIM_3D; aDim++ )
|
||||||
{
|
{
|
||||||
|
@ -131,12 +131,7 @@ namespace SMESH
|
|||||||
_PTR(Study) aStudy = GetActiveStudyDocument();
|
_PTR(Study) aStudy = GetActiveStudyDocument();
|
||||||
if (aStudy->GetProperties()->IsLocked())
|
if (aStudy->GetProperties()->IsLocked())
|
||||||
return;
|
return;
|
||||||
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
|
SMESHGUI::GetSMESHGen()->SetName(theSObject->GetIOR().c_str(), theName.toLatin1().data());
|
||||||
_PTR(GenericAttribute) anAttr =
|
|
||||||
aBuilder->FindOrCreateAttribute(theSObject, "AttributeName");
|
|
||||||
_PTR(AttributeName) aName = anAttr;
|
|
||||||
if (aName)
|
|
||||||
aName->SetValue(theName.toLatin1().data());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetValue (_PTR(SObject) theSObject, const QString& theValue)
|
void SetValue (_PTR(SObject) theSObject, const QString& theValue)
|
||||||
|
@ -121,6 +121,7 @@ libSMESHEngine_la_LDFLAGS = \
|
|||||||
-lSalomeGenericObj \
|
-lSalomeGenericObj \
|
||||||
$(MED_LDFLAGS) \
|
$(MED_LDFLAGS) \
|
||||||
-lMEDWrapper_V2_2 \
|
-lMEDWrapper_V2_2 \
|
||||||
|
-lSalomeIDLMED \
|
||||||
$(CAS_LDPATH) \
|
$(CAS_LDPATH) \
|
||||||
-lTKCDF \
|
-lTKCDF \
|
||||||
-lTKBO \
|
-lTKBO \
|
||||||
|
@ -46,8 +46,10 @@ IMPLEMENT_STANDARD_HANDLE (_pyObject ,Standard_Transient);
|
|||||||
IMPLEMENT_STANDARD_HANDLE (_pyCommand ,Standard_Transient);
|
IMPLEMENT_STANDARD_HANDLE (_pyCommand ,Standard_Transient);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyGen ,_pyObject);
|
IMPLEMENT_STANDARD_HANDLE (_pyGen ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyMesh ,_pyObject);
|
IMPLEMENT_STANDARD_HANDLE (_pyMesh ,_pyObject);
|
||||||
|
IMPLEMENT_STANDARD_HANDLE (_pySubMesh ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyMeshEditor ,_pyObject);
|
IMPLEMENT_STANDARD_HANDLE (_pyMeshEditor ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyHypothesis ,_pyObject);
|
IMPLEMENT_STANDARD_HANDLE (_pyHypothesis ,_pyObject);
|
||||||
|
IMPLEMENT_STANDARD_HANDLE (_pyFilterManager ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyAlgorithm ,_pyHypothesis);
|
IMPLEMENT_STANDARD_HANDLE (_pyAlgorithm ,_pyHypothesis);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyComplexParamHypo,_pyHypothesis);
|
IMPLEMENT_STANDARD_HANDLE (_pyComplexParamHypo,_pyHypothesis);
|
||||||
IMPLEMENT_STANDARD_HANDLE (_pyNumberOfSegmentsHyp,_pyHypothesis);
|
IMPLEMENT_STANDARD_HANDLE (_pyNumberOfSegmentsHyp,_pyHypothesis);
|
||||||
@ -56,8 +58,10 @@ IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient);
|
|||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject);
|
||||||
|
IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject);
|
||||||
|
IMPLEMENT_STANDARD_RTTIEXT(_pyFilterManager ,_pyObject);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
|
IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
|
||||||
@ -120,9 +124,10 @@ namespace {
|
|||||||
|
|
||||||
TCollection_AsciiString
|
TCollection_AsciiString
|
||||||
SMESH_2smeshpy::ConvertScript(const TCollection_AsciiString& theScript,
|
SMESH_2smeshpy::ConvertScript(const TCollection_AsciiString& theScript,
|
||||||
Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod)
|
Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
|
||||||
|
Resource_DataMapOfAsciiStringAsciiString& theObjectNames)
|
||||||
{
|
{
|
||||||
theGen = new _pyGen( theEntry2AccessorMethod );
|
theGen = new _pyGen( theEntry2AccessorMethod, theObjectNames );
|
||||||
|
|
||||||
// split theScript into separate commands
|
// split theScript into separate commands
|
||||||
int from = 1, end = theScript.Length(), to;
|
int from = 1, end = theScript.Length(), to;
|
||||||
@ -133,11 +138,13 @@ SMESH_2smeshpy::ConvertScript(const TCollection_AsciiString& theScript,
|
|||||||
theGen->AddCommand( theScript.SubString( from, to - 1 ));
|
theGen->AddCommand( theScript.SubString( from, to - 1 ));
|
||||||
from = to + 1;
|
from = to + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// finish conversion
|
// finish conversion
|
||||||
theGen->Flush();
|
theGen->Flush();
|
||||||
#ifdef DUMP_CONVERSION
|
#ifdef DUMP_CONVERSION
|
||||||
MESSAGE_BEGIN ( std::endl << " ######## RESULT ######## " << std::endl<< std::endl );
|
MESSAGE_BEGIN ( std::endl << " ######## RESULT ######## " << std::endl<< std::endl );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// reorder commands after conversion
|
// reorder commands after conversion
|
||||||
list< Handle(_pyCommand) >::iterator cmd;
|
list< Handle(_pyCommand) >::iterator cmd;
|
||||||
bool orderChanges;
|
bool orderChanges;
|
||||||
@ -173,9 +180,11 @@ SMESH_2smeshpy::ConvertScript(const TCollection_AsciiString& theScript,
|
|||||||
*/
|
*/
|
||||||
//================================================================================
|
//================================================================================
|
||||||
|
|
||||||
_pyGen::_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod)
|
_pyGen::_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
|
||||||
|
Resource_DataMapOfAsciiStringAsciiString& theObjectNames)
|
||||||
: _pyObject( new _pyCommand( TPythonDump::SMESHGenName(), 0 )),
|
: _pyObject( new _pyCommand( TPythonDump::SMESHGenName(), 0 )),
|
||||||
myID2AccessorMethod( theEntry2AccessorMethod )
|
myID2AccessorMethod( theEntry2AccessorMethod ),
|
||||||
|
myObjectNames( theObjectNames )
|
||||||
{
|
{
|
||||||
myNbCommands = 0;
|
myNbCommands = 0;
|
||||||
myHasPattern = false;
|
myHasPattern = false;
|
||||||
@ -221,18 +230,43 @@ Handle(_pyCommand) _pyGen::AddCommand( const TCollection_AsciiString& theCommand
|
|||||||
this->Process( aCommand );
|
this->Process( aCommand );
|
||||||
return aCommand;
|
return aCommand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SMESH_subMesh method?
|
||||||
|
map< _pyID, Handle(_pySubMesh) >::iterator id_subMesh = mySubMeshes.find( objID );
|
||||||
|
if ( id_subMesh != mySubMeshes.end() ) {
|
||||||
|
id_subMesh->second->Process( aCommand );
|
||||||
|
return aCommand;
|
||||||
|
}
|
||||||
|
|
||||||
// SMESH_Mesh method?
|
// SMESH_Mesh method?
|
||||||
map< _pyID, Handle(_pyMesh) >::iterator id_mesh = myMeshes.find( objID );
|
map< _pyID, Handle(_pyMesh) >::iterator id_mesh = myMeshes.find( objID );
|
||||||
if ( id_mesh != myMeshes.end() ) {
|
if ( id_mesh != myMeshes.end() ) {
|
||||||
|
// check for mesh editor object
|
||||||
if ( aCommand->GetMethod() == "GetMeshEditor" ) { // MeshEditor creation
|
if ( aCommand->GetMethod() == "GetMeshEditor" ) { // MeshEditor creation
|
||||||
_pyID editorID = aCommand->GetResultValue();
|
_pyID editorID = aCommand->GetResultValue();
|
||||||
Handle(_pyMeshEditor) editor = new _pyMeshEditor( aCommand );
|
Handle(_pyMeshEditor) editor = new _pyMeshEditor( aCommand );
|
||||||
myMeshEditors.insert( make_pair( editorID, editor ));
|
myMeshEditors.insert( make_pair( editorID, editor ));
|
||||||
return aCommand;
|
return aCommand;
|
||||||
|
}
|
||||||
|
// check for SubMesh objects
|
||||||
|
else if ( aCommand->GetMethod() == "GetSubMesh" ) { // SubMesh creation
|
||||||
|
_pyID subMeshID = aCommand->GetResultValue();
|
||||||
|
Handle(_pySubMesh) subMesh = new _pySubMesh( aCommand );
|
||||||
|
mySubMeshes.insert( make_pair( subMeshID, subMesh ));
|
||||||
}
|
}
|
||||||
id_mesh->second->Process( aCommand );
|
id_mesh->second->Process( aCommand );
|
||||||
return aCommand;
|
return aCommand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//SMESH_FilterManager method?
|
||||||
|
if ( theCommand.Search( "aFilterManager" ) != -1 ) {
|
||||||
|
if ( theCommand.Search( "CreateFilterManager" ) != -1 )
|
||||||
|
myFilterManager = new _pyFilterManager( aCommand );
|
||||||
|
else if ( !myFilterManager.IsNull() )
|
||||||
|
myFilterManager->Process( aCommand );
|
||||||
|
return aCommand;
|
||||||
|
}
|
||||||
|
|
||||||
// SMESH_MeshEditor method?
|
// SMESH_MeshEditor method?
|
||||||
map< _pyID, Handle(_pyMeshEditor) >::iterator id_editor = myMeshEditors.find( objID );
|
map< _pyID, Handle(_pyMeshEditor) >::iterator id_editor = myMeshEditors.find( objID );
|
||||||
if ( id_editor != myMeshEditors.end() ) {
|
if ( id_editor != myMeshEditors.end() ) {
|
||||||
@ -297,6 +331,7 @@ void _pyGen::Process( const Handle(_pyCommand)& theCommand )
|
|||||||
// Compute( mesh, geom )
|
// Compute( mesh, geom )
|
||||||
// mesh creation
|
// mesh creation
|
||||||
TCollection_AsciiString method = theCommand->GetMethod();
|
TCollection_AsciiString method = theCommand->GetMethod();
|
||||||
|
|
||||||
if ( method == "CreateMesh" || method == "CreateEmptyMesh")
|
if ( method == "CreateMesh" || method == "CreateEmptyMesh")
|
||||||
{
|
{
|
||||||
Handle(_pyMesh) mesh = new _pyMesh( theCommand );
|
Handle(_pyMesh) mesh = new _pyMesh( theCommand );
|
||||||
@ -321,6 +356,15 @@ void _pyGen::Process( const Handle(_pyCommand)& theCommand )
|
|||||||
// CreateHypothesis()
|
// CreateHypothesis()
|
||||||
if ( method == "CreateHypothesis" )
|
if ( method == "CreateHypothesis" )
|
||||||
{
|
{
|
||||||
|
// issue 199929, remove standard library name (default parameter)
|
||||||
|
const TCollection_AsciiString & aLibName = theCommand->GetArg( 2 );
|
||||||
|
if ( aLibName.Search( "StdMeshersEngine" ) != -1 ) {
|
||||||
|
// keep first argument
|
||||||
|
TCollection_AsciiString arg = theCommand->GetArg( 1 );
|
||||||
|
theCommand->RemoveArgs();
|
||||||
|
theCommand->SetArg( 1, arg );
|
||||||
|
}
|
||||||
|
|
||||||
myHypos.push_back( _pyHypothesis::NewHypothesis( theCommand ));
|
myHypos.push_back( _pyHypothesis::NewHypothesis( theCommand ));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -386,6 +430,12 @@ void _pyGen::Process( const Handle(_pyCommand)& theCommand )
|
|||||||
|
|
||||||
void _pyGen::Flush()
|
void _pyGen::Flush()
|
||||||
{
|
{
|
||||||
|
// create empty command
|
||||||
|
myLastCommand = new _pyCommand();
|
||||||
|
|
||||||
|
if ( !myFilterManager.IsNull() )
|
||||||
|
myFilterManager->Flush();
|
||||||
|
|
||||||
map< _pyID, Handle(_pyMesh) >::iterator id_mesh = myMeshes.begin();
|
map< _pyID, Handle(_pyMesh) >::iterator id_mesh = myMeshes.begin();
|
||||||
for ( ; id_mesh != myMeshes.end(); ++id_mesh )
|
for ( ; id_mesh != myMeshes.end(); ++id_mesh )
|
||||||
if ( ! id_mesh->second.IsNull() )
|
if ( ! id_mesh->second.IsNull() )
|
||||||
@ -399,6 +449,14 @@ void _pyGen::Flush()
|
|||||||
if ( !(*hyp)->IsWrapped() )
|
if ( !(*hyp)->IsWrapped() )
|
||||||
(*hyp)->GetCreationCmd()->SetObject( SMESH_2smeshpy::GenName() );
|
(*hyp)->GetCreationCmd()->SetObject( SMESH_2smeshpy::GenName() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
map< _pyID, Handle(_pySubMesh) >::iterator id_subMesh = mySubMeshes.begin();
|
||||||
|
for ( ; id_subMesh != mySubMeshes.end(); ++id_subMesh )
|
||||||
|
if ( ! id_subMesh->second.IsNull() )
|
||||||
|
id_subMesh->second->Flush();
|
||||||
|
|
||||||
|
myLastCommand->SetOrderNb( ++myNbCommands );
|
||||||
|
myCommands.push_back( myLastCommand );
|
||||||
}
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
@ -475,12 +533,32 @@ Handle(_pyHypothesis) _pyGen::FindAlgo( const _pyID& theGeom, const _pyID& theMe
|
|||||||
if ( !hyp->IsNull() &&
|
if ( !hyp->IsNull() &&
|
||||||
(*hyp)->IsAlgo() &&
|
(*hyp)->IsAlgo() &&
|
||||||
theHypothesis->CanBeCreatedBy( (*hyp)->GetAlgoType() ) &&
|
theHypothesis->CanBeCreatedBy( (*hyp)->GetAlgoType() ) &&
|
||||||
(*hyp)->GetGeom() == theGeom &&
|
(*hyp)->GetGeom() == theGeom &&
|
||||||
(*hyp)->GetMesh() == theMesh )
|
(*hyp)->GetMesh() == theMesh )
|
||||||
return *hyp;
|
return *hyp;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Find subMesh by ID (entry)
|
||||||
|
* \param theSubMeshID - The subMesh ID
|
||||||
|
* \retval Handle(_pySubMesh) - The found subMesh
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
Handle(_pySubMesh) _pyGen::FindSubMesh( const _pyID& theSubMeshID )
|
||||||
|
{
|
||||||
|
map< _pyID, Handle(_pySubMesh) >::iterator id_subMesh = mySubMeshes.begin();
|
||||||
|
for ( ; id_subMesh != mySubMeshes.end(); ++id_subMesh ) {
|
||||||
|
Handle(_pySubMesh) sm = id_subMesh->second;
|
||||||
|
if ( !id_subMesh->second.IsNull() && theSubMeshID == id_subMesh->second->GetID() )
|
||||||
|
return sm;
|
||||||
|
}
|
||||||
|
return Handle(_pySubMesh)();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Change order of commands in the script
|
* \brief Change order of commands in the script
|
||||||
@ -516,20 +594,57 @@ void _pyGen::ExchangeCommands( Handle(_pyCommand) theCmd1, Handle(_pyCommand) th
|
|||||||
|
|
||||||
void _pyGen::SetCommandAfter( Handle(_pyCommand) theCmd, Handle(_pyCommand) theAfterCmd )
|
void _pyGen::SetCommandAfter( Handle(_pyCommand) theCmd, Handle(_pyCommand) theAfterCmd )
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG_
|
setNeighbourCommand( theCmd, theAfterCmd, true );
|
||||||
//cout << "SET\t" << theAfterCmd->GetString() << endl << "BEFORE\t" << theCmd->GetString() << endl<<endl;
|
}
|
||||||
#endif
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Set one command before the other
|
||||||
|
* \param theCmd - Command to move
|
||||||
|
* \param theBeforeCmd - Command before which to insert the first one
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pyGen::SetCommandBefore( Handle(_pyCommand) theCmd, Handle(_pyCommand) theBeforeCmd )
|
||||||
|
{
|
||||||
|
setNeighbourCommand( theCmd, theBeforeCmd, false );
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Set one command before or after the other
|
||||||
|
* \param theCmd - Command to move
|
||||||
|
* \param theOtherCmd - Command ater or before which to insert the first one
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pyGen::setNeighbourCommand( Handle(_pyCommand)& theCmd,
|
||||||
|
Handle(_pyCommand)& theOtherCmd,
|
||||||
|
const bool theIsAfter )
|
||||||
|
{
|
||||||
list< Handle(_pyCommand) >::iterator pos;
|
list< Handle(_pyCommand) >::iterator pos;
|
||||||
pos = find( myCommands.begin(), myCommands.end(), theCmd );
|
pos = find( myCommands.begin(), myCommands.end(), theCmd );
|
||||||
myCommands.erase( pos );
|
myCommands.erase( pos );
|
||||||
pos = find( myCommands.begin(), myCommands.end(), theAfterCmd );
|
pos = find( myCommands.begin(), myCommands.end(), theOtherCmd );
|
||||||
myCommands.insert( ++pos, theCmd );
|
myCommands.insert( (theIsAfter ? ++pos : pos), theCmd );
|
||||||
|
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for ( pos = myCommands.begin(); pos != myCommands.end(); ++pos)
|
for ( pos = myCommands.begin(); pos != myCommands.end(); ++pos)
|
||||||
(*pos)->SetOrderNb( i++ );
|
(*pos)->SetOrderNb( i++ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Set command be last in list of commands
|
||||||
|
* \param theCmd - Command to be last
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
Handle(_pyCommand)& _pyGen::GetLastCommand()
|
||||||
|
{
|
||||||
|
return myLastCommand;
|
||||||
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Set method to access to object wrapped with python class
|
* \brief Set method to access to object wrapped with python class
|
||||||
@ -543,6 +658,28 @@ void _pyGen::SetAccessorMethod(const _pyID& theID, const char* theMethod )
|
|||||||
myID2AccessorMethod.Bind( theID, (char*) theMethod );
|
myID2AccessorMethod.Bind( theID, (char*) theMethod );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Generated new ID for object and assign with existing name
|
||||||
|
* \param theID - ID of existing object
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
_pyID _pyGen::GenerateNewID( const _pyID& theID )
|
||||||
|
{
|
||||||
|
int index = 1;
|
||||||
|
_pyID aNewID;
|
||||||
|
do {
|
||||||
|
aNewID = theID + _pyID( ":" ) + _pyID( index++ );
|
||||||
|
}
|
||||||
|
while ( myObjectNames.IsBound( aNewID ) );
|
||||||
|
|
||||||
|
myObjectNames.Bind( aNewID, myObjectNames.IsBound( theID )
|
||||||
|
? (myObjectNames.Find( theID ) + _pyID( "_" ) + _pyID( index-1 ))
|
||||||
|
: _pyID( "A" ) + aNewID );
|
||||||
|
return aNewID;
|
||||||
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Find out type of geom group
|
* \brief Find out type of geom group
|
||||||
@ -666,7 +803,11 @@ void _pyMesh::Process( const Handle(_pyCommand)& theCommand )
|
|||||||
const TCollection_AsciiString method = theCommand->GetMethod();
|
const TCollection_AsciiString method = theCommand->GetMethod();
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
if ( method == "GetSubMesh" ) {
|
if ( method == "GetSubMesh" ) {
|
||||||
mySubmeshes.push_back( theCommand );
|
Handle(_pySubMesh) subMesh = theGen->FindSubMesh( theCommand->GetResultValue() );
|
||||||
|
if ( !subMesh.IsNull() ) {
|
||||||
|
subMesh->SetCreator( this );
|
||||||
|
mySubmeshes.push_back( subMesh );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
else if ( method == "AddHypothesis" ) { // mesh.AddHypothesis(geom, HYPO )
|
else if ( method == "AddHypothesis" ) { // mesh.AddHypothesis(geom, HYPO )
|
||||||
@ -783,20 +924,43 @@ bool _pyMesh::NeedMeshAccess( const Handle(_pyCommand)& theCommand )
|
|||||||
|
|
||||||
void _pyMesh::Flush()
|
void _pyMesh::Flush()
|
||||||
{
|
{
|
||||||
list < Handle(_pyCommand) >::iterator cmd, cmd2;
|
list < Handle(_pyCommand) >::iterator cmd;
|
||||||
|
|
||||||
// try to convert algo addition like this:
|
// try to convert algo addition like this:
|
||||||
// mesh.AddHypothesis(geom, ALGO ) --> ALGO = mesh.Algo()
|
// mesh.AddHypothesis(geom, ALGO ) --> ALGO = mesh.Algo()
|
||||||
for ( cmd = myAddHypCmds.begin(); cmd != myAddHypCmds.end(); ++cmd )
|
for ( cmd = myAddHypCmds.begin(); cmd != myAddHypCmds.end(); ++cmd )
|
||||||
{
|
{
|
||||||
Handle(_pyCommand) addCmd = *cmd;
|
Handle(_pyCommand) addCmd = *cmd;
|
||||||
|
|
||||||
_pyID algoID = addCmd->GetArg( 2 );
|
_pyID algoID = addCmd->GetArg( 2 );
|
||||||
Handle(_pyHypothesis) algo = theGen->FindHyp( algoID );
|
Handle(_pyHypothesis) algo = theGen->FindHyp( algoID );
|
||||||
if ( algo.IsNull() || !algo->IsAlgo() )
|
if ( algo.IsNull() || !algo->IsAlgo() )
|
||||||
continue;
|
continue;
|
||||||
// try to convert
|
|
||||||
|
// check and create new algorithm instance if it is already wrapped
|
||||||
|
if ( algo->IsWrapped() ) {
|
||||||
|
_pyID localAlgoID = theGen->GenerateNewID( algoID );
|
||||||
|
TCollection_AsciiString aNewCmdStr = localAlgoID +
|
||||||
|
TCollection_AsciiString( " = " ) + theGen->GetID() +
|
||||||
|
TCollection_AsciiString( ".CreateHypothesis( \"" ) + algo->GetAlgoType() +
|
||||||
|
TCollection_AsciiString( "\" )" );
|
||||||
|
|
||||||
|
Handle(_pyCommand) newCmd = theGen->AddCommand( aNewCmdStr );
|
||||||
|
Handle(_pyAlgorithm) newAlgo = Handle(_pyAlgorithm)::DownCast(theGen->FindHyp( localAlgoID ));
|
||||||
|
if ( !newAlgo.IsNull() ) {
|
||||||
|
newAlgo->Assign( algo, this->GetID() );
|
||||||
|
newAlgo->SetCreationCmd( newCmd );
|
||||||
|
algo = newAlgo;
|
||||||
|
// set algorithm creation
|
||||||
|
theGen->SetCommandBefore( newCmd, addCmd );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
newCmd->Clear();
|
||||||
|
}
|
||||||
_pyID geom = addCmd->GetArg( 1 );
|
_pyID geom = addCmd->GetArg( 1 );
|
||||||
bool isLocalAlgo = ( geom != GetGeom() );
|
bool isLocalAlgo = ( geom != GetGeom() );
|
||||||
|
|
||||||
|
// try to convert
|
||||||
if ( algo->Addition2Creation( addCmd, this->GetID() )) // OK
|
if ( algo->Addition2Creation( addCmd, this->GetID() )) // OK
|
||||||
{
|
{
|
||||||
// wrapped algo is created atfer mesh creation
|
// wrapped algo is created atfer mesh creation
|
||||||
@ -807,12 +971,14 @@ void _pyMesh::Flush()
|
|||||||
addCmd->SetArg( addCmd->GetNbArgs() + 1,
|
addCmd->SetArg( addCmd->GetNbArgs() + 1,
|
||||||
TCollection_AsciiString( "geom=" ) + geom );
|
TCollection_AsciiString( "geom=" ) + geom );
|
||||||
// sm = mesh.GetSubMesh(geom, name) --> sm = ALGO.GetSubMesh()
|
// sm = mesh.GetSubMesh(geom, name) --> sm = ALGO.GetSubMesh()
|
||||||
for ( cmd2 = mySubmeshes.begin(); cmd2 != mySubmeshes.end(); ++cmd2 ) {
|
list < Handle(_pySubMesh) >::iterator smIt;
|
||||||
Handle(_pyCommand) subCmd = *cmd2;
|
for ( smIt = mySubmeshes.begin(); smIt != mySubmeshes.end(); ++smIt ) {
|
||||||
|
Handle(_pySubMesh) subMesh = *smIt;
|
||||||
|
Handle(_pyCommand) subCmd = subMesh->GetCreationCmd();
|
||||||
if ( geom == subCmd->GetArg( 1 )) {
|
if ( geom == subCmd->GetArg( 1 )) {
|
||||||
subCmd->SetObject( algo->GetID() );
|
subCmd->SetObject( algo->GetID() );
|
||||||
subCmd->RemoveArgs();
|
subCmd->RemoveArgs();
|
||||||
addCmd->AddDependantCmd( subCmd );
|
subMesh->SetCreator( algo );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1207,7 +1373,10 @@ bool _pyHypothesis::Addition2Creation( const Handle(_pyCommand)& theCmd,
|
|||||||
}
|
}
|
||||||
// set a new creation command
|
// set a new creation command
|
||||||
GetCreationCmd()->Clear();
|
GetCreationCmd()->Clear();
|
||||||
SetCreationCmd( theCmd );
|
// set dependance between creation and addition to mesh
|
||||||
|
// SetCreationCmd( theCmd );
|
||||||
|
GetCreationCmd()->AddDependantCmd( theCmd );
|
||||||
|
|
||||||
|
|
||||||
// clear commands setting arg values
|
// clear commands setting arg values
|
||||||
list < Handle(_pyCommand) >::iterator argCmd = myArgCommands.begin();
|
list < Handle(_pyCommand) >::iterator argCmd = myArgCommands.begin();
|
||||||
@ -1298,6 +1467,30 @@ void _pyHypothesis::ClearAllCommands()
|
|||||||
( *cmd )->Clear();
|
( *cmd )->Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Assign fields of theOther to me except myIsWrapped
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pyHypothesis::Assign( const Handle(_pyHypothesis)& theOther,
|
||||||
|
const _pyID& theMesh )
|
||||||
|
{
|
||||||
|
myIsWrapped = false;
|
||||||
|
myMesh = theMesh;
|
||||||
|
|
||||||
|
// myCreationCmd = theOther->myCreationCmd;
|
||||||
|
myIsAlgo = theOther->myIsAlgo;
|
||||||
|
myGeom = theOther->myGeom;
|
||||||
|
myType2CreationMethod = theOther->myType2CreationMethod;
|
||||||
|
myArgs = theOther->myArgs;
|
||||||
|
myArgMethods = theOther->myArgMethods;
|
||||||
|
myNbArgsByMethod = theOther->myNbArgsByMethod;
|
||||||
|
myArgCommands = theOther->myArgCommands;
|
||||||
|
myUnknownCommands = theOther->myUnknownCommands;
|
||||||
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Remember hypothesis parameter values
|
* \brief Remember hypothesis parameter values
|
||||||
@ -1387,9 +1580,9 @@ void _pyLayerDistributionHypo::Process( const Handle(_pyCommand)& theCommand)
|
|||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief
|
* \brief
|
||||||
* \param theAdditionCmd -
|
* \param theAdditionCmd - command to be converted
|
||||||
* \param theMesh -
|
* \param theMesh - mesh instance
|
||||||
* \retval bool -
|
* \retval bool - status
|
||||||
*/
|
*/
|
||||||
//================================================================================
|
//================================================================================
|
||||||
|
|
||||||
@ -2058,3 +2251,78 @@ _pyID _pyObject::FatherID(const _pyID & childID)
|
|||||||
return childID.SubString( 1, colPos-1 );
|
return childID.SubString( 1, colPos-1 );
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief FilterManager creates only if at least one command invoked
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
_pyFilterManager::_pyFilterManager(const Handle(_pyCommand)& theCreationCmd):
|
||||||
|
_pyObject( theCreationCmd ),
|
||||||
|
myCmdCount( 0 )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief count invoked commands
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pyFilterManager::Process( const Handle(_pyCommand)& /*theCommand*/)
|
||||||
|
{
|
||||||
|
myCmdCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Clear creatin command if no commands invoked
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pyFilterManager::Flush()
|
||||||
|
{
|
||||||
|
if ( !myCmdCount )
|
||||||
|
GetCreationCmd()->Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief SubMesh creation can be moved to the end of engine commands
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
_pySubMesh::_pySubMesh(const Handle(_pyCommand)& theCreationCmd):
|
||||||
|
_pyObject( theCreationCmd ),
|
||||||
|
myCmdCount( 0 )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief count invoked commands
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pySubMesh::Process( const Handle(_pyCommand)& theCommand )
|
||||||
|
{
|
||||||
|
myCmdCount++;
|
||||||
|
GetCreationCmd()->AddDependantCmd( theCommand );
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Clear creatin command if no commands invoked
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
void _pySubMesh::Flush()
|
||||||
|
{
|
||||||
|
if ( !myCmdCount ) // move to the end of all commands
|
||||||
|
theGen->GetLastCommand()->AddDependantCmd( GetCreationCmd() );
|
||||||
|
else if ( !myCreator.IsNull() )
|
||||||
|
// move to be just after creator
|
||||||
|
myCreator->GetCreationCmd()->AddDependantCmd( GetCreationCmd() );
|
||||||
|
}
|
||||||
|
@ -63,15 +63,19 @@ class _pyCommand;
|
|||||||
class _pyObject;
|
class _pyObject;
|
||||||
class _pyGen;
|
class _pyGen;
|
||||||
class _pyMesh;
|
class _pyMesh;
|
||||||
|
class _pySubMesh;
|
||||||
class _pyHypothesis;
|
class _pyHypothesis;
|
||||||
class _pyAlgorithm;
|
class _pyAlgorithm;
|
||||||
|
class _pyFilterManager;
|
||||||
|
|
||||||
DEFINE_STANDARD_HANDLE (_pyCommand ,Standard_Transient);
|
DEFINE_STANDARD_HANDLE (_pyCommand ,Standard_Transient);
|
||||||
DEFINE_STANDARD_HANDLE (_pyObject ,Standard_Transient);
|
DEFINE_STANDARD_HANDLE (_pyObject ,Standard_Transient);
|
||||||
DEFINE_STANDARD_HANDLE (_pyGen ,_pyObject);
|
DEFINE_STANDARD_HANDLE (_pyGen ,_pyObject);
|
||||||
DEFINE_STANDARD_HANDLE (_pyMesh ,_pyObject);
|
DEFINE_STANDARD_HANDLE (_pyMesh ,_pyObject);
|
||||||
|
DEFINE_STANDARD_HANDLE (_pySubMesh ,_pyObject);
|
||||||
DEFINE_STANDARD_HANDLE (_pyMeshEditor,_pyObject);
|
DEFINE_STANDARD_HANDLE (_pyMeshEditor,_pyObject);
|
||||||
DEFINE_STANDARD_HANDLE (_pyHypothesis,_pyObject);
|
DEFINE_STANDARD_HANDLE (_pyHypothesis,_pyObject);
|
||||||
|
DEFINE_STANDARD_HANDLE (_pyFilterManager,_pyObject);
|
||||||
DEFINE_STANDARD_HANDLE (_pyAlgorithm ,_pyHypothesis);
|
DEFINE_STANDARD_HANDLE (_pyAlgorithm ,_pyHypothesis);
|
||||||
|
|
||||||
typedef TCollection_AsciiString _pyID;
|
typedef TCollection_AsciiString _pyID;
|
||||||
@ -171,7 +175,8 @@ public:
|
|||||||
class _pyGen: public _pyObject
|
class _pyGen: public _pyObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod);
|
_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
|
||||||
|
Resource_DataMapOfAsciiStringAsciiString& theObjectNames);
|
||||||
//~_pyGen();
|
//~_pyGen();
|
||||||
Handle(_pyCommand) AddCommand( const TCollection_AsciiString& theCommand );
|
Handle(_pyCommand) AddCommand( const TCollection_AsciiString& theCommand );
|
||||||
void Process( const Handle(_pyCommand)& theCommand );
|
void Process( const Handle(_pyCommand)& theCommand );
|
||||||
@ -179,21 +184,35 @@ public:
|
|||||||
Handle(_pyHypothesis) FindHyp( const _pyID& theHypID );
|
Handle(_pyHypothesis) FindHyp( const _pyID& theHypID );
|
||||||
Handle(_pyHypothesis) FindAlgo( const _pyID& theGeom, const _pyID& theMesh,
|
Handle(_pyHypothesis) FindAlgo( const _pyID& theGeom, const _pyID& theMesh,
|
||||||
const Handle(_pyHypothesis)& theHypothesis);
|
const Handle(_pyHypothesis)& theHypothesis);
|
||||||
|
Handle(_pySubMesh) FindSubMesh( const _pyID& theSubMeshID );
|
||||||
void ExchangeCommands( Handle(_pyCommand) theCmd1, Handle(_pyCommand) theCmd2 );
|
void ExchangeCommands( Handle(_pyCommand) theCmd1, Handle(_pyCommand) theCmd2 );
|
||||||
void SetCommandAfter( Handle(_pyCommand) theCmd, Handle(_pyCommand) theAfterCmd );
|
void SetCommandAfter( Handle(_pyCommand) theCmd, Handle(_pyCommand) theAfterCmd );
|
||||||
|
void SetCommandBefore( Handle(_pyCommand) theCmd, Handle(_pyCommand) theBeforeCmd );
|
||||||
|
Handle(_pyCommand)& GetLastCommand();
|
||||||
std::list< Handle(_pyCommand) >& GetCommands() { return myCommands; }
|
std::list< Handle(_pyCommand) >& GetCommands() { return myCommands; }
|
||||||
void SetAccessorMethod(const _pyID& theID, const char* theMethod );
|
void SetAccessorMethod(const _pyID& theID, const char* theMethod );
|
||||||
bool AddMeshAccessorMethod( Handle(_pyCommand) theCmd ) const;
|
bool AddMeshAccessorMethod( Handle(_pyCommand) theCmd ) const;
|
||||||
bool AddAlgoAccessorMethod( Handle(_pyCommand) theCmd ) const;
|
bool AddAlgoAccessorMethod( Handle(_pyCommand) theCmd ) const;
|
||||||
const char* AccessorMethod() const;
|
const char* AccessorMethod() const;
|
||||||
|
_pyID GenerateNewID( const _pyID& theID );
|
||||||
|
|
||||||
|
private:
|
||||||
|
void setNeighbourCommand( Handle(_pyCommand)& theCmd,
|
||||||
|
Handle(_pyCommand)& theOtherCmd,
|
||||||
|
const bool theIsAfter );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::map< _pyID, Handle(_pyMesh) > myMeshes;
|
std::map< _pyID, Handle(_pyMesh) > myMeshes;
|
||||||
|
std::map< _pyID, Handle(_pySubMesh) > mySubMeshes;
|
||||||
std::map< _pyID, Handle(_pyMeshEditor) > myMeshEditors;
|
std::map< _pyID, Handle(_pyMeshEditor) > myMeshEditors;
|
||||||
std::list< Handle(_pyHypothesis) > myHypos;
|
std::list< Handle(_pyHypothesis) > myHypos;
|
||||||
std::list< Handle(_pyCommand) > myCommands;
|
std::list< Handle(_pyCommand) > myCommands;
|
||||||
int myNbCommands;
|
int myNbCommands;
|
||||||
bool myHasPattern;
|
bool myHasPattern;
|
||||||
Resource_DataMapOfAsciiStringAsciiString& myID2AccessorMethod;
|
Resource_DataMapOfAsciiStringAsciiString& myID2AccessorMethod;
|
||||||
|
Resource_DataMapOfAsciiStringAsciiString& myObjectNames;
|
||||||
|
Handle(_pyCommand) myLastCommand;
|
||||||
|
Handle(_pyFilterManager) myFilterManager;
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTI (_pyGen)
|
DEFINE_STANDARD_RTTI (_pyGen)
|
||||||
};
|
};
|
||||||
@ -208,7 +227,7 @@ class _pyMesh: public _pyObject
|
|||||||
{
|
{
|
||||||
std::list< Handle(_pyHypothesis) > myHypos;
|
std::list< Handle(_pyHypothesis) > myHypos;
|
||||||
std::list< Handle(_pyCommand) > myAddHypCmds;
|
std::list< Handle(_pyCommand) > myAddHypCmds;
|
||||||
std::list< Handle(_pyCommand) > mySubmeshes;
|
std::list< Handle(_pySubMesh) > mySubmeshes;
|
||||||
bool myHasEditor;
|
bool myHasEditor;
|
||||||
public:
|
public:
|
||||||
_pyMesh(const Handle(_pyCommand) creationCmd);
|
_pyMesh(const Handle(_pyCommand) creationCmd);
|
||||||
@ -297,12 +316,14 @@ public:
|
|||||||
{ return myType2CreationMethod.find( algoType ) != myType2CreationMethod.end(); }
|
{ return myType2CreationMethod.find( algoType ) != myType2CreationMethod.end(); }
|
||||||
const TCollection_AsciiString& GetCreationMethod(const TCollection_AsciiString& algoType) const
|
const TCollection_AsciiString& GetCreationMethod(const TCollection_AsciiString& algoType) const
|
||||||
{ return myType2CreationMethod.find( algoType )->second; }
|
{ return myType2CreationMethod.find( algoType )->second; }
|
||||||
bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped && myMesh == theMesh; }
|
virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped && myMesh == theMesh; }
|
||||||
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
|
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
|
||||||
const _pyID& theMesh);
|
const _pyID& theMesh);
|
||||||
static Handle(_pyHypothesis) NewHypothesis( const Handle(_pyCommand)& theCreationCmd);
|
static Handle(_pyHypothesis) NewHypothesis( const Handle(_pyCommand)& theCreationCmd);
|
||||||
void Process( const Handle(_pyCommand)& theCommand);
|
void Process( const Handle(_pyCommand)& theCommand);
|
||||||
void Flush();
|
void Flush();
|
||||||
|
virtual void Assign( const Handle(_pyHypothesis)& theOther,
|
||||||
|
const _pyID& theMesh );
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTI (_pyHypothesis)
|
DEFINE_STANDARD_RTTI (_pyHypothesis)
|
||||||
};
|
};
|
||||||
@ -319,6 +340,7 @@ public:
|
|||||||
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
|
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
|
||||||
const _pyID& theMesh);
|
const _pyID& theMesh);
|
||||||
const char* AccessorMethod() const { return "GetAlgorithm()"; }
|
const char* AccessorMethod() const { return "GetAlgorithm()"; }
|
||||||
|
virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped; }
|
||||||
|
|
||||||
DEFINE_STANDARD_RTTI (_pyAlgorithm)
|
DEFINE_STANDARD_RTTI (_pyAlgorithm)
|
||||||
};
|
};
|
||||||
@ -390,4 +412,40 @@ public:
|
|||||||
};
|
};
|
||||||
DEFINE_STANDARD_HANDLE (_pySegmentLengthAroundVertexHyp, _pyHypothesis);
|
DEFINE_STANDARD_HANDLE (_pySegmentLengthAroundVertexHyp, _pyHypothesis);
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------
|
||||||
|
/*!
|
||||||
|
* \brief FilterManager creates only if at least one command invoked
|
||||||
|
*/
|
||||||
|
// -------------------------------------------------------------------------------------
|
||||||
|
class _pyFilterManager: public _pyObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
_pyFilterManager(const Handle(_pyCommand)& theCreationCmd);
|
||||||
|
void Process( const Handle(_pyCommand)& theCommand);
|
||||||
|
virtual void Flush();
|
||||||
|
|
||||||
|
DEFINE_STANDARD_RTTI (_pyFilterManager)
|
||||||
|
private:
|
||||||
|
int myCmdCount;
|
||||||
|
};
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------
|
||||||
|
/*!
|
||||||
|
* \brief SubMesh creation can be moved to the end of engine commands
|
||||||
|
*/
|
||||||
|
// -------------------------------------------------------------------------------------
|
||||||
|
class _pySubMesh: public _pyObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
_pySubMesh(const Handle(_pyCommand)& theCreationCmd);
|
||||||
|
void Process( const Handle(_pyCommand)& theCommand);
|
||||||
|
virtual void Flush();
|
||||||
|
void SetCreator( const Handle(_pyObject)& theCreator ) { myCreator = theCreator; }
|
||||||
|
|
||||||
|
DEFINE_STANDARD_RTTI (_pyFilterManager)
|
||||||
|
private:
|
||||||
|
int myCmdCount;
|
||||||
|
Handle(_pyObject) myCreator;
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -59,10 +59,10 @@ namespace SMESH
|
|||||||
{
|
{
|
||||||
if(--myCounter == 0){
|
if(--myCounter == 0){
|
||||||
SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen();
|
SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen();
|
||||||
|
std::string aString = myStream.str();
|
||||||
|
TCollection_AsciiString aCollection(Standard_CString(aString.c_str()));
|
||||||
SALOMEDS::Study_ptr aStudy = aSMESHGen->GetCurrentStudy();
|
SALOMEDS::Study_ptr aStudy = aSMESHGen->GetCurrentStudy();
|
||||||
if(!aStudy->_is_nil()){
|
if(!aStudy->_is_nil() && !aCollection.IsEmpty()){
|
||||||
std::string aString = myStream.str();
|
|
||||||
TCollection_AsciiString aCollection(Standard_CString(aString.c_str()));
|
|
||||||
aSMESHGen->AddToPythonScript(aStudy->StudyId(),aCollection);
|
aSMESHGen->AddToPythonScript(aStudy->StudyId(),aCollection);
|
||||||
if(MYDEBUG) MESSAGE(aString);
|
if(MYDEBUG) MESSAGE(aString);
|
||||||
}
|
}
|
||||||
@ -684,7 +684,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
|
|||||||
// Some objects are wrapped with python classes and
|
// Some objects are wrapped with python classes and
|
||||||
// Resource_DataMapOfAsciiStringAsciiString holds methods returning wrapped objects
|
// Resource_DataMapOfAsciiStringAsciiString holds methods returning wrapped objects
|
||||||
Resource_DataMapOfAsciiStringAsciiString anEntry2AccessorMethod;
|
Resource_DataMapOfAsciiStringAsciiString anEntry2AccessorMethod;
|
||||||
aScript = SMESH_2smeshpy::ConvertScript( aScript, anEntry2AccessorMethod );
|
aScript = SMESH_2smeshpy::ConvertScript( aScript, anEntry2AccessorMethod, theObjectNames );
|
||||||
|
|
||||||
// Find entries to be replaced by names
|
// Find entries to be replaced by names
|
||||||
Handle(TColStd_HSequenceOfInteger) aSeq = FindEntries(aScript);
|
Handle(TColStd_HSequenceOfInteger) aSeq = FindEntries(aScript);
|
||||||
@ -832,8 +832,6 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
|
|||||||
|
|
||||||
// Set object names
|
// Set object names
|
||||||
anUpdatedScript += "\n\t## set object names";
|
anUpdatedScript += "\n\t## set object names";
|
||||||
anUpdatedScript += helper + " \n\tisGUIMode = " + isPublished;
|
|
||||||
anUpdatedScript += "\n\tif isGUIMode and salome.sg.hasDesktop():";
|
|
||||||
// anUpdatedScript += "\n\t\tsmeshgui = salome.ImportComponentGUI(\"SMESH\")";
|
// anUpdatedScript += "\n\t\tsmeshgui = salome.ImportComponentGUI(\"SMESH\")";
|
||||||
// anUpdatedScript += "\n\t\tsmeshgui.Init(theStudy._get_StudyId())";
|
// anUpdatedScript += "\n\t\tsmeshgui.Init(theStudy._get_StudyId())";
|
||||||
// anUpdatedScript += "\n";
|
// anUpdatedScript += "\n";
|
||||||
@ -852,13 +850,14 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
|
|||||||
aName = theObjectNames.Find(anEntry);
|
aName = theObjectNames.Find(anEntry);
|
||||||
aGUIName = theNames.Find(anEntry);
|
aGUIName = theNames.Find(anEntry);
|
||||||
mapEntries.Bind(anEntry, aName);
|
mapEntries.Bind(anEntry, aName);
|
||||||
anUpdatedScript += helper + "\n\t\t" + aSmeshpy + ".SetName(" + aName;
|
anUpdatedScript += helper + "\n\t" + aSMESHGen + ".SetName(" + aName;
|
||||||
if ( anEntry2AccessorMethod.IsBound( anEntry ) )
|
if ( anEntry2AccessorMethod.IsBound( anEntry ) )
|
||||||
anUpdatedScript += helper + "." + anEntry2AccessorMethod( anEntry );
|
anUpdatedScript += helper + "." + anEntry2AccessorMethod( anEntry );
|
||||||
anUpdatedScript += helper + ", '" + aGUIName + "')";
|
anUpdatedScript += helper + ", '" + aGUIName + "')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
anUpdatedScript += "\n\n\t\tsalome.sg.updateObjBrowser(0)";
|
anUpdatedScript += "\n\tif salome.sg.hasDesktop():";
|
||||||
|
anUpdatedScript += "\n\t\tsalome.sg.updateObjBrowser(0)";
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
// store visual properties of displayed objects
|
// store visual properties of displayed objects
|
||||||
@ -874,7 +873,6 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
|
|||||||
CORBA::string_free(script);
|
CORBA::string_free(script);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
anUpdatedScript += "\n\n\tpass\n";
|
anUpdatedScript += "\n\n\tpass\n";
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
|
@ -4146,6 +4146,25 @@ CORBA::Long SMESH_Gen_i::GetObjectId(CORBA::Object_ptr theObject)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* SMESH_Gen_i::SetName
|
||||||
|
*
|
||||||
|
* Set a new object name
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
void SMESH_Gen_i::SetName(const char* theIOR,
|
||||||
|
const char* theName)
|
||||||
|
{
|
||||||
|
if ( theIOR && strcmp( theIOR, "" ) ) {
|
||||||
|
CORBA::Object_var anObject = GetORB()->string_to_object( theIOR );
|
||||||
|
SALOMEDS::SObject_var aSO = ObjectToSObject( myCurrentStudy, anObject );
|
||||||
|
if ( !aSO->_is_nil() ) {
|
||||||
|
SetName( aSO, theName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* SMESHEngine_factory
|
* SMESHEngine_factory
|
||||||
|
@ -176,6 +176,10 @@ public:
|
|||||||
// *****************************************
|
// *****************************************
|
||||||
// Interface methods
|
// Interface methods
|
||||||
// *****************************************
|
// *****************************************
|
||||||
|
// Set a new Mesh object name
|
||||||
|
void SetName(const char* theIOR,
|
||||||
|
const char* theName);
|
||||||
|
|
||||||
//GEOM::GEOM_Gen_ptr SetGeomEngine( const char* containerLoc );
|
//GEOM::GEOM_Gen_ptr SetGeomEngine( const char* containerLoc );
|
||||||
void SetGeomEngine( GEOM::GEOM_Gen_ptr geomcompo );
|
void SetGeomEngine( GEOM::GEOM_Gen_ptr geomcompo );
|
||||||
|
|
||||||
|
@ -1988,10 +1988,6 @@ void SMESH_Mesh_i::ExportToMED (const char* file,
|
|||||||
{
|
{
|
||||||
Unexpect aCatch(SALOME_SalomeException);
|
Unexpect aCatch(SALOME_SalomeException);
|
||||||
|
|
||||||
// Update Python script
|
|
||||||
TPythonDump() << _this() << ".ExportToMED( '"
|
|
||||||
<< file << "', " << auto_groups << ", " << theVersion << " )";
|
|
||||||
|
|
||||||
// Perform Export
|
// Perform Export
|
||||||
PrepareForWriting(file);
|
PrepareForWriting(file);
|
||||||
const char* aMeshName = "Mesh";
|
const char* aMeshName = "Mesh";
|
||||||
@ -2000,10 +1996,6 @@ void SMESH_Mesh_i::ExportToMED (const char* file,
|
|||||||
SALOMEDS::SObject_var aMeshSO = _gen_i->ObjectToSObject( aStudy, _this() );
|
SALOMEDS::SObject_var aMeshSO = _gen_i->ObjectToSObject( aStudy, _this() );
|
||||||
if ( !aMeshSO->_is_nil() ) {
|
if ( !aMeshSO->_is_nil() ) {
|
||||||
aMeshName = aMeshSO->GetName();
|
aMeshName = aMeshSO->GetName();
|
||||||
//SCRUTE(file);
|
|
||||||
//SCRUTE(aMeshName);
|
|
||||||
//SCRUTE(aMeshSO->GetID());
|
|
||||||
|
|
||||||
// asv : 27.10.04 : fix of 6903: check for StudyLocked before adding attributes
|
// asv : 27.10.04 : fix of 6903: check for StudyLocked before adding attributes
|
||||||
if ( !aStudy->GetProperties()->IsLocked() )
|
if ( !aStudy->GetProperties()->IsLocked() )
|
||||||
{
|
{
|
||||||
@ -2022,6 +2014,16 @@ void SMESH_Mesh_i::ExportToMED (const char* file,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Update Python script
|
||||||
|
// set name of mesh before export
|
||||||
|
TPythonDump() << _gen_i << ".SetName(" << _this() << ", '" << aMeshName << "')";
|
||||||
|
|
||||||
|
// check names of groups
|
||||||
|
checkGroupNames();
|
||||||
|
|
||||||
|
TPythonDump() << _this() << ".ExportToMED( '"
|
||||||
|
<< file << "', " << auto_groups << ", " << theVersion << " )";
|
||||||
|
|
||||||
_impl->ExportMED( file, aMeshName, auto_groups, theVersion );
|
_impl->ExportMED( file, aMeshName, auto_groups, theVersion );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2038,6 +2040,8 @@ void SMESH_Mesh_i::ExportDAT (const char *file)
|
|||||||
Unexpect aCatch(SALOME_SalomeException);
|
Unexpect aCatch(SALOME_SalomeException);
|
||||||
|
|
||||||
// Update Python script
|
// Update Python script
|
||||||
|
// check names of groups
|
||||||
|
checkGroupNames();
|
||||||
TPythonDump() << _this() << ".ExportDAT( '" << file << "' )";
|
TPythonDump() << _this() << ".ExportDAT( '" << file << "' )";
|
||||||
|
|
||||||
// Perform Export
|
// Perform Export
|
||||||
@ -2051,6 +2055,8 @@ void SMESH_Mesh_i::ExportUNV (const char *file)
|
|||||||
Unexpect aCatch(SALOME_SalomeException);
|
Unexpect aCatch(SALOME_SalomeException);
|
||||||
|
|
||||||
// Update Python script
|
// Update Python script
|
||||||
|
// check names of groups
|
||||||
|
checkGroupNames();
|
||||||
TPythonDump() << _this() << ".ExportUNV( '" << file << "' )";
|
TPythonDump() << _this() << ".ExportUNV( '" << file << "' )";
|
||||||
|
|
||||||
// Perform Export
|
// Perform Export
|
||||||
@ -2064,6 +2070,8 @@ void SMESH_Mesh_i::ExportSTL (const char *file, const bool isascii)
|
|||||||
Unexpect aCatch(SALOME_SalomeException);
|
Unexpect aCatch(SALOME_SalomeException);
|
||||||
|
|
||||||
// Update Python script
|
// Update Python script
|
||||||
|
// check names of groups
|
||||||
|
checkGroupNames();
|
||||||
TPythonDump() << _this() << ".ExportSTL( '" << file << "', " << isascii << " )";
|
TPythonDump() << _this() << ".ExportSTL( '" << file << "', " << isascii << " )";
|
||||||
|
|
||||||
// Perform Export
|
// Perform Export
|
||||||
@ -3000,3 +3008,41 @@ SALOME_MED::MedFileInfo* SMESH_Mesh_i::GetMEDFileInfo()
|
|||||||
}
|
}
|
||||||
return res._retn();
|
return res._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Check and correct names of mesh groups
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
void SMESH_Mesh_i::checkGroupNames()
|
||||||
|
{
|
||||||
|
int nbGrp = NbGroups();
|
||||||
|
if ( !nbGrp )
|
||||||
|
return;
|
||||||
|
|
||||||
|
SALOMEDS::Study_ptr aStudy = _gen_i->GetCurrentStudy();
|
||||||
|
if ( aStudy->_is_nil() )
|
||||||
|
return; // nothing to do
|
||||||
|
|
||||||
|
SMESH::ListOfGroups* grpList = 0;
|
||||||
|
// avoid dump of "GetGroups"
|
||||||
|
{
|
||||||
|
// store python dump into a local variable inside local scope
|
||||||
|
SMESH::TPythonDump pDump; // do not delete this line of code
|
||||||
|
grpList = GetGroups();
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( int gIndx = 0; gIndx < nbGrp; gIndx++ ) {
|
||||||
|
SMESH::SMESH_GroupBase_ptr aGrp = (*grpList)[ gIndx ];
|
||||||
|
if ( !aGrp )
|
||||||
|
continue;
|
||||||
|
SALOMEDS::SObject_var aGrpSO = _gen_i->ObjectToSObject( aStudy, aGrp );
|
||||||
|
if ( aGrpSO->_is_nil() )
|
||||||
|
continue;
|
||||||
|
// correct name of the mesh group if necessary
|
||||||
|
const char* guiName = aGrpSO->GetName();
|
||||||
|
if ( strcmp(guiName, aGrp->GetName()) )
|
||||||
|
aGrp->SetName( guiName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -471,6 +471,12 @@ public:
|
|||||||
std::map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
|
std::map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
|
||||||
std::map<int, ::SMESH_subMesh*> _mapSubMesh; //NRI
|
std::map<int, ::SMESH_subMesh*> _mapSubMesh; //NRI
|
||||||
|
|
||||||
|
private:
|
||||||
|
/*!
|
||||||
|
* Check and correct names of mesh groups
|
||||||
|
*/
|
||||||
|
void checkGroupNames();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
static int myIdGenerator;
|
static int myIdGenerator;
|
||||||
|
@ -53,7 +53,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
static TCollection_AsciiString
|
static TCollection_AsciiString
|
||||||
ConvertScript(const TCollection_AsciiString& theScript,
|
ConvertScript(const TCollection_AsciiString& theScript,
|
||||||
Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod);
|
Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
|
||||||
|
Resource_DataMapOfAsciiStringAsciiString& theObjectNames);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Return the name of the python file wrapping IDL API
|
* \brief Return the name of the python file wrapping IDL API
|
||||||
|
@ -172,18 +172,6 @@ def GetName(obj):
|
|||||||
attr = sobj.FindAttribute("AttributeName")[1]
|
attr = sobj.FindAttribute("AttributeName")[1]
|
||||||
return attr.Value()
|
return attr.Value()
|
||||||
|
|
||||||
## Sets a name to the object
|
|
||||||
def SetName(obj, name):
|
|
||||||
if isinstance( obj, Mesh ):
|
|
||||||
obj = obj.GetMesh()
|
|
||||||
elif isinstance( obj, Mesh_Algorithm ):
|
|
||||||
obj = obj.GetAlgorithm()
|
|
||||||
ior = salome.orb.object_to_string(obj)
|
|
||||||
sobj = salome.myStudy.FindObjectIOR(ior)
|
|
||||||
if not sobj is None:
|
|
||||||
attr = sobj.FindAttribute("AttributeName")[1]
|
|
||||||
attr.SetValue(name)
|
|
||||||
|
|
||||||
## Prints error message if a hypothesis was not assigned.
|
## Prints error message if a hypothesis was not assigned.
|
||||||
def TreatHypoStatus(status, hypName, geomName, isAlgo):
|
def TreatHypoStatus(status, hypName, geomName, isAlgo):
|
||||||
if isAlgo:
|
if isAlgo:
|
||||||
@ -314,6 +302,19 @@ class smeshDC(SMESH._objref_SMESH_Gen):
|
|||||||
# From SMESH_Gen interface:
|
# From SMESH_Gen interface:
|
||||||
# ------------------------
|
# ------------------------
|
||||||
|
|
||||||
|
## Sets the given name to the object
|
||||||
|
# @param obj the object to rename
|
||||||
|
# @param name a new object name
|
||||||
|
# @ingroup l1_auxiliary
|
||||||
|
def SetName(self, obj, name):
|
||||||
|
print "obj_name = ", name
|
||||||
|
if isinstance( obj, Mesh ):
|
||||||
|
obj = obj.GetMesh()
|
||||||
|
elif isinstance( obj, Mesh_Algorithm ):
|
||||||
|
obj = obj.GetAlgorithm()
|
||||||
|
ior = salome.orb.object_to_string(obj)
|
||||||
|
SMESH._objref_SMESH_Gen.SetName(self, ior, name)
|
||||||
|
|
||||||
## Sets the current mode
|
## Sets the current mode
|
||||||
# @ingroup l1_auxiliary
|
# @ingroup l1_auxiliary
|
||||||
def SetEmbeddedMode( self,theMode ):
|
def SetEmbeddedMode( self,theMode ):
|
||||||
@ -557,6 +558,12 @@ class smeshDC(SMESH._objref_SMESH_Gen):
|
|||||||
else:
|
else:
|
||||||
print "Error: given parameter is not numerucal functor type."
|
print "Error: given parameter is not numerucal functor type."
|
||||||
|
|
||||||
|
## Creates hypothesis
|
||||||
|
# @param
|
||||||
|
# @param
|
||||||
|
# @return created hypothesis instance
|
||||||
|
def CreateHypothesis(self, theHType, theLibName="libStdMeshersEngine.so"):
|
||||||
|
return SMESH._objref_SMESH_Gen.CreateHypothesis(self, theHType, theLibName )
|
||||||
|
|
||||||
import omniORB
|
import omniORB
|
||||||
#Registering the new proxy for SMESH_Gen
|
#Registering the new proxy for SMESH_Gen
|
||||||
@ -600,9 +607,9 @@ class Mesh:
|
|||||||
else:
|
else:
|
||||||
self.mesh = self.smeshpyD.CreateEmptyMesh()
|
self.mesh = self.smeshpyD.CreateEmptyMesh()
|
||||||
if name != 0:
|
if name != 0:
|
||||||
SetName(self.mesh, name)
|
self.smeshpyD.SetName(self.mesh, name)
|
||||||
elif obj != 0:
|
elif obj != 0:
|
||||||
SetName(self.mesh, GetName(obj))
|
self.smeshpyD.SetName(self.mesh, GetName(obj))
|
||||||
|
|
||||||
if not self.geom:
|
if not self.geom:
|
||||||
self.geom = self.mesh.GetShapeToMesh()
|
self.geom = self.mesh.GetShapeToMesh()
|
||||||
@ -633,7 +640,7 @@ class Mesh:
|
|||||||
# @param name a new name of the mesh
|
# @param name a new name of the mesh
|
||||||
# @ingroup l2_construct
|
# @ingroup l2_construct
|
||||||
def SetName(self, name):
|
def SetName(self, name):
|
||||||
SetName(self.GetMesh(), name)
|
self.smeshpyD.SetName(self.GetMesh(), name)
|
||||||
|
|
||||||
## Gets the subMesh object associated to a \a theSubObject geometrical object.
|
## Gets the subMesh object associated to a \a theSubObject geometrical object.
|
||||||
# The subMesh object gives access to the IDs of nodes and elements.
|
# The subMesh object gives access to the IDs of nodes and elements.
|
||||||
@ -2915,7 +2922,7 @@ class Mesh_Algorithm:
|
|||||||
|
|
||||||
## Sets the name to the algorithm
|
## Sets the name to the algorithm
|
||||||
def SetName(self, name):
|
def SetName(self, name):
|
||||||
SetName(self.algo, name)
|
self.mesh.smeshpyD.SetName(self.algo, name)
|
||||||
|
|
||||||
## Gets the id of the algorithm
|
## Gets the id of the algorithm
|
||||||
def GetId(self):
|
def GetId(self):
|
||||||
@ -2978,7 +2985,7 @@ class Mesh_Algorithm:
|
|||||||
s = ","
|
s = ","
|
||||||
i = i + 1
|
i = i + 1
|
||||||
pass
|
pass
|
||||||
SetName(hypo, hyp + a)
|
self.mesh.smeshpyD.SetName(hypo, hyp + a)
|
||||||
pass
|
pass
|
||||||
status = self.mesh.mesh.AddHypothesis(self.geom, hypo)
|
status = self.mesh.mesh.AddHypothesis(self.geom, hypo)
|
||||||
TreatHypoStatus( status, GetName(hypo), GetName(self.geom), 0 )
|
TreatHypoStatus( status, GetName(hypo), GetName(self.geom), 0 )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user