0021014: EDF 1583 SMESH: Improvement of the Python Dump for the creation of groups

+class _pyGroup
+class _pyFilter
This commit is contained in:
eap 2011-06-23 12:15:16 +00:00
parent 00b26b695f
commit c31705d887

View File

@ -69,7 +69,6 @@ class _pyMesh;
class _pySubMesh; 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);
@ -78,7 +77,6 @@ DEFINE_STANDARD_HANDLE (_pyMesh ,_pyObject);
DEFINE_STANDARD_HANDLE (_pySubMesh ,_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;
@ -183,7 +181,6 @@ class _pyGen: public _pyObject
public: public:
_pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod, _pyGen(Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
Resource_DataMapOfAsciiStringAsciiString& theObjectNames); Resource_DataMapOfAsciiStringAsciiString& theObjectNames);
//~_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 );
void Flush(); void Flush();
@ -201,6 +198,7 @@ public:
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 ); _pyID GenerateNewID( const _pyID& theID );
void AddObject( Handle(_pyObject)& theObj );
private: private:
void setNeighbourCommand( Handle(_pyCommand)& theCmd, void setNeighbourCommand( Handle(_pyCommand)& theCmd,
@ -209,7 +207,6 @@ private:
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::map< _pyID, Handle(_pyObject) > myObjects; std::map< _pyID, Handle(_pyObject) > myObjects;
std::list< Handle(_pyHypothesis) > myHypos; std::list< Handle(_pyHypothesis) > myHypos;
@ -246,7 +243,6 @@ private:
static void AddMeshAccess( const Handle(_pyCommand)& theCommand ) static void AddMeshAccess( const Handle(_pyCommand)& theCommand )
{ theCommand->SetObject( theCommand->GetObject() + "." _pyMesh_ACCESS_METHOD ); } { theCommand->SetObject( theCommand->GetObject() + "." _pyMesh_ACCESS_METHOD ); }
//friend class _pyMeshEditor;
DEFINE_STANDARD_RTTI (_pyMesh) DEFINE_STANDARD_RTTI (_pyMesh)
}; };
#undef _pyMesh_ACCESS_METHOD #undef _pyMesh_ACCESS_METHOD
@ -451,5 +447,36 @@ public:
private: private:
Handle(_pyObject) myCreator; Handle(_pyObject) myCreator;
}; };
// -------------------------------------------------------------------------------------
/*!
* \brief To convert creation of a group by filter
*/
// -------------------------------------------------------------------------------------
class _pyGroup: public _pyObject
{
public:
_pyGroup(const Handle(_pyCommand)& theCreationCmd):_pyObject(theCreationCmd) {}
void Process( const Handle(_pyCommand)& theCommand);
virtual void Flush() {}
DEFINE_STANDARD_RTTI (_pyGroup)
};
DEFINE_STANDARD_HANDLE (_pyGroup, _pyObject);
// -------------------------------------------------------------------------------------
/*!
* \brief A filter
*/
// -------------------------------------------------------------------------------------
class _pyFilter: public _pyObject
{
public:
_pyFilter(const Handle(_pyCommand)& theCreationCmd):_pyObject(theCreationCmd) {}
void Process( const Handle(_pyCommand)& theCommand);
virtual void Flush() {}
DEFINE_STANDARD_RTTI (_pyFilter)
};
DEFINE_STANDARD_HANDLE (_pyFilter, _pyObject);
#endif #endif