Version: 9.12.0
DriverGMF_Write.cxx File Reference
#include "DriverGMF_Write.hxx"
#include "DriverGMF.hxx"
#include "SMESHDS_GroupBase.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include <Basics_Utils.hxx>
#include "utilities.h"
#include "libmesh5.h"
#include <vector>
Include dependency graph for DriverGMF_Write.cxx:

Macros

#define BEGIN_ELEM_WRITE(SMDSEntity, GmfKwd, elem)
 
#define BEGIN_EXTRA_VERTICES_WRITE(SMDSGeom, LinType, GmfKwd, elem)
 
#define END_ELEM_WRITE(elem)
 
#define END_ELEM_WRITE_ADD_TO_MAP(elem, e2id)
 
#define END_EXTRA_VERTICES_WRITE()
 

Macro Definition Documentation

◆ BEGIN_ELEM_WRITE

#define BEGIN_ELEM_WRITE (   SMDSEntity,
  GmfKwd,
  elem 
)
Value:
elemIt = elementIterator( SMDSEntity ); \
if ( elemIt->more() ) \
{ \
GmfSetKwd(meshID, GmfKwd, myMesh->GetMeshInfo().NbElements( SMDSEntity )); \
for ( int gmfID = 1; elemIt->more(); ++gmfID ) \
{ \
const SMDS_MeshElement* elem = elemIt->next(); \
GmfSetLin(meshID, GmfKwd,
Base class for elements.
Definition: SMDS_MeshElement.hxx:56

◆ BEGIN_EXTRA_VERTICES_WRITE

#define BEGIN_EXTRA_VERTICES_WRITE (   SMDSGeom,
  LinType,
  GmfKwd,
  elem 
)
Value:
elemIt = elementIterator( SMDSGeom ); \
if ( elemIt->more() ) \
{ \
smIdType totalNbElems = myMesh->GetMeshInfo().NbElements( SMDSGeom );\
smIdType nbLinearElems = myMesh->GetMeshInfo().NbElements( LinType ); \
if ( totalNbElems - nbLinearElems > 0 ) \
{ \
GmfSetKwd(meshID, GmfKwd, totalNbElems - nbLinearElems); \
for ( int gmfID = 1; elemIt->more(); ++gmfID ) \
{ \
const SMDS_MeshElement* elem = elemIt->next(); \
if ( elem->IsQuadratic() ) { \
GmfSetLin(meshID, GmfKwd, gmfID, elem->NbNodes() - elem->NbCornerNodes(),

◆ END_ELEM_WRITE

#define END_ELEM_WRITE (   elem)
Value:
elem->getshapeId() ); \
}}

◆ END_ELEM_WRITE_ADD_TO_MAP

#define END_ELEM_WRITE_ADD_TO_MAP (   elem,
  e2id 
)
Value:
elem->getshapeId() ); \
e2id.insert( e2id.end(), std::make_pair( elem, gmfID )); \
}}

◆ END_EXTRA_VERTICES_WRITE

#define END_EXTRA_VERTICES_WRITE ( )
Value:
); \
}}}}