mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-05 01:44:16 +05:00
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Returns description of an error/warning occured during the last mesh edition
This commit is contained in:
parent
3a58968846
commit
12c889c3f6
@ -375,7 +375,9 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
|
||||
{
|
||||
SMESH_MesherHelper aHelper( aMesh );
|
||||
if ( aHelper.IsQuadraticMesh() != SMESH_MesherHelper::LINEAR )
|
||||
aHelper.FixQuadraticElements();
|
||||
{
|
||||
aHelper.FixQuadraticElements( sm->GetComputeError() );
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -9635,7 +9635,7 @@ void SMESH_MeshEditor::ConvertToQuadratic(const bool theForce3d)
|
||||
if ( !theForce3d )
|
||||
{ // setenv NO_FixQuadraticElements to know if FixQuadraticElements() is guilty of bad conversion
|
||||
aHelper.SetSubShape(0); // apply FixQuadraticElements() to the whole mesh
|
||||
aHelper.FixQuadraticElements();
|
||||
aHelper.FixQuadraticElements(myError);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9775,7 +9775,7 @@ void SMESH_MeshEditor::ConvertToQuadratic(const bool theForce3d,
|
||||
if ( !theForce3d && !getenv("NO_FixQuadraticElements"))
|
||||
{ // setenv NO_FixQuadraticElements to know if FixQuadraticElements() is guilty of bad conversion
|
||||
helper.SetSubShape(0); // apply FixQuadraticElements() to the whole mesh
|
||||
helper.FixQuadraticElements();
|
||||
helper.FixQuadraticElements( myError );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "SMESH_Controls.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "SMESH_TypeDefs.hxx"
|
||||
#include "SMESH_ComputeError.hxx"
|
||||
|
||||
#include <utilities.h>
|
||||
|
||||
@ -110,6 +111,14 @@ public:
|
||||
|
||||
SMESH_MeshEditor( SMESH_Mesh* theMesh );
|
||||
|
||||
SMESH_Mesh * GetMesh() { return myMesh; }
|
||||
SMESHDS_Mesh * GetMeshDS() { return myMesh->GetMeshDS(); }
|
||||
|
||||
const SMESH_SequenceOfElemPtr& GetLastCreatedNodes() const { return myLastCreatedNodes; }
|
||||
const SMESH_SequenceOfElemPtr& GetLastCreatedElems() const { return myLastCreatedElems; }
|
||||
|
||||
SMESH_ComputeErrorPtr & GetError() { return myError; }
|
||||
|
||||
/*!
|
||||
* \brief Add element
|
||||
*/
|
||||
@ -561,14 +570,6 @@ public:
|
||||
// Return an index of the shape theElem is on
|
||||
// or zero if a shape not found
|
||||
|
||||
SMESH_Mesh * GetMesh() { return myMesh; }
|
||||
|
||||
SMESHDS_Mesh * GetMeshDS() { return myMesh->GetMeshDS(); }
|
||||
|
||||
const SMESH_SequenceOfElemPtr& GetLastCreatedNodes() const { return myLastCreatedNodes; }
|
||||
|
||||
const SMESH_SequenceOfElemPtr& GetLastCreatedElems() const { return myLastCreatedElems; }
|
||||
|
||||
bool DoubleNodes( const std::list< int >& theListOfNodes,
|
||||
const std::list< int >& theListOfModifiedElems );
|
||||
|
||||
@ -721,18 +722,13 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
SMESH_Mesh * myMesh;
|
||||
SMESH_Mesh * myMesh;
|
||||
|
||||
/*!
|
||||
* Sequence for keeping nodes created during last operation
|
||||
*/
|
||||
SMESH_SequenceOfElemPtr myLastCreatedNodes;
|
||||
|
||||
/*!
|
||||
* Sequence for keeping elements created during last operation
|
||||
*/
|
||||
SMESH_SequenceOfElemPtr myLastCreatedElems;
|
||||
// Nodes and elements created during last operation
|
||||
SMESH_SequenceOfElemPtr myLastCreatedNodes, myLastCreatedElems;
|
||||
|
||||
// Description of error/warning occured during last operation
|
||||
SMESH_ComputeErrorPtr myError;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -195,9 +195,10 @@ public:
|
||||
|
||||
/*!
|
||||
* \brief Move medium nodes of faces and volumes to fix distorted elements
|
||||
* \param error - container of fixed distorted elements
|
||||
* \param volumeOnly - fix nodes on geom faces or not if the shape is solid
|
||||
*/
|
||||
void FixQuadraticElements(bool volumeOnly=true);
|
||||
void FixQuadraticElements(SMESH_ComputeErrorPtr& error, bool volumeOnly=true);
|
||||
|
||||
/*!
|
||||
* \brief To set created elements on the shape set by IsQuadraticSubMesh()
|
||||
|
Loading…
Reference in New Issue
Block a user