eap [Fri, 8 Oct 2010 10:02:38 +0000 (10:02 +0000)]
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Fix pb of intersecting triangles
* re-check all adjacent pyramids if at least one merge occures
* increase threshold of merge of adjacent pyramids up to 15 degrees to avoid
bad (flat) tetrahedrons created by NETEGN
eap [Wed, 6 Oct 2010 08:42:50 +0000 (08:42 +0000)]
0021021: EDF 1586 SMESH: Memory saturation when using start and end length
protect from too large segment lengths with geometric and
arithmetic progression hypotheses
+ SMESH::SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements,
+ in Bnd_Dimension dimension,
+ in string groupName,
+ in string meshName,
+ in boolean toCopyElements,
+ in boolean toCopyExistingBondary,
+ out SMESH_Group group);
eap [Fri, 1 Oct 2010 12:53:07 +0000 (12:53 +0000)]
0021015: EDF 1578 SMESH: Free nodes are removed when translating a mesh
* Pass empty set of elements if the whole mesh is to be transformed
* Fix incorrect treatment of groups of nodes
* Call SMESH_MeshEditor::Transform() from Scale*()
eap [Fri, 1 Oct 2010 12:48:49 +0000 (12:48 +0000)]
0021015: EDF 1578 SMESH: Free nodes are removed when translating a mesh
* Treate orphan nodes in Transform()
* Remove Scale() as being a paricular case of Transform()
0020996: EDF 1549 SMESH: Projection 1D/2D algorithms fail
implement FindFaceAssociation() by UV correspondence which is used
in case if correspondent vertices belong to inner wires
0020996: EDF 1549 SMESH: Projection 1D/2D algorithms fail
Fix FindFaceAssociation():
1) exit from loop on outer_wire_algo as soon as solution is found
2) treat edges of inner wires
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
- if ( !subMeshId )
+ if ( !subMeshId && ! _impl->GetMeshDS()->IsGroupOfSubShapes( myLocSubShape ))
THROW_SALOME_CORBA_EXCEPTION("not sub-shape of the main shape", SALOME::BAD_PARAM);
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Fix fillAncestorsMap(theShape) for the case if a sub-shape of
theShape is not in _mapAncestors
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Move all checks of shape validity from AddCompoundSubmesh() to IsGroupOfSubShapes()
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
bool IsLinked (const SMDS_MeshNode* theNode1,
const SMDS_MeshNode* theNode2,
+ const bool theIgnoreMediumNodes=false) const;
// Return true if theNode1 is linked with theNode2.
+ // If theIgnoreMediumNodes then corner nodes of quadratic cell are considered linked as well
0020876: EDF 1246 SMESH: DoubleNodes fonctions available in the GUI
No need in new commands in smeshDC.py, so DoubleNodeXXXNew() is replaced by DoubleNodeXXX()
## Finds groups of ajacent nodes within Tolerance.
# @param Tolerance the value of tolerance
# @param SubMeshOrGroup SubMesh or Group
+ # @param exceptNodes list of either SubMeshes, Groups or node IDs to exclude from search
# @return the list of groups of nodes
# @ingroup l2_modif_trsf
- def FindCoincidentNodesOnPart (self, SubMeshOrGroup, Tolerance):
+ def FindCoincidentNodesOnPart (self, SubMeshOrGroup, Tolerance, exceptNodes=[]):
+ void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup,
+ in double Tolerance,
+ out array_of_long_array GroupsOfNodes,
+ in ListOfIDSources ExceptSubMeshOrGroups);
+
+ void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup,
+ in double Tolerance,
+ out array_of_long_array GroupsOfNodes,
+ in ListOfIDSources ExceptSubMeshOrGroups);
+
0020968: EDF1545 SMESH: Problem in de creation of a mesh group on geometry
Detect not computed sub-shapes in case if algo computes many
submeshes at once
bool SMESH_HypoFilter::IsMoreLocalThanPredicate::IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const
{
+ // issue 0020963
+ // if aShape is COMPOUND (i.e. most probably a GEOM group) then
+ // it is more local if it contains shapes of less dimension than _shapeType
+ ...
eap [Thu, 19 Aug 2010 13:28:02 +0000 (13:28 +0000)]
Fix for SIGSEGV on Mandriva2008 in optimize mode only
==21300== Invalid read of size 4
==21300== at 0x1445EA23: StdMeshers_Penta_3D::MakeVolumeMesh() (StdMeshers_Penta_3D.cxx:681)
while (aItNodes->more()) {
It seems to be an error of optimization, aItNodes.px becomes invalid
before aItNodes->more() returns false but after the loop code is
performed for the last time.