gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshGRegionExtruded.cpp File Reference
#include <set>
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "GModel.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
#include "MTetrahedron.h"
#include "MHexahedron.h"
#include "MPrism.h"
#include "MPyramid.h"
#include "ExtrudeParams.h"
#include "meshGFace.h"
#include "meshGRegion.h"
#include "Context.h"
#include "MVertexRTree.h"
Include dependency graph for meshGRegionExtruded.cpp:

Go to the source code of this file.

Functions

static void addTetrahedron (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, GRegion *to)
 
static void addPyramid (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, GRegion *to)
 
static void addPrism (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, MVertex *v6, GRegion *to)
 
static void addHexahedron (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, MVertex *v6, MVertex *v7, MVertex *v8, GRegion *to)
 
static void createPriPyrTet (std::vector< MVertex * > &v, GRegion *to, MElement *source)
 
static void createHexPri (std::vector< MVertex * > &v, GRegion *to, MElement *source)
 
static void createTet (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, GRegion *to, MElement *source)
 
static int getExtrudedVertices (MElement *ele, ExtrudeParams *ep, int j, int k, MVertexRTree &pos, std::vector< MVertex * > &verts)
 
static void extrudeMesh (GFace *from, GRegion *to, MVertexRTree &pos)
 
static void insertAllVertices (GRegion *gr, MVertexRTree &pos)
 
static int edgeExists (MVertex *v1, MVertex *v2, std::set< std::pair< MVertex *, MVertex * > > &edges)
 
static void createEdge (MVertex *v1, MVertex *v2, std::set< std::pair< MVertex *, MVertex * > > &edges)
 
static void deleteEdge (MVertex *v1, MVertex *v2, std::set< std::pair< MVertex *, MVertex * > > &edges)
 
static void phase1 (GRegion *gr, MVertexRTree &pos, std::set< std::pair< MVertex *, MVertex * > > &edges, int ntry)
 
static void phase2 (GRegion *gr, MVertexRTree &pos, std::set< std::pair< MVertex *, MVertex * > > &edges, std::set< std::pair< MVertex *, MVertex * > > &edges_swap, int &swap)
 
static void phase3 (GRegion *gr, MVertexRTree &pos, std::set< std::pair< MVertex *, MVertex * > > &edges)
 
int SubdivideExtrudedMesh (GModel *m)
 

Function Documentation

◆ addHexahedron()

static void addHexahedron ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
MVertex v5,
MVertex v6,
MVertex v7,
MVertex v8,
GRegion to 
)
static

Definition at line 44 of file meshGRegionExtruded.cpp.

Referenced by createHexPri().

Here is the caller graph for this function:

◆ addPrism()

static void addPrism ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
MVertex v5,
MVertex v6,
GRegion to 
)
static

Definition at line 38 of file meshGRegionExtruded.cpp.

Referenced by createHexPri(), and createPriPyrTet().

Here is the caller graph for this function:

◆ addPyramid()

static void addPyramid ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
MVertex v5,
GRegion to 
)
static

Definition at line 32 of file meshGRegionExtruded.cpp.

Referenced by createPriPyrTet().

Here is the caller graph for this function:

◆ addTetrahedron()

static void addTetrahedron ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
GRegion to 
)
static

Definition at line 26 of file meshGRegionExtruded.cpp.

Referenced by createPriPyrTet(), and createTet().

Here is the caller graph for this function:

◆ createEdge()

static void createEdge ( MVertex v1,
MVertex v2,
std::set< std::pair< MVertex *, MVertex * > > &  edges 
)
static

Definition at line 302 of file meshGRegionExtruded.cpp.

Referenced by phase1(), and phase2().

Here is the caller graph for this function:

◆ createHexPri()

static void createHexPri ( std::vector< MVertex * > &  v,
GRegion to,
MElement source 
)
static

Definition at line 86 of file meshGRegionExtruded.cpp.

Referenced by extrudeMesh().

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

◆ createPriPyrTet()

static void createPriPyrTet ( std::vector< MVertex * > &  v,
GRegion to,
MElement source 
)
static

Definition at line 51 of file meshGRegionExtruded.cpp.

Referenced by extrudeMesh().

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

◆ createTet()

static void createTet ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
GRegion to,
MElement source 
)
static

Definition at line 121 of file meshGRegionExtruded.cpp.

Referenced by phase3().

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

◆ deleteEdge()

static void deleteEdge ( MVertex v1,
MVertex v2,
std::set< std::pair< MVertex *, MVertex * > > &  edges 
)
static

Definition at line 309 of file meshGRegionExtruded.cpp.

Referenced by phase2().

Here is the caller graph for this function:

◆ edgeExists()

static int edgeExists ( MVertex v1,
MVertex v2,
std::set< std::pair< MVertex *, MVertex * > > &  edges 
)
static

Definition at line 295 of file meshGRegionExtruded.cpp.

Referenced by phase1(), phase2(), and phase3().

Here is the caller graph for this function:

◆ extrudeMesh()

static void extrudeMesh ( GFace from,
GRegion to,
MVertexRTree pos 
)
static

Definition at line 154 of file meshGRegionExtruded.cpp.

Referenced by meshGRegionExtruded::operator()().

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

◆ getExtrudedVertices()

static int getExtrudedVertices ( MElement ele,
ExtrudeParams ep,
int  j,
int  k,
MVertexRTree pos,
std::vector< MVertex * > &  verts 
)
static

Definition at line 128 of file meshGRegionExtruded.cpp.

Referenced by extrudeMesh(), phase1(), phase2(), and phase3().

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

◆ insertAllVertices()

static void insertAllVertices ( GRegion gr,
MVertexRTree pos 
)
static

Definition at line 237 of file meshGRegionExtruded.cpp.

Referenced by meshGRegionExtruded::operator()(), and SubdivideExtrudedMesh().

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

◆ phase1()

static void phase1 ( GRegion gr,
MVertexRTree pos,
std::set< std::pair< MVertex *, MVertex * > > &  edges,
int  ntry 
)
static

Definition at line 317 of file meshGRegionExtruded.cpp.

Referenced by SubdivideExtrudedMesh().

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

◆ phase2()

static void phase2 ( GRegion gr,
MVertexRTree pos,
std::set< std::pair< MVertex *, MVertex * > > &  edges,
std::set< std::pair< MVertex *, MVertex * > > &  edges_swap,
int &  swap 
)
static

Definition at line 355 of file meshGRegionExtruded.cpp.

Referenced by SubdivideExtrudedMesh().

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

◆ phase3()

static void phase3 ( GRegion gr,
MVertexRTree pos,
std::set< std::pair< MVertex *, MVertex * > > &  edges 
)
static

Definition at line 421 of file meshGRegionExtruded.cpp.

Referenced by SubdivideExtrudedMesh().

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

◆ SubdivideExtrudedMesh()

int SubdivideExtrudedMesh ( GModel m)

Definition at line 481 of file meshGRegionExtruded.cpp.

Referenced by Mesh3D().

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