mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
SALOME Forum bug: http://www.salome-platform.org/forum/forum_10/967838025
Re-fix "Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6" previously fixed by revision 1.23.2.9. Use TElemOfElemListMap with new comparator TIDTypeCompare instead of TElemOfElemListMap declared in SMESH_TypeDefs.hxx which uses TIDCompare (whose behavior has been just restored)
This commit is contained in:
parent
c4b93d024f
commit
211c8198b3
@ -4200,7 +4200,7 @@ void SMESH_MeshEditor::sweepElement(const SMDS_MeshElement* elem,
|
||||
//=======================================================================
|
||||
|
||||
void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
TElemOfElemListMap & newElemsMap,
|
||||
TTElemOfElemListMap & newElemsMap,
|
||||
TElemOfVecOfNnlmiMap & elemNewNodesMap,
|
||||
TIDSortedElemSet& elemSet,
|
||||
const int nbSteps,
|
||||
@ -4245,7 +4245,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
// Make a ceiling for each element ie an equal element of last new nodes.
|
||||
// Find free links of faces - make edges and sweep them into faces.
|
||||
|
||||
TElemOfElemListMap::iterator itElem = newElemsMap.begin();
|
||||
TTElemOfElemListMap::iterator itElem = newElemsMap.begin();
|
||||
TElemOfVecOfNnlmiMap::iterator itElemNodes = elemNewNodesMap.begin();
|
||||
for ( ; itElem != newElemsMap.end(); itElem++, itElemNodes++ )
|
||||
{
|
||||
@ -4630,7 +4630,7 @@ SMESH_MeshEditor::RotationSweep(TIDSortedElemSet & theElems,
|
||||
|
||||
TNodeOfNodeListMap mapNewNodes;
|
||||
TElemOfVecOfNnlmiMap mapElemNewNodes;
|
||||
TElemOfElemListMap newElemsMap;
|
||||
TTElemOfElemListMap newElemsMap;
|
||||
|
||||
const bool isQuadraticMesh = bool( myMesh->NbEdges(ORDER_QUADRATIC) +
|
||||
myMesh->NbFaces(ORDER_QUADRATIC) +
|
||||
@ -4772,13 +4772,13 @@ const SMDS_MeshNode* SMESH_MeshEditor::CreateNode(const double x,
|
||||
//=======================================================================
|
||||
|
||||
SMESH_MeshEditor::PGroupIDs
|
||||
SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
const gp_Vec& theStep,
|
||||
const int theNbSteps,
|
||||
TElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance)
|
||||
SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
const gp_Vec& theStep,
|
||||
const int theNbSteps,
|
||||
TTElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance)
|
||||
{
|
||||
ExtrusParam aParams;
|
||||
aParams.myDir = gp_Dir(theStep);
|
||||
@ -4799,12 +4799,12 @@ SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
//=======================================================================
|
||||
|
||||
SMESH_MeshEditor::PGroupIDs
|
||||
SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
ExtrusParam& theParams,
|
||||
TElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance)
|
||||
SMESH_MeshEditor::ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
ExtrusParam& theParams,
|
||||
TTElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance)
|
||||
{
|
||||
myLastCreatedElems.Clear();
|
||||
myLastCreatedNodes.Clear();
|
||||
@ -5468,7 +5468,7 @@ SMESH_MeshEditor::MakeExtrElements(TIDSortedElemSet& theElements
|
||||
|
||||
TNodeOfNodeListMap mapNewNodes;
|
||||
TElemOfVecOfNnlmiMap mapElemNewNodes;
|
||||
TElemOfElemListMap newElemsMap;
|
||||
TTElemOfElemListMap newElemsMap;
|
||||
TIDSortedElemSet::iterator itElem;
|
||||
// source elements for each generated one
|
||||
SMESH_SequenceOfElemPtr srcElems, srcNodes;
|
||||
|
@ -193,6 +193,12 @@ public:
|
||||
// If the2D, smoothing is performed using UV parameters of nodes
|
||||
// on geometrical faces
|
||||
|
||||
typedef std::map < const SMDS_MeshElement*,
|
||||
std::list<const SMDS_MeshElement*>, TIDTypeCompare > TTElemOfElemListMap;
|
||||
typedef std::map<const SMDS_MeshNode*, std::list<const SMDS_MeshNode*> > TNodeOfNodeListMap;
|
||||
typedef TNodeOfNodeListMap::iterator TNodeOfNodeListMapItr;
|
||||
typedef std::vector<TNodeOfNodeListMapItr> TVecOfNnlmiMap;
|
||||
typedef std::map<const SMDS_MeshElement*, TVecOfNnlmiMap, TIDCompare > TElemOfVecOfNnlmiMap;
|
||||
typedef std::auto_ptr< std::list<int> > PGroupIDs;
|
||||
|
||||
PGroupIDs RotationSweep (TIDSortedElemSet & theElements,
|
||||
@ -246,13 +252,13 @@ public:
|
||||
* @param theTolerance - uses for comparing locations of nodes if flag
|
||||
* EXTRUSION_FLAG_SEW is set
|
||||
*/
|
||||
PGroupIDs ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
const gp_Vec& theStep,
|
||||
const int theNbSteps,
|
||||
TElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags = EXTRUSION_FLAG_BOUNDARY,
|
||||
const double theTolerance = 1.e-6);
|
||||
PGroupIDs ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
const gp_Vec& theStep,
|
||||
const int theNbSteps,
|
||||
TTElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags = EXTRUSION_FLAG_BOUNDARY,
|
||||
const double theTolerance = 1.e-6);
|
||||
|
||||
/*!
|
||||
* Generate new elements by extrusion of theElements
|
||||
@ -264,12 +270,12 @@ public:
|
||||
* EXTRUSION_FLAG_SEW is set
|
||||
* @param theParams - special structure for manage of extrusion
|
||||
*/
|
||||
PGroupIDs ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
ExtrusParam& theParams,
|
||||
TElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance);
|
||||
PGroupIDs ExtrusionSweep (TIDSortedElemSet & theElems,
|
||||
ExtrusParam& theParams,
|
||||
TTElemOfElemListMap& newElemsMap,
|
||||
const bool theMakeGroups,
|
||||
const int theFlags,
|
||||
const double theTolerance);
|
||||
|
||||
|
||||
// Generate new elements by extrusion of theElements
|
||||
@ -581,13 +587,6 @@ public:
|
||||
const SMESH_SequenceOfElemPtr& elemGens,
|
||||
const std::string& postfix,
|
||||
SMESH_Mesh* targetMesh=0);
|
||||
|
||||
|
||||
typedef std::map<const SMDS_MeshNode*, std::list<const SMDS_MeshNode*> > TNodeOfNodeListMap;
|
||||
typedef TNodeOfNodeListMap::iterator TNodeOfNodeListMapItr;
|
||||
typedef std::vector<TNodeOfNodeListMapItr> TVecOfNnlmiMap;
|
||||
typedef std::map<const SMDS_MeshElement*, TVecOfNnlmiMap, TIDCompare > TElemOfVecOfNnlmiMap;
|
||||
|
||||
/*!
|
||||
* \brief Create elements by sweeping an element
|
||||
* \param elem - element to sweep
|
||||
@ -612,7 +611,7 @@ public:
|
||||
* \param srcElements - to append elem for each generated element
|
||||
*/
|
||||
void makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
TElemOfElemListMap & newElemsMap,
|
||||
TTElemOfElemListMap & newElemsMap,
|
||||
TElemOfVecOfNnlmiMap & elemNewNodesMap,
|
||||
TIDSortedElemSet& elemSet,
|
||||
const int nbSteps,
|
||||
|
Loading…
Reference in New Issue
Block a user