gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
GModelParametrize.cpp File Reference
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <sstream>
#include <string.h>
#include "GmshConfig.h"
#include "GModel.h"
#include "GFace.h"
#include "discreteFace.h"
#include "discreteEdge.h"
#include "discreteVertex.h"
#include "MTriangle.h"
#include "MEdge.h"
#include "GEdge.h"
#include "MLine.h"
#include "MPoint.h"
#include "Context.h"
#include "OS.h"
#include "GmshMessage.h"
#include "GModelParametrize.h"
#include "curvature.h"
Include dependency graph for GModelParametrize.cpp:

Go to the source code of this file.

Classes

class  twoT
 

Functions

void classifyFaces (GModel *gm, double curveAngleThreshold)
 
void classifyFaces (GModel *gm, double angleThreshold, bool includeBoundary, bool forParametrization, double curveAngleThreshold)
 
int computeDiscreteCurvatures (GModel *gm)
 
bool computeParametrization (const std::vector< MTriangle * > &triangles, std::vector< MVertex * > &nodes, std::vector< SPoint2 > &stl_vertices_uv, std::vector< SPoint3 > &stl_vertices_xyz, std::vector< int > &stl_triangles)
 
static int isTriangulationParametrizable (const std::vector< MTriangle * > &t, int Nmax, std::ostringstream &why)
 
void makeMLinesUnique (std::vector< MLine * > &v)
 
bool makePartitionSimplyConnected (std::vector< MTriangle * > &t, std::vector< std::vector< MTriangle * > > &ts)
 
void computeEdgeCut (GModel *gm, std::vector< MLine * > &cut, int max_elems_per_cut)
 
void computeNonManifoldEdges (GModel *gm, std::vector< MLine * > &cut, bool addBoundary)
 

Function Documentation

◆ classifyFaces() [1/2]

void classifyFaces ( GModel gm,
double  angleThreshold,
bool  includeBoundary,
bool  forParametrization,
double  curveAngleThreshold 
)

Definition at line 398 of file GModelParametrize.cpp.

Here is the call graph for this function:

◆ classifyFaces() [2/2]

void classifyFaces ( GModel gm,
double  curveAngleThreshold 
)

Definition at line 103 of file GModelParametrize.cpp.

Referenced by classifyFaces(), and GModel::classifySurfaces().

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

◆ computeDiscreteCurvatures()

int computeDiscreteCurvatures ( GModel gm)

Definition at line 462 of file GModelParametrize.cpp.

Referenced by classifyFaces().

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

◆ computeEdgeCut()

void computeEdgeCut ( GModel gm,
std::vector< MLine * > &  cut,
int  max_elems_per_cut 
)

Definition at line 852 of file GModelParametrize.cpp.

Referenced by classifyFaces().

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

◆ computeNonManifoldEdges()

void computeNonManifoldEdges ( GModel gm,
std::vector< MLine * > &  cut,
bool  addBoundary 
)

Definition at line 948 of file GModelParametrize.cpp.

Referenced by classifyFaces().

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

◆ computeParametrization()

bool computeParametrization ( const std::vector< MTriangle * > &  triangles,
std::vector< MVertex * > &  nodes,
std::vector< SPoint2 > &  stl_vertices_uv,
std::vector< SPoint3 > &  stl_vertices_xyz,
std::vector< int > &  stl_triangles 
)

Definition at line 495 of file GModelParametrize.cpp.

Referenced by discreteFace::createGeometry(), and isTriangulationParametrizable().

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

◆ isTriangulationParametrizable()

static int isTriangulationParametrizable ( const std::vector< MTriangle * > &  t,
int  Nmax,
std::ostringstream &  why 
)
static

Definition at line 722 of file GModelParametrize.cpp.

Referenced by computeEdgeCut().

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

◆ makeMLinesUnique()

void makeMLinesUnique ( std::vector< MLine * > &  v)

Definition at line 789 of file GModelParametrize.cpp.

Referenced by computeEdgeCut(), and computeNonManifoldEdges().

Here is the caller graph for this function:

◆ makePartitionSimplyConnected()

bool makePartitionSimplyConnected ( std::vector< MTriangle * > &  t,
std::vector< std::vector< MTriangle * > > &  ts 
)

Definition at line 808 of file GModelParametrize.cpp.

Referenced by computeEdgeCut().

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