mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 18:00:34 +05:00
23033: EDF 10568 SMESH: wrong header when exporting 2D to gmf
Write 'MeshVersionFormatted 2' instead of 'MeshVersionFormatted 3' though '3' is strongly recomended by libmesh manual + IPAL52653: Some quality controls does not work (SIGSEGV)
This commit is contained in:
parent
b0a962d83d
commit
c1754b24c3
@ -121,7 +121,7 @@ Driver_Mesh::Status DriverGMF_Write::Perform()
|
||||
{
|
||||
Kernel_Utils::Localizer loc;
|
||||
|
||||
const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
const int dim = 3, version = sizeof(double) < 8 ? 1 : 2;
|
||||
|
||||
int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
if ( !meshID )
|
||||
|
@ -516,17 +516,17 @@ SMESH_DeviceActor
|
||||
myVisualObj->UpdateFunctor(theFunctor);
|
||||
|
||||
using namespace SMESH::Controls;
|
||||
if ( dynamic_cast<FreeBorders *>(theFunctor.get()) ||
|
||||
dynamic_cast<FreeFaces *>(theFunctor.get()) ||
|
||||
dynamic_cast<BareBorderVolume *>(theFunctor.get()) ||
|
||||
dynamic_cast<BareBorderFace *>(theFunctor.get()) ||
|
||||
dynamic_cast<OverConstrainedVolume*>(theFunctor.get()) ||
|
||||
dynamic_cast<CoincidentElements1D *>(theFunctor.get()) ||
|
||||
dynamic_cast<CoincidentElements2D *>(theFunctor.get()) ||
|
||||
dynamic_cast<CoincidentElements3D *>(theFunctor.get()) ||
|
||||
dynamic_cast<OverConstrainedFace *>(theFunctor.get()))
|
||||
Predicate* aPredicate = 0;
|
||||
if (( aPredicate = dynamic_cast<FreeBorders *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<FreeFaces *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<BareBorderVolume *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<BareBorderFace *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<OverConstrainedVolume*>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<CoincidentElements1D *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<CoincidentElements2D *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<CoincidentElements3D *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<OverConstrainedFace *>(theFunctor.get())))
|
||||
{
|
||||
Predicate* aPredicate = dynamic_cast<Predicate*>(theFunctor.get());
|
||||
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
|
||||
vtkUnstructuredGrid* aGrid = myVisualObj->GetUnstructuredGrid();
|
||||
vtkIdType aNbCells = aGrid->GetNumberOfCells();
|
||||
@ -588,10 +588,9 @@ SMESH_DeviceActor
|
||||
SetUnstructuredGrid(aDataSet);
|
||||
aDataSet->Delete();
|
||||
}
|
||||
else if(dynamic_cast<FreeNodes *>(theFunctor.get()) ||
|
||||
dynamic_cast<CoincidentNodes*>(theFunctor.get()))
|
||||
else if (( aPredicate = dynamic_cast<FreeNodes *>(theFunctor.get())) ||
|
||||
( aPredicate = dynamic_cast<CoincidentNodes*>(theFunctor.get())))
|
||||
{
|
||||
Predicate* aPredicate = dynamic_cast<Predicate*>(theFunctor.get());
|
||||
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
|
||||
vtkIdType aNbNodes = myVisualObj->GetNbEntities(SMDSAbs_Node);
|
||||
for( vtkIdType i = 0; i < aNbNodes; i++ ){
|
||||
|
@ -425,7 +425,7 @@ protected:
|
||||
bool _requireDiscreteBoundary;// GetDim()-1 mesh must be present. Default TRUE
|
||||
bool _requireShape; // work with GetDim()-1 mesh bound to geom only. Default TRUE
|
||||
bool _supportSubmeshes; // if !_requireDiscreteBoundary. Default FALSE
|
||||
bool _neededLowerHyps[4]; // hyp dims needed by algo that !NeedDiscreteBoundary(). Df. FALSE
|
||||
bool _neededLowerHyps[4]; // hyp dims needed by algo that !_requireDiscreteBoundary. Df. FALSE
|
||||
|
||||
// indicates if quadratic mesh creation is required,
|
||||
// is usually set like this: _quadraticMesh = SMESH_MesherHelper::IsQuadraticSubMesh(shape)
|
||||
|
Loading…
Reference in New Issue
Block a user