{
Handle(_pyCommand) myCreationCmd;
int myNbCalls;
+ bool myIsRemoved, myIsProtected;
+ std::list< Handle(_pyCommand) > myProcessedCmds;
public:
- _pyObject(const Handle(_pyCommand)& theCreationCmd)
- : myCreationCmd(theCreationCmd), myNbCalls(0) {}
+ _pyObject(const Handle(_pyCommand)& theCreationCmd);
const _pyID& GetID() { return myCreationCmd->GetResultValue(); }
static _pyID FatherID(const _pyID & childID);
const Handle(_pyCommand)& GetCreationCmd() { return myCreationCmd; }
int GetNbCalls() const { return myNbCalls; }
+ bool IsRemovedFromStudy() const { return myIsRemoved; }
void SetCreationCmd( Handle(_pyCommand) cmd ) { myCreationCmd = cmd; }
int GetCommandNb() { return myCreationCmd->GetOrderNb(); }
+ void AddProcessedCmd( const Handle(_pyCommand) & cmd )
+ { if ( !cmd.IsNull() ) myProcessedCmds.push_back( cmd ); }
virtual void Process(const Handle(_pyCommand) & theCommand) { myNbCalls++; }
virtual void Flush() = 0;
virtual const char* AccessorMethod() const;
const char* AccessorMethod() const;
_pyID GenerateNewID( const _pyID& theID );
void AddObject( Handle(_pyObject)& theObj );
+ Handle(_pyObject) FindObject( const _pyID& theObjID ) const;
+ bool IsDead(const _pyID& theObjID) const;
private:
void setNeighbourCommand( Handle(_pyCommand)& theCmd,
Resource_DataMapOfAsciiStringAsciiString& myID2AccessorMethod;
Resource_DataMapOfAsciiStringAsciiString& myObjectNames;
Handle(_pyCommand) myLastCommand;
+ int myNbFilters;
DEFINE_STANDARD_RTTI (_pyGen)
};
class _pyMesh: public _pyObject
{
std::list< Handle(_pyHypothesis) > myHypos;
- std::list< Handle(_pyCommand) > myAddHypCmds;
- std::list< Handle(_pySubMesh) > mySubmeshes;
- bool myHasEditor;
+ std::list< Handle(_pyCommand) > myAddHypCmds;
+ std::list< Handle(_pySubMesh) > mySubmeshes;
+ bool myHasEditor;
public:
_pyMesh(const Handle(_pyCommand) creationCmd);
_pyMesh(const Handle(_pyCommand) theCreationCmd, const TCollection_AsciiString & id);
_pyID myGeom, myMesh;
// a hypothesis can be used and created by different algos by different methods
std::map<TCollection_AsciiString, TCollection_AsciiString > myType2CreationMethod;
- //TCollection_AsciiString myCreationMethod, myType;
TColStd_SequenceOfAsciiString myArgs; // creation arguments
TColStd_SequenceOfAsciiString myArgMethods; // hypo methods setting myArgs
TColStd_SequenceOfInteger myNbArgsByMethod; // nb args set by each method
- std::list<Handle(_pyCommand)> myArgCommands;
- std::list<Handle(_pyCommand)> myUnknownCommands;
+ std::list<Handle(_pyCommand)> myArgCommands;
+ std::list<Handle(_pyCommand)> myUnknownCommands;
public:
_pyHypothesis(const Handle(_pyCommand)& theCreationCmd);
void SetConvMethodAndType(const char* creationMethod, const char* type)
{ return myType2CreationMethod.find( algoType ) != myType2CreationMethod.end(); }
const TCollection_AsciiString& GetCreationMethod(const TCollection_AsciiString& algoType) const
{ return myType2CreationMethod.find( algoType )->second; }
- virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped && myMesh == theMesh; }
+ virtual bool IsWrappable(const _pyID& theMesh) const;
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
const _pyID& theMesh);
static Handle(_pyHypothesis) NewHypothesis( const Handle(_pyCommand)& theCreationCmd);
// -------------------------------------------------------------------------------------
/*!
- * \brief A filter
+ * \brief A filter sets a human readable name to self
*/
// -------------------------------------------------------------------------------------
class _pyFilter: public _pyObject
{
+ _pyID myNewID;
public:
- _pyFilter(const Handle(_pyCommand)& theCreationCmd):_pyObject(theCreationCmd) {}
+ _pyFilter(const Handle(_pyCommand)& theCreationCmd, const _pyID& newID="");
void Process( const Handle(_pyCommand)& theCommand);
- virtual void Flush() {}
+ virtual void Flush();
+ const _pyID& GetNewID() const { return myNewID; }
DEFINE_STANDARD_RTTI (_pyFilter)
};