mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-28 10:20: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;
|
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 );
|
int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||||
if ( !meshID )
|
if ( !meshID )
|
||||||
|
@ -516,17 +516,17 @@ SMESH_DeviceActor
|
|||||||
myVisualObj->UpdateFunctor(theFunctor);
|
myVisualObj->UpdateFunctor(theFunctor);
|
||||||
|
|
||||||
using namespace SMESH::Controls;
|
using namespace SMESH::Controls;
|
||||||
if ( dynamic_cast<FreeBorders *>(theFunctor.get()) ||
|
Predicate* aPredicate = 0;
|
||||||
dynamic_cast<FreeFaces *>(theFunctor.get()) ||
|
if (( aPredicate = dynamic_cast<FreeBorders *>(theFunctor.get())) ||
|
||||||
dynamic_cast<BareBorderVolume *>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<FreeFaces *>(theFunctor.get())) ||
|
||||||
dynamic_cast<BareBorderFace *>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<BareBorderVolume *>(theFunctor.get())) ||
|
||||||
dynamic_cast<OverConstrainedVolume*>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<BareBorderFace *>(theFunctor.get())) ||
|
||||||
dynamic_cast<CoincidentElements1D *>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<OverConstrainedVolume*>(theFunctor.get())) ||
|
||||||
dynamic_cast<CoincidentElements2D *>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<CoincidentElements1D *>(theFunctor.get())) ||
|
||||||
dynamic_cast<CoincidentElements3D *>(theFunctor.get()) ||
|
( aPredicate = dynamic_cast<CoincidentElements2D *>(theFunctor.get())) ||
|
||||||
dynamic_cast<OverConstrainedFace *>(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);
|
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
|
||||||
vtkUnstructuredGrid* aGrid = myVisualObj->GetUnstructuredGrid();
|
vtkUnstructuredGrid* aGrid = myVisualObj->GetUnstructuredGrid();
|
||||||
vtkIdType aNbCells = aGrid->GetNumberOfCells();
|
vtkIdType aNbCells = aGrid->GetNumberOfCells();
|
||||||
@ -588,10 +588,9 @@ SMESH_DeviceActor
|
|||||||
SetUnstructuredGrid(aDataSet);
|
SetUnstructuredGrid(aDataSet);
|
||||||
aDataSet->Delete();
|
aDataSet->Delete();
|
||||||
}
|
}
|
||||||
else if(dynamic_cast<FreeNodes *>(theFunctor.get()) ||
|
else if (( aPredicate = dynamic_cast<FreeNodes *>(theFunctor.get())) ||
|
||||||
dynamic_cast<CoincidentNodes*>(theFunctor.get()))
|
( aPredicate = dynamic_cast<CoincidentNodes*>(theFunctor.get())))
|
||||||
{
|
{
|
||||||
Predicate* aPredicate = dynamic_cast<Predicate*>(theFunctor.get());
|
|
||||||
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
|
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
|
||||||
vtkIdType aNbNodes = myVisualObj->GetNbEntities(SMDSAbs_Node);
|
vtkIdType aNbNodes = myVisualObj->GetNbEntities(SMDSAbs_Node);
|
||||||
for( vtkIdType i = 0; i < aNbNodes; i++ ){
|
for( vtkIdType i = 0; i < aNbNodes; i++ ){
|
||||||
|
@ -425,7 +425,7 @@ protected:
|
|||||||
bool _requireDiscreteBoundary;// GetDim()-1 mesh must be present. Default TRUE
|
bool _requireDiscreteBoundary;// GetDim()-1 mesh must be present. Default TRUE
|
||||||
bool _requireShape; // work with GetDim()-1 mesh bound to geom only. Default TRUE
|
bool _requireShape; // work with GetDim()-1 mesh bound to geom only. Default TRUE
|
||||||
bool _supportSubmeshes; // if !_requireDiscreteBoundary. Default FALSE
|
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,
|
// indicates if quadratic mesh creation is required,
|
||||||
// is usually set like this: _quadraticMesh = SMESH_MesherHelper::IsQuadraticSubMesh(shape)
|
// is usually set like this: _quadraticMesh = SMESH_MesherHelper::IsQuadraticSubMesh(shape)
|
||||||
|
Loading…
Reference in New Issue
Block a user