gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
143 if(hidden)
return false;
150 for(std::size_t i = 0; i < elements.size(); i++)
157 for(std::size_t i = 0; i < elements.size(); i++)
158 if(elements[i]->getPolynomialOrder() > 1)
return true;
165 for(std::size_t i = 0; i < elements.size(); i++) {
173 double x[3], y[3],
z[3];
176 for(
int k = 0; k < 3; k++) {
194 #pragma omp parallel for schedule(dynamic) num_threads(nthreads)
195 for(std::size_t i = 0; i < elements.size(); i++) {
201 unsigned int col[4] = {
c,
c,
c,
c};
213 double x[2], y[2],
z[2];
217 for(
int k = 0; k < 2; k++) {
224 for(
int k = 0; k < 2; k++)
238 double x[3], y[3],
z[3];
242 for(
int k = 0; k < 3; k++) {
249 for(
int k = 0; k < 3; k++)
267 num += e->
lines.size();
306 num += (3 *
f->triangles.size() + 4 *
f->quadrangles.size() +
307 4 *
f->polygons.size()) /
318 num += (
f->triangles.size() + 2 *
f->quadrangles.size() +
319 2 *
f->polygons.size());
328 f->deleteVertexArrays();
329 if(!
f->getVisibility())
return;
348 f->va_lines->finalize();
349 f->va_triangles->finalize();
364 return (
int)sqrt((
double)num);
381 for(std::size_t i = 0; i < r->
polyhedra.size(); i++)
382 numLP += 2 * r->
polyhedra[i]->getNumEdges();
398 for(std::size_t i = 0; i < r->
polyhedra.size(); i++)
456 Msg::Debug(
"Mesh has changed: reinitializing vertex arrays");
double minSIGEShapeMeasure()
virtual int getNumFacesRep(bool curved)=0
int _estimateNumTriangles(GFace *f)
virtual unsigned int getColor()
void setAllElementsVisible(bool val)
virtual void getEdgeRep(bool curved, int num, double *x, double *y, double *z, SVector3 *n)=0
std::vector< MLine * > lines
static void Debug(const char *fmt,...)
static double c(int i, int j, fullMatrix< double > &CA, const std::vector< SPoint3 > &P, const std::vector< SPoint3 > &Q)
virtual int getDim() const =0
VertexArray * va_triangles
std::vector< int > physicals
void f(int n, double u, double *val)
double maxDistToStraight() const
void operator()(GRegion *r)
int clipOnlyDrawIntersectingVolume
virtual char getSelection()
unsigned int getColorByEntity(GEntity *e)
void add(double x, double y, double z, double nx, double ny, double nz)
virtual std::size_t getNumVertices() const =0
static bool areAllElementsVisible(std::vector< T * > &elements)
static void addSmoothNormals(GEntity *e, std::vector< T * > &elements)
std::vector< MPolyhedron * > polyhedra
virtual const MVertex * getVertex(int num) const =0
void operator()(GFace *f)
std::vector< MHexahedron * > hexahedra
virtual int getNumEdgesRep(bool curved)=0
int _estimateNumLines(GFace *f)
virtual int getType() const =0
int _estimateIfClipped(int num)
static int GetMaxThreads()
int _estimateNumTriangles(GRegion *r)
static void addElementsInArrays(GEntity *e, std::vector< T * > &elements, bool edges, bool faces)
std::vector< MTrihedron * > trihedra
static GmshColorTable clip
contextGeometryOptions geom
std::vector< MPrism * > prisms
static unsigned int getColorByElement(MElement *ele)
std::vector< MPyramid * > pyramids
char getVisibility() const
virtual double gammaShapeMeasure()
double minSICNShapeMeasure()
void operator()(GFace *f)
static bool areSomeElementsCurved(std::vector< T * > &elements)
bool get(double x, double y, double z, double &nx, double &ny, double &nz) const
virtual double getInnerRadius()
static const double curvedRepTol
virtual SPoint3 barycenter(bool primary=false) const
int _estimateNumLines(GRegion *r)
virtual char getVisibility() const
virtual int getPolynomialOrder() const
double distoShapeMeasure()
static double evalClipPlane(int clip, double x, double y, double z)
bool isElementVisible(MElement *ele)
virtual int getPartition() const
void add(double *x, double *y, double *z, SVector3 *n, unsigned int *col, MElement *ele=nullptr, bool unique=true, bool boundary=false)
int getMeshStatus(bool countDiscrete=true)
virtual char getVisibility()
virtual void getFaceRep(bool curved, int num, double *x, double *y, double *z, SVector3 *n)=0
static double intersectClipPlane(int clip, MElement *ele)
void deleteVertexArrays()
std::vector< MTetrahedron * > tetrahedra
int _estimateNumLines(GEdge *e)
void operator()(GEdge *e)