gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
GModel.cpp File Reference
#include <limits>
#include <stdlib.h>
#include <sstream>
#include <stack>
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "GModel.h"
#include "GModelIO_GEO.h"
#include "GModelIO_OCC.h"
#include "MPoint.h"
#include "MLine.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
#include "MTetrahedron.h"
#include "MHexahedron.h"
#include "MPrism.h"
#include "MPyramid.h"
#include "MTrihedron.h"
#include "MElementCut.h"
#include "MElementOctree.h"
#include "discreteRegion.h"
#include "discreteFace.h"
#include "discreteEdge.h"
#include "discreteVertex.h"
#include "partitionRegion.h"
#include "partitionFace.h"
#include "partitionEdge.h"
#include "partitionVertex.h"
#include "gmshSurface.h"
#include "SmoothData.h"
#include "Context.h"
#include "OS.h"
#include "StringUtils.h"
#include "GEdgeLoop.h"
#include "MVertexRTree.h"
#include "OpenFile.h"
#include "CreateFile.h"
#include "Options.h"
#include "GModelParametrize.h"
Include dependency graph for GModel.cpp:

Go to the source code of this file.

Classes

class  AbsIntLessThan
 

Functions

static void addToMap (std::multimap< MFace, MElement *, MFaceLessThan > &faceToElement, std::map< MElement *, std::vector< std::pair< MElement *, bool > > > &elToNeighbors, const MFace &face, MElement *el)
 
static void checkConformity (std::multimap< MFace, MElement *, MFaceLessThan > &faceToElement, std::map< MElement *, std::vector< std::pair< MElement *, bool > > > &elToNeighbors, const MFace &face, MElement *el)
 
template<class T >
static std::size_t removeInvisible (std::vector< T * > &elements, bool all)
 
template<class T >
static std::size_t reverseInvisible (std::vector< T * > &elements, bool all)
 
template<class T >
static void _addElements (std::vector< T * > &dst, const std::vector< MElement * > &src)
 
template<class T >
static void _associateEntityWithElementVertices (GEntity *ge, std::vector< T * > &elements, bool force=false)
 
static void connectMElementsByMFace (const MFace &f, std::multimap< MFace, MElement *, MFaceLessThan > &e2f, std::set< MElement * > &group, std::set< MFace, MFaceLessThan > &touched, int recur_level)
 
static int connectedVolumes (std::vector< MElement * > &elements, std::vector< std::vector< MElement * > > &regs)
 
static void connectMElementsByMEdge (const MEdge &e, std::multimap< MEdge, MElement *, MEdgeLessThan > &e2e, std::set< MElement * > &group, std::set< MEdge, MEdgeLessThan > &touched)
 
static int connectedSurfaces (std::vector< MElement * > &elements, std::vector< std::vector< MElement * > > &faces)
 
static void makeSimplyConnected (std::map< int, std::vector< MElement * > > elements[11])
 

Function Documentation

◆ _addElements()

template<class T >
static void _addElements ( std::vector< T * > &  dst,
const std::vector< MElement * > &  src 
)
static

Definition at line 2267 of file GModel.cpp.

Referenced by GModel::_storeElementsInEntities().

Here is the caller graph for this function:

◆ _associateEntityWithElementVertices()

template<class T >
static void _associateEntityWithElementVertices ( GEntity ge,
std::vector< T * > &  elements,
bool  force = false 
)
static

Definition at line 2357 of file GModel.cpp.

Referenced by GModel::_associateEntityWithMeshVertices(), and GModel::pruneMeshVertexAssociations().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addToMap()

static void addToMap ( std::multimap< MFace, MElement *, MFaceLessThan > &  faceToElement,
std::map< MElement *, std::vector< std::pair< MElement *, bool > > > &  elToNeighbors,
const MFace face,
MElement el 
)
static

Definition at line 1095 of file GModel.cpp.

Referenced by GModel::setAllVolumesPositiveTopology().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkConformity()

static void checkConformity ( std::multimap< MFace, MElement *, MFaceLessThan > &  faceToElement,
std::map< MElement *, std::vector< std::pair< MElement *, bool > > > &  elToNeighbors,
const MFace face,
MElement el 
)
static

Definition at line 1131 of file GModel.cpp.

Referenced by GModel::setAllVolumesPositiveTopology().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ connectedSurfaces()

static int connectedSurfaces ( std::vector< MElement * > &  elements,
std::vector< std::vector< MElement * > > &  faces 
)
static

Definition at line 3080 of file GModel.cpp.

Referenced by GModel::makeDiscreteFacesSimplyConnected(), and makeSimplyConnected().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ connectedVolumes()

static int connectedVolumes ( std::vector< MElement * > &  elements,
std::vector< std::vector< MElement * > > &  regs 
)
static

Definition at line 3036 of file GModel.cpp.

Referenced by GModel::makeDiscreteRegionsSimplyConnected(), and makeSimplyConnected().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ connectMElementsByMEdge()

static void connectMElementsByMEdge ( const MEdge e,
std::multimap< MEdge, MElement *, MEdgeLessThan > &  e2e,
std::set< MElement * > &  group,
std::set< MEdge, MEdgeLessThan > &  touched 
)
static

Definition at line 3057 of file GModel.cpp.

Referenced by connectedSurfaces().

Here is the caller graph for this function:

◆ connectMElementsByMFace()

static void connectMElementsByMFace ( const MFace f,
std::multimap< MFace, MElement *, MFaceLessThan > &  e2f,
std::set< MElement * > &  group,
std::set< MFace, MFaceLessThan > &  touched,
int  recur_level 
)
static

Definition at line 3012 of file GModel.cpp.

Referenced by connectedVolumes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeSimplyConnected()

static void makeSimplyConnected ( std::map< int, std::vector< MElement * > >  elements[11])
static

Definition at line 3216 of file GModel.cpp.

Referenced by GModel::buildCutGModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeInvisible()

template<class T >
static std::size_t removeInvisible ( std::vector< T * > &  elements,
bool  all 
)
static

Definition at line 2042 of file GModel.cpp.

Referenced by GModel::removeInvisibleElements().

Here is the caller graph for this function:

◆ reverseInvisible()

template<class T >
static std::size_t reverseInvisible ( std::vector< T * > &  elements,
bool  all 
)
static

Definition at line 2088 of file GModel.cpp.

Referenced by GModel::reverseInvisibleElements().

Here is the caller graph for this function: