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 (from parent 1:
1cc4f6c
)
IPAL54678: TC-9.5.0: Sub-mesh priority: not all sub-meshes are displayed in the dialog
author
eap
<eap@opencascade.com>
Tue, 26 May 2020 14:46:38 +0000
(17:46 +0300)
committer
eap
<eap@opencascade.com>
Tue, 26 May 2020 14:59:55 +0000
(17:59 +0300)
src/SMESH_I/SMESH_Mesh_i.cxx
patch
|
blob
|
history
diff --git
a/src/SMESH_I/SMESH_Mesh_i.cxx
b/src/SMESH_I/SMESH_Mesh_i.cxx
index 52f7e9e9cd067d516207c2aca19b839a7a43eb7a..470ca6587eb262b98525d7ae8979df388ae08c25 100644
(file)
--- a/
src/SMESH_I/SMESH_Mesh_i.cxx
+++ b/
src/SMESH_I/SMESH_Mesh_i.cxx
@@
-568,7
+568,7
@@
namespace
//================================================================================
/*!
//================================================================================
/*!
- * \brief Import data from a GMF file and
R
eturn an error description
+ * \brief Import data from a GMF file and
r
eturn an error description
*/
//================================================================================
*/
//================================================================================
@@
-4972,7
+4972,7
@@
SMESH::long_array* SMESH_Mesh_i::GetSubMeshElementsId(const CORBA::Long ShapeID)
//=============================================================================
/*!
* Return ID of nodes for given sub-mesh
//=============================================================================
/*!
* Return ID of nodes for given sub-mesh
- * If param all==true -
R
eturn all nodes, else -
+ * If param all==true -
r
eturn all nodes, else -
* Return only nodes on shapes.
*/
//=============================================================================
* Return only nodes on shapes.
*/
//=============================================================================
@@
-5079,7
+5079,7
@@
CORBA::LongLong SMESH_Mesh_i::GetMeshPtr()
//=============================================================================
/*!
* Get XYZ coordinates of node as list of double
//=============================================================================
/*!
* Get XYZ coordinates of node as list of double
- * If there is not node for given ID -
R
eturn empty list
+ * If there is not node for given ID -
r
eturn empty list
*/
//=============================================================================
*/
//=============================================================================
@@
-5109,8
+5109,8
@@
SMESH::double_array* SMESH_Mesh_i::GetNodeXYZ(const CORBA::Long id)
//=============================================================================
/*!
//=============================================================================
/*!
- * For given node
R
eturn list of IDs of inverse elements
- * If there is not node for given ID -
R
eturn empty list
+ * For given node
r
eturn list of IDs of inverse elements
+ * If there is not node for given ID -
r
eturn empty list
*/
//=============================================================================
*/
//=============================================================================
@@
-5243,8
+5243,8
@@
SMESH::ElementPosition SMESH_Mesh_i::GetElementPosition(CORBA::Long ElemID)
//=============================================================================
/*!
//=============================================================================
/*!
- * If given element is node
R
eturn IDs of shape from position
- * If there is not node for given ID -
R
eturn -1
+ * If given element is node
r
eturn IDs of shape from position
+ * If there is not node for given ID -
r
eturn -1
*/
//=============================================================================
*/
//=============================================================================
@@
-5271,7
+5271,7
@@
CORBA::Long SMESH_Mesh_i::GetShapeID(const CORBA::Long id)
/*!
* For given element return ID of result shape after
* ::FindShape() from SMESH_MeshEditor
/*!
* For given element return ID of result shape after
* ::FindShape() from SMESH_MeshEditor
- * If there is not element for given ID -
R
eturn -1
+ * If there is not element for given ID -
r
eturn -1
*/
//=============================================================================
*/
//=============================================================================
@@
-5301,7
+5301,7
@@
CORBA::Long SMESH_Mesh_i::GetShapeIDForElem(const CORBA::Long id)
//=============================================================================
/*!
* Return number of nodes for given element
//=============================================================================
/*!
* Return number of nodes for given element
- * If there is not element for given ID -
R
eturn -1
+ * If there is not element for given ID -
r
eturn -1
*/
//=============================================================================
*/
//=============================================================================
@@
-5322,8
+5322,8
@@
CORBA::Long SMESH_Mesh_i::GetElemNbNodes(const CORBA::Long id)
//=============================================================================
/*!
* Return ID of node by given index for given element
//=============================================================================
/*!
* Return ID of node by given index for given element
- * If there is not element for given ID -
R
eturn -1
- * If there is not node for given index -
R
eturn -2
+ * If there is not element for given ID -
r
eturn -1
+ * If there is not node for given index -
r
eturn -2
*/
//=============================================================================
*/
//=============================================================================
@@
-6045,7
+6045,7
@@
SMESH::SMESH_Mesh_ptr SMESH_Mesh_i::GetMesh()
//================================================================================
/*!
//================================================================================
/*!
- * \brief Return false if GetMeshInfo()
R
eturn incorrect information that may
+ * \brief Return false if GetMeshInfo()
r
eturn incorrect information that may
* happen if mesh data is not yet fully loaded from the file of study.
*
*
* happen if mesh data is not yet fully loaded from the file of study.
*
*
@@
-6425,7
+6425,7
@@
class SMESH_DimHyp
//! fields
int _dim; //!< a dimension the algo can build (concurrent dimension)
int _ownDim; //!< dimension of shape of _subMesh (>=_dim)
//! fields
int _dim; //!< a dimension the algo can build (concurrent dimension)
int _ownDim; //!< dimension of shape of _subMesh (>=_dim)
- TopTools_MapOfShape _shapeMap;
+ TopTools_MapOfShape _shapeMap;
//!< [sub-]shapes of dimension == _dim
SMESH_subMesh* _subMesh;
list<const SMESHDS_Hypothesis*> _hypotheses; //!< algo is first, then its parameters
SMESH_subMesh* _subMesh;
list<const SMESHDS_Hypothesis*> _hypotheses; //!< algo is first, then its parameters
@@
-6522,9
+6522,11
@@
class SMESH_DimHyp
bool isSame = checkAlgo( a1, a2 );
if ( !isSame )
{
bool isSame = checkAlgo( a1, a2 );
if ( !isSame )
{
- if ( !a1 || !a2 )
- return false; // pb?
- return a1->GetDim() == a2->GetDim(); // different algorithms of same dim -> concurrency !
+ return true;
+ // commented for IPAL54678
+ // if ( !a1 || !a2 )
+ // return false; // pb?
+ // return a1->GetDim() == a2->GetDim(); // different algorithms of same dim -> concurrency !
}
// check hypothesises for concurrence (skip first as algorithm)
}
// check hypothesises for concurrence (skip first as algorithm)
@@
-6565,6
+6567,9
@@
void addDimHypInstance(const int theDim,
const list <const SMESHDS_Hypothesis*>& theHypList,
TDimHypList* theDimHypListArr )
{
const list <const SMESHDS_Hypothesis*>& theHypList,
TDimHypList* theDimHypListArr )
{
+ if ( !theAlgo->NeedDiscreteBoundary() &&
+ theAlgo->NeedLowerHyps( theDim )) // IPAL54678
+ return;
TDimHypList& listOfdimHyp = theDimHypListArr[theDim];
if ( listOfdimHyp.empty() || listOfdimHyp.back()->_subMesh != theSubMesh ) {
SMESH_DimHyp* dimHyp = new SMESH_DimHyp( theSubMesh, theDim, theShape );
TDimHypList& listOfdimHyp = theDimHypListArr[theDim];
if ( listOfdimHyp.empty() || listOfdimHyp.back()->_subMesh != theSubMesh ) {
SMESH_DimHyp* dimHyp = new SMESH_DimHyp( theSubMesh, theDim, theShape );
@@
-6707,7
+6712,7
@@
CORBA::Boolean SMESH_Mesh_i::IsUnorderedSubMesh(CORBA::Long submeshID)
//=============================================================================
/*!
//=============================================================================
/*!
- * \brief Return submesh objects list in meshing order
+ * \brief Return sub
-
mesh objects list in meshing order
*/
//=============================================================================
*/
//=============================================================================
@@
-6776,7
+6781,8
@@
TListOfListOfInt SMESH_Mesh_i::findConcurrentSubMeshes()
continue; // no algorithm assigned to a current submesh
int dim = anAlgo->GetDim(); // top concurrent dimension (see comment to SMESH_DimHyp)
continue; // no algorithm assigned to a current submesh
int dim = anAlgo->GetDim(); // top concurrent dimension (see comment to SMESH_DimHyp)
- // the submesh can concurrent at <dim> (or lower dims if !anAlgo->NeedDiscreteBoundary())
+ // the submesh can concurrent at <dim> (or lower dims if !anAlgo->NeedDiscreteBoundary()
+ // and !anAlgo->NeedLowerHyps( dim ))
// create instance of dimension-hypothesis for found concurrent dimension(s) and algorithm
for ( int j = anAlgo->NeedDiscreteBoundary() ? dim : 1, jn = dim; j <= jn; j++ )
// create instance of dimension-hypothesis for found concurrent dimension(s) and algorithm
for ( int j = anAlgo->NeedDiscreteBoundary() ? dim : 1, jn = dim; j <= jn; j++ )