Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6bac08c
)
22834: [CEA 1347] Viscous layers: be able to choose the extrusion method (imp_1347_vi...
author
eap
<eap@opencascade.com>
Tue, 17 Feb 2015 13:23:19 +0000
(16:23 +0300)
committer
eap
<eap@opencascade.com>
Tue, 17 Feb 2015 13:23:19 +0000
(16:23 +0300)
+ fix some regressions
src/SMESH/SMESH_MeshEditor.cxx
patch
|
blob
|
history
src/SMESH_I/SMESH_Mesh_i.cxx
patch
|
blob
|
history
src/SMESH_SWIG/StdMeshersBuilder.py
patch
|
blob
|
history
src/StdMeshers/StdMeshers_NumberOfSegments.cxx
patch
|
blob
|
history
src/StdMeshers/StdMeshers_ViscousLayers.cxx
patch
|
blob
|
history
diff --git
a/src/SMESH/SMESH_MeshEditor.cxx
b/src/SMESH/SMESH_MeshEditor.cxx
index 4e673ebcea020be261c6edfa94b5ba3a80d5bf33..20aeb54af376c993c653786a6f76c5f502442d10 100644
(file)
--- a/
src/SMESH/SMESH_MeshEditor.cxx
+++ b/
src/SMESH/SMESH_MeshEditor.cxx
@@
-4352,6
+4352,7
@@
void SMESH_MeshEditor::sweepElement(const SMDS_MeshElement* elem,
std::swap( itNN[0], itNN[1] );
std::swap( prevNod[0], prevNod[1] );
std::swap( nextNod[0], nextNod[1] );
std::swap( itNN[0], itNN[1] );
std::swap( prevNod[0], prevNod[1] );
std::swap( nextNod[0], nextNod[1] );
+ isSingleNode.swap( isSingleNode[0], isSingleNode[1] );
if ( nbSame > 0 )
sames[0] = 1 - sames[0];
iNotSameNode = 1 - iNotSameNode;
if ( nbSame > 0 )
sames[0] = 1 - sames[0];
iNotSameNode = 1 - iNotSameNode;
diff --git
a/src/SMESH_I/SMESH_Mesh_i.cxx
b/src/SMESH_I/SMESH_Mesh_i.cxx
index 8ffd46ef774ab7b13e29552c6b5094fbf1838830..0e298af615634bafdb57df3e949399806c94070b 100644
(file)
--- a/
src/SMESH_I/SMESH_Mesh_i.cxx
+++ b/
src/SMESH_I/SMESH_Mesh_i.cxx
@@
-4739,7
+4739,6
@@
SMESH_Mesh_i::MakeGroupsOfBadInputElements( int theSubShapeID,
SALOMEDS::SObject_wrap aSO =
_gen_i->PublishGroup( study, mesh, groups[ iG ],
GEOM::GEOM_Object::_nil(), theGroupName);
SALOMEDS::SObject_wrap aSO =
_gen_i->PublishGroup( study, mesh, groups[ iG ],
GEOM::GEOM_Object::_nil(), theGroupName);
- aSO->_is_nil(); // avoid "unused variable" warning
}
SMESH_GroupBase_i* grp_i = SMESH::DownCast< SMESH_GroupBase_i* >( groups[ iG ]);
if ( !grp_i ) continue;
}
SMESH_GroupBase_i* grp_i = SMESH::DownCast< SMESH_GroupBase_i* >( groups[ iG ]);
if ( !grp_i ) continue;
diff --git
a/src/SMESH_SWIG/StdMeshersBuilder.py
b/src/SMESH_SWIG/StdMeshersBuilder.py
index 5b962142fc71c842cf67b449a5ac4b57993e2021..fcb3d2d3f9eda4cd7825858f13aa0e4b9c7d48fc 100644
(file)
--- a/
src/SMESH_SWIG/StdMeshersBuilder.py
+++ b/
src/SMESH_SWIG/StdMeshersBuilder.py
@@
-144,7
+144,7
@@
class StdMeshersBuilder_Segment(Mesh_Algorithm):
reversedEdges, UseExisting = [], reversedEdges
entry = self.MainShapeEntry()
reversedEdgeInd = self.ReversedEdgeIndices(reversedEdges)
reversedEdges, UseExisting = [], reversedEdges
entry = self.MainShapeEntry()
reversedEdgeInd = self.ReversedEdgeIndices(reversedEdges)
- if
s == []
:
+ if
not s
:
hyp = self.Hypothesis("NumberOfSegments", [n, reversedEdgeInd, entry],
UseExisting=UseExisting,
CompareMethod=self._compareNumberOfSegments)
hyp = self.Hypothesis("NumberOfSegments", [n, reversedEdgeInd, entry],
UseExisting=UseExisting,
CompareMethod=self._compareNumberOfSegments)
@@
-152,7
+152,6
@@
class StdMeshersBuilder_Segment(Mesh_Algorithm):
hyp = self.Hypothesis("NumberOfSegments", [n,s, reversedEdgeInd, entry],
UseExisting=UseExisting,
CompareMethod=self._compareNumberOfSegments)
hyp = self.Hypothesis("NumberOfSegments", [n,s, reversedEdgeInd, entry],
UseExisting=UseExisting,
CompareMethod=self._compareNumberOfSegments)
- hyp.SetDistrType( 1 )
hyp.SetScaleFactor(s)
hyp.SetNumberOfSegments(n)
hyp.SetReversedEdges( reversedEdgeInd )
hyp.SetScaleFactor(s)
hyp.SetNumberOfSegments(n)
hyp.SetReversedEdges( reversedEdgeInd )
@@
-1038,11
+1037,10
@@
class StdMeshersBuilder_Prism3D(Mesh_Algorithm):
if self.algoType != "RadialPrism_3D":
print "Prism_3D algorith doesn't support any hyposesis"
return None
if self.algoType != "RadialPrism_3D":
print "Prism_3D algorith doesn't support any hyposesis"
return None
- if
s == []
:
+ if
not s
:
hyp = self.OwnHypothesis("NumberOfSegments", [n])
else:
hyp = self.OwnHypothesis("NumberOfSegments", [n,s])
hyp = self.OwnHypothesis("NumberOfSegments", [n])
else:
hyp = self.OwnHypothesis("NumberOfSegments", [n,s])
- hyp.SetDistrType( 1 )
hyp.SetScaleFactor(s)
hyp.SetNumberOfSegments(n)
return hyp
hyp.SetScaleFactor(s)
hyp.SetNumberOfSegments(n)
return hyp
diff --git
a/src/StdMeshers/StdMeshers_NumberOfSegments.cxx
b/src/StdMeshers/StdMeshers_NumberOfSegments.cxx
index db970335234d5cb027d1db423a5113839ded2774..2f0d05b9d75e8aee3d1c903434f830bfd71da973 100644
(file)
--- a/
src/StdMeshers/StdMeshers_NumberOfSegments.cxx
+++ b/
src/StdMeshers/StdMeshers_NumberOfSegments.cxx
@@
-185,8
+185,8
@@
void StdMeshers_NumberOfSegments::SetScaleFactor(double scaleFactor)
//throw SALOME_Exception(LOCALIZED("not a scale distribution"));
if (scaleFactor < PRECISION)
throw SALOME_Exception(LOCALIZED("scale factor must be positive"));
//throw SALOME_Exception(LOCALIZED("not a scale distribution"));
if (scaleFactor < PRECISION)
throw SALOME_Exception(LOCALIZED("scale factor must be positive"));
-
//
if (fabs(scaleFactor - 1.0) < PRECISION)
-
// throw SALOME_Exception(LOCALIZED("scale factor must not be equal to 1"))
;
+ if (fabs(scaleFactor - 1.0) < PRECISION)
+
_distrType = DT_Regular
;
if (fabs(_scaleFactor - scaleFactor) > PRECISION)
{
if (fabs(_scaleFactor - scaleFactor) > PRECISION)
{
diff --git
a/src/StdMeshers/StdMeshers_ViscousLayers.cxx
b/src/StdMeshers/StdMeshers_ViscousLayers.cxx
index 61acb13c5c9178699857ce8e53186b6aa84f9245..e6c0dd7be871dd0b3d461aebc4a4764692c38992 100644
(file)
--- a/
src/StdMeshers/StdMeshers_ViscousLayers.cxx
+++ b/
src/StdMeshers/StdMeshers_ViscousLayers.cxx
@@
-2920,6
+2920,7
@@
bool _ViscousBuilder::setEdgeData(_LayerEdge& edge,
}
else // !useGeometry - get _normal using surrounding mesh faces
{
}
else // !useGeometry - get _normal using surrounding mesh faces
{
+ set<TGeomID> faceIds;
SMDS_ElemIteratorPtr fIt = node->GetInverseElementIterator(SMDSAbs_Face);
while ( fIt->more() )
SMDS_ElemIteratorPtr fIt = node->GetInverseElementIterator(SMDSAbs_Face);
while ( fIt->more() )
@@
-2927,6
+2928,8
@@
bool _ViscousBuilder::setEdgeData(_LayerEdge& edge,
const SMDS_MeshElement* face = fIt->next();
if ( eos.GetNormal( face, geomNorm ))
{
const SMDS_MeshElement* face = fIt->next();
if ( eos.GetNormal( face, geomNorm ))
{
+ if ( onShrinkShape && !faceIds.insert( face->getshapeId() ).second )
+ continue; // use only one mesh face on FACE
edge._normal += geomNorm.XYZ();
totalNbFaces++;
}
edge._normal += geomNorm.XYZ();
totalNbFaces++;
}