1) fix CheckObjectPresence() to check presence of not only published
objects but also of e.g. mesh editors etc.
2) Avoid adding empty strings cleared by CheckObjectPresence()
3) Optimize performance of search of myKeepAgrCmdsIDs in commands by
- using _pyStringFamily
- preventing addition of Groups to myKeepAgrCmdsIDs
1) New general mechanism to avoid dump of functors not used later as arguments
2) Use the New general mechanism to filters and sub-meshes
3) Erase the 1st incarnation of re-created objects.
A re-created object appears e.g. as follows:
- create a mesh
- remove the mesh
- save and re-open the study
- create another mesh -> ( two meshes have same Entry ) == ( the 1st mesh is re-created )
1)
+ void _pyGen::addFilterUser( Handle(_pyCommand)& theCmd, const Handle(_pyObject)& user );
2)
+ * \brief Replaces "mesh.GetIDSource([id1,id2])" argument of a given command by
+ * a list "[id1,id2]" if the list is an accesible type of argument.
+ */
+ void GetIDSourceToList( Handle( _pyCommand)& theCommand )
3)
+ * \brief Replaces "SMESH.PointStruct(x,y,z)" and "SMESH.DirStruct( SMESH.PointStruct(x,y,z))"
+ * arguments of a given command by a list "[x,y,z]" if the list is accesible
+ * type of argument.
+ */
+ void StructToList( Handle( _pyCommand)& theCommand )
1) Do not erase "mesh.Compute()" command if the next command
"[ group1, group2 ] = mesh.GetGroups()" dumps groups created by some algorithm.
2) Clear "mesh.RemoveGroup( group )" command
3) Clear "[ group1, group2 ] = mesh.GetGroups()" command if the groups
are removed later.