eap [Thu, 8 Aug 2013 11:05:20 +0000 (11:05 +0000)]
Fix for
==3768== Conditional jump or move depends on uninitialised value(s)
==3768== at 0x4C22ED8: strlen (mc_replace_strmem.c:275)
==3768== by 0x1081E60B: std::string::operator=(char const*) (in /usr/lib64/libstdc++.so.6.0.12)
==3768== by 0x40757F29: UNV164::Read(std::basic_ifstream<char, std::char_traits<char> >&, UNV164::TRecord&) (UNV164_Structure.cxx:49)
eap [Mon, 5 Aug 2013 10:58:04 +0000 (10:58 +0000)]
Prevent SIGSEGV
if ( !anActor ) anActor = SMESH::CreateActor( aMeshSObj->GetStudy(), aMeshSObj->GetID().c_str(), true );
+ if ( anActor ) // actor is not created for an empty mesh
+ {
+ anActor->SetEntityMode( entities );
prascle [Sat, 3 Aug 2013 11:11:12 +0000 (11:11 +0000)]
PR : merge from V7_2_1p1
memory leaks, bug in import 1D for cracks
M src/SMDS/SMDS_UnstructuredGrid.cxx
M src/SMESH/SMESH_MeshEditor.cxx
M src/SMESH/SMESH_MesherHelper.cxx
M src/SMESHUtils/SMESH_MeshAlgos.cxx
M src/SMESHUtils/SMESH_MeshAlgos.hxx
M src/SMESHUtils/SMESH_Octree.hxx
M src/SMESHUtils/SMESH_Tree.hxx
M src/SMESH_PY/smeshstudytools.py
M src/StdMeshers/StdMeshers_Import_1D.cxx
1) SALOME Forum bug: structured mesh is not strictly rectilinear with Viscous Layers.
http://www.salome-platform.org/forum/forum_10/998544058
2) Fix failure on a revolved rectangle with a VL on a concave face and a
VL thickness about a half-thickness of the revolved.
SALOME Forum bug: structured mesh is not strictly rectilinear with Viscous Layers.
http://www.salome-platform.org/forum/forum_10/998544058
class SMESH_2D_Algo
{
+ /*!
+ * \brief Method in which an algorithm generating a structured mesh
+ * fixes positions of in-face nodes after there movement
+ * due to insertion of viscous layers.
+ */
+ virtual bool FixInternalNodes(const SMESH_ProxyMesh& mesh,
+ const TopoDS_Face& face);
SALOME Forum bug: sub-mesh removal leads to an Exception in a re-opened study.
Now UnRegister(), corresponding to the Register() called by AttributeIOR,
is invoked by an object publisher i.e. by SMESH_Gen_i::publish() but not by GUI
because GUI is unable to track publication of all objects created by the Engine:
for example groups can be created while mesh.Compute() is called.
SALOME Forum bug: sub-mesh removal leads to an Exception in a re-opened study.
1) call myFilterDlg->UnRegisterFilters();
2) re-create an actor after converting a group to standalone as a
CORBA object becomes different from that held by the actor
SALOME Forum bug: sub-mesh removal leads to an Exception in a re-opened study.
Now UnRegister(), corresponding to the Register() called by AttributeIOR,
is invoked by an object publisher i.e. by SMESH_Gen_i::publish() but not by GUI
because GUI is unable to track publication of all objects created by the Engine:
for example groups can be created while mesh.Compute() is called.
BUG: EDF 2655: Hexa splitting into tetra low performance
A better fix has been found by improving the getNextFree() method in ObjectPool.hxx. When there is no "hole" in the ID list we don't iterate on the _freeList to find the next free ID. We jump straight to the last occupied ID.
This fix is simpler and can benefit to other methods of SMESH_Editor like QuadTo4Tri for example.
BUG: EDF 2655: Low performance of hexa to tetra splitting
The whole procedure performance was almost O(n^2) due to insertion of for example 5 elements in a mesh with a free ID at the beginning. The second element is then inserted with a O(n) complexity.
The hexas are now removed after all tetra insertions, which guarantees a O(n) complexity for the whole procedure at a limited memory cost (transient additional cost of 1/5 of total memory occupation at the end).
0020976: EDF 1471 SMESH: New ergonomy to display quality controls
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 )
0021708: [CEA 586] Object browser sort only children:
+ Add Use Case browser data tree management
+ Add "Sort children" contextual menu popup item
+ Update user documentation
+ int _computeCost; //!< "compute cost" of shapes being Compute()d
+ int _progressTic; //!< counter of calls from SMESH_Mesh::GetComputeProgress()
+ double _progress; //!< progress of Compute() [0.,1.]