gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
PolyMesh Class Reference

#include <meshPolyMesh.h>

Classes

class  Face
 
class  HalfEdge
 
class  Vertex
 

Public Member Functions

void reset ()
 
 ~PolyMesh ()
 
void print4debug (const int debugTag)
 
int degree (const Vertex *v) const
 
int num_sides (const HalfEdge *he) const
 
SVector3 normal (const Vertex *v) const
 
HalfEdgegetEdge (Vertex *v0, Vertex *v1)
 
void createFace (Face *f, Vertex *v0, Vertex *v1, Vertex *v2, HalfEdge *he0, HalfEdge *he1, HalfEdge *he2)
 
int swap_edge (HalfEdge *he0)
 
int merge_faces (HalfEdge *he)
 
void cleanv ()
 
void cleanh ()
 
void cleanf ()
 
void clean ()
 
int split_edge (HalfEdge *he0m, const SVector3 &position, int data)
 
void initialize_rectangle (double xmin, double xmax, double ymin, double ymax)
 
int split_triangle (int index, double x, double y, double z, Face *f, int(*doSwap)(PolyMesh::HalfEdge *, void *)=NULL, void *data=NULL, std::vector< HalfEdge * > *_t=NULL)
 

Public Attributes

std::vector< Vertex * > vertices
 
std::vector< HalfEdge * > hedges
 
std::vector< Face * > faces
 
std::vector< SVector3high_order_nodes
 

Detailed Description

Definition at line 15 of file meshPolyMesh.h.

Constructor & Destructor Documentation

◆ ~PolyMesh()

PolyMesh::~PolyMesh ( )
inline

Definition at line 71 of file meshPolyMesh.h.

Here is the call graph for this function:

Member Function Documentation

◆ clean()

void PolyMesh::clean ( )
inline

Definition at line 282 of file meshPolyMesh.h.

Here is the call graph for this function:

◆ cleanf()

void PolyMesh::cleanf ( )
inline

Definition at line 270 of file meshPolyMesh.h.

Referenced by clean().

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

◆ cleanh()

void PolyMesh::cleanh ( )
inline

Definition at line 258 of file meshPolyMesh.h.

Referenced by clean().

Here is the caller graph for this function:

◆ cleanv()

void PolyMesh::cleanv ( )
inline

Definition at line 246 of file meshPolyMesh.h.

Referenced by clean().

Here is the caller graph for this function:

◆ createFace()

void PolyMesh::createFace ( Face f,
Vertex v0,
Vertex v1,
Vertex v2,
HalfEdge he0,
HalfEdge he1,
HalfEdge he2 
)
inline

Definition at line 154 of file meshPolyMesh.h.

Referenced by initialize_rectangle(), split_edge(), split_triangle(), and swap_edge().

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

◆ degree()

int PolyMesh::degree ( const Vertex v) const
inline

Definition at line 102 of file meshPolyMesh.h.

Referenced by computePointsUsingScaledCrossFieldPlanarP2().

Here is the caller graph for this function:

◆ getEdge()

HalfEdge* PolyMesh::getEdge ( Vertex v0,
Vertex v1 
)
inline

Definition at line 142 of file meshPolyMesh.h.

Referenced by GFaceInitialMesh().

Here is the caller graph for this function:

◆ initialize_rectangle()

void PolyMesh::initialize_rectangle ( double  xmin,
double  xmax,
double  ymin,
double  ymax 
)
inline

Definition at line 361 of file meshPolyMesh.h.

Referenced by GFaceInitialMesh().

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

◆ merge_faces()

int PolyMesh::merge_faces ( HalfEdge he)
inline

Definition at line 217 of file meshPolyMesh.h.

◆ normal()

SVector3 PolyMesh::normal ( const Vertex v) const
inline

Definition at line 127 of file meshPolyMesh.h.

Here is the call graph for this function:

◆ num_sides()

int PolyMesh::num_sides ( const HalfEdge he) const
inline

Definition at line 115 of file meshPolyMesh.h.

Referenced by PolyMesh2GFace().

Here is the caller graph for this function:

◆ print4debug()

void PolyMesh::print4debug ( const int  debugTag)
inline

Definition at line 73 of file meshPolyMesh.h.

Referenced by computePointsUsingScaledCrossFieldPlanarP2().

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

◆ reset()

void PolyMesh::reset ( )
inline

Definition at line 64 of file meshPolyMesh.h.

Referenced by initialize_rectangle(), and ~PolyMesh().

Here is the caller graph for this function:

◆ split_edge()

int PolyMesh::split_edge ( HalfEdge he0m,
const SVector3 position,
int  data 
)
inline

Definition at line 289 of file meshPolyMesh.h.

Here is the call graph for this function:

◆ split_triangle()

int PolyMesh::split_triangle ( int  index,
double  x,
double  y,
double  z,
Face f,
int(*)(PolyMesh::HalfEdge *, void *)  doSwap = NULL,
void *  data = NULL,
std::vector< HalfEdge * > *  _t = NULL 
)
inline

Definition at line 397 of file meshPolyMesh.h.

Referenced by addPoints(), GFaceDelaunayRefinement(), and GFaceInitialMesh().

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

◆ swap_edge()

int PolyMesh::swap_edge ( HalfEdge he0)
inline

Definition at line 197 of file meshPolyMesh.h.

Referenced by computePointsUsingScaledCrossFieldPlanarP2(), GFaceInitialMesh(), recover_edge(), and split_triangle().

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

Member Data Documentation

◆ faces

◆ hedges

◆ high_order_nodes

std::vector<SVector3> PolyMesh::high_order_nodes

Definition at line 62 of file meshPolyMesh.h.

Referenced by computePointsUsingScaledCrossFieldPlanarP2(), and PolyMesh2GFace().

◆ vertices


The documentation for this class was generated from the following file: