+// -------------------------------------------------------------------------------------
+/*!
+ * \brief SelfEraser erases creation command if no more it's commands invoked
+ */
+// -------------------------------------------------------------------------------------
+class _pySelfEraser: public _pyObject
+{
+public:
+ _pySelfEraser(const Handle(_pyCommand)& theCreationCmd):_pyObject(theCreationCmd) {}
+ virtual void Flush();
+
+ DEFINE_STANDARD_RTTI (_pySelfEraser)
+};
+DEFINE_STANDARD_HANDLE (_pySelfEraser, _pyObject);
+
+// -------------------------------------------------------------------------------------
+/*!
+ * \brief SubMesh creation can be moved to the end of engine commands
+ */
+// -------------------------------------------------------------------------------------
+class _pySubMesh: public _pyObject
+{
+public:
+ _pySubMesh(const Handle(_pyCommand)& theCreationCmd):_pyObject(theCreationCmd) {}
+ void Process( const Handle(_pyCommand)& theCommand);
+ virtual void Flush();
+ void SetCreator( const Handle(_pyObject)& theCreator ) { myCreator = theCreator; }
+
+ DEFINE_STANDARD_RTTI (_pySubMesh)
+private:
+ Handle(_pyObject) myCreator;