gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
GeomMeshMatcher.h
Go to the documentation of this file.
1 // Gmsh - Copyright (C) 1997-2022 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 //
6 // Contributor(s):
7 // Bastien Gorissen
8 //
9 
10 #ifndef GEOM_MESH_MATCHER_H
11 #define GEOM_MESH_MATCHER_H
12 
13 #include <vector>
14 #include "GModel.h"
15 #include "GVertex.h"
16 #include "GEdge.h"
17 #include "GFace.h"
18 #include "GRegion.h"
19 #include "Pair.h"
20 
22 private:
23  std::vector<Pair<GVertex *, GVertex *> > *matchVertices(GModel *m1,
24  GModel *m2, bool &ok);
25  std::vector<Pair<GEdge *, GEdge *> > *
26  matchEdges(GModel *m1, GModel *m2,
27  std::vector<Pair<GVertex *, GVertex *> > *coresp_v, bool &ok);
28  std::vector<Pair<GFace *, GFace *> > *
29  matchFaces(GModel *m1, GModel *m2,
30  std::vector<Pair<GEdge *, GEdge *> > *coresp_e, bool &ok);
31  std::vector<Pair<GRegion *, GRegion *> > *
32  matchRegions(GModel *m1, GModel *m2,
33  std::vector<Pair<GFace *, GFace *> > *coresp_f, bool &ok);
37 
38 public:
39  static GeomMeshMatcher *instance();
40  static void destroy();
41  int match(GModel *geom, GModel *mesh);
42  int forceTomatch(GModel *geom, GModel *mesh, const double TOL);
43 };
44 
45 #endif
GFace.h
GeomMeshMatcher::instance
static GeomMeshMatcher * instance()
Definition: GeomMeshMatcher.cpp:397
GeomMeshMatcher::matchRegions
std::vector< Pair< GRegion *, GRegion * > > * matchRegions(GModel *m1, GModel *m2, std::vector< Pair< GFace *, GFace * > > *coresp_f, bool &ok)
Definition: GeomMeshMatcher.cpp:296
GeomMeshMatcher::GeomMeshMatcher
GeomMeshMatcher()
Definition: GeomMeshMatcher.h:35
Pair.h
GeomMeshMatcher::forceTomatch
int forceTomatch(GModel *geom, GModel *mesh, const double TOL)
Definition: GeomMeshMatcher.cpp:480
GEdge.h
GRegion.h
GeomMeshMatcher::~GeomMeshMatcher
~GeomMeshMatcher()
Definition: GeomMeshMatcher.h:36
GeomMeshMatcher::_gmm_instance
static GeomMeshMatcher * _gmm_instance
Definition: GeomMeshMatcher.h:34
GeomMeshMatcher
Definition: GeomMeshMatcher.h:21
GModel
Definition: GModel.h:44
GVertex.h
GeomMeshMatcher::matchFaces
std::vector< Pair< GFace *, GFace * > > * matchFaces(GModel *m1, GModel *m2, std::vector< Pair< GEdge *, GEdge * > > *coresp_e, bool &ok)
Definition: GeomMeshMatcher.cpp:217
GeomMeshMatcher::destroy
static void destroy()
Definition: GeomMeshMatcher.cpp:405
Pair
Definition: Pair.h:10
GeomMeshMatcher::matchVertices
std::vector< Pair< GVertex *, GVertex * > > * matchVertices(GModel *m1, GModel *m2, bool &ok)
Definition: GeomMeshMatcher.cpp:75
GModel.h
GeomMeshMatcher::match
int match(GModel *geom, GModel *mesh)
Definition: GeomMeshMatcher.cpp:850
GeomMeshMatcher::matchEdges
std::vector< Pair< GEdge *, GEdge * > > * matchEdges(GModel *m1, GModel *m2, std::vector< Pair< GVertex *, GVertex * > > *coresp_v, bool &ok)
Definition: GeomMeshMatcher.cpp:124