STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 2)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
SET(${PROJECT_NAME_UC}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
FIND_PACKAGE(SalomeSMESH REQUIRED)
ADD_DEFINITIONS(${SMESH_DEFINITIONS})
INCLUDE_DIRECTORIES(${SMESH_INCLUDE_DIRS})
+ IF(SALOME_BUILD_DOC)
+ IF(NOT SALOME_SMESH_BUILD_DOC)
+ MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH documentation to build HexoticPLUGIN documentation. "
+ "So, you should either set SALOME_BUILD_DOC=OFF in HexoticPLUGIN or set SALOME_BUILD_DOC=ON in SMESH module.")
+ ENDIF(NOT SALOME_SMESH_BUILD_DOC)
+ ENDIF(SALOME_BUILD_DOC)
ELSE(EXISTS ${SMESH_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR")
ENDIF(EXISTS ${SMESH_ROOT_DIR})
INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HexoticPLUGIN)
INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HexoticPLUGIN/hexoticpluginpy_doc)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES HexoticPLUGIN)
\ No newline at end of file
+SET(make_clean_files HexoticPLUGIN hexoticpluginpy_doc.tag)
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
<TS version="2.0" language="fr_FR">
<context>
<name>@default</name>
+ <message>
+ <source>Hexotic_NULL_LOCAL_SIZE</source>
+ <translation type="unfinished">0 is not allowed as "Local size"</translation>
+ </message>
<message>
<source>Hexotic_3D_HYPOTHESIS</source>
<translation>Hexotic 3D</translation>
<TS>
<context>
<name>@default</name>
+ <message>
+ <source>Hexotic_NULL_LOCAL_SIZE</source>
+ <translation type="unfinished">0 is not allowed as "Local size"</translation>
+ </message>
+ <message>
+ <source>Hexotic_SEL_SHAPE</source>
+ <translation type="unfinished">Select a shape</translation>
+ </message>
+ <message>
+ <source>Hexotic_SIZE</source>
+ <translation type="unfinished">Size</translation>
+ </message>
+ <message>
+ <source>Hexotic_NAME</source>
+ <translation type="unfinished">Name</translation>
+ </message>
+ <message>
+ <source>Hexotic_ENTRY</source>
+ <translation type="unfinished">Entry</translation>
+ </message>
+ <message>
+ <source>Hexotic_REMOVE</source>
+ <translation type="unfinished">Remove</translation>
+ </message>
+ <message>
+ <source>Hexotic_ADD</source>
+ <translation type="unfinished">Add</translation>
+ </message>
<message>
<source>Hexotic_3D_HYPOTHESIS</source>
<translation>Hexotic 3D</translation>
removeFile( file_Out );
}
+//=======================================================================
+//function : splitQuads
+//purpose : splits all quadrangles into triangles
+//=======================================================================
+
+static void splitQuads(SMESH_Mesh& aMesh)
+{
+ SMESH_MeshEditor spliter( &aMesh );
+
+ TIDSortedElemSet elems;
+ SMDS_ElemIteratorPtr eIt = aMesh.GetMeshDS()->elementsIterator();
+ while( eIt->more() )
+ elems.insert( elems.end(), eIt->next() );
+
+ spliter.QuadToTri ( elems, /*the13Diag=*/true);
+}
+
//=======================================================================
//function : readResult
//purpose : Read GMF file in case of a mesh with geometry
mapField["Hexahedra"] = 7; tabRef[7] = 8; tabDummy[7] = true;
mapField["End"] = 8; tabRef[8] = 0; tabDummy[8] = false;
- theHelper->GetMesh()->Clear();
+ {
+ // theMesh->Clear(); -- this does not remove imported mesh
+ SMDS_ElemIteratorPtr eIt = theMesh->elementsIterator();
+ while( eIt->more() )
+ theMesh->RemoveFreeElement( eIt->next(), /*sm=*/0 );
+ SMDS_NodeIteratorPtr nIt = theMesh->nodesIterator();
+ while ( nIt->more() )
+ theMesh->RemoveFreeNode( nIt->next(), /*sm=*/0 );
+ }
int nbVertices = getNbShape(theFile, "Vertices");
HexoticNode = new SMDS_MeshNode*[ nbVertices + 1 ];
#endif
Hexotic_In = aTmpDir + "Hexotic"+getSuffix()+"_In.mesh";
removeHexoticFiles(Hexotic_In, Hexotic_Out);
+ splitQuads(aMesh); // quadrangles are no longer acceptable as input
cout << std::endl;
cout << "Creating Hexotic input mesh file : " << Hexotic_In << std::endl;
aMesh.ExportGMF(Hexotic_In.ToCString(), meshDS, true);
removeHexoticFiles(Hexotic_In, Hexotic_Out);
+ splitQuads(aMesh); // quadrangles are no longer acceptable as input
+
cout << std::endl;
cout << "Creating Hexotic input mesh file : " << Hexotic_In << std::endl;
aMesh.ExportGMF(Hexotic_In.ToCString(), aHelper->GetMeshDS());