gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <cmath>
#include <vector>
#include <list>
#include "GmshDefines.h"
#include "GeoDefines.h"
#include "gmshSurface.h"
#include "ListUtils.h"
#include "TreeUtils.h"
#include "SPoint2.h"
#include "ExtrudeParams.h"
#include "findLinks.h"
Go to the source code of this file.
Classes | |
struct | Coord |
class | Vertex |
class | CircParam |
class | Curve |
class | EdgeLoop |
class | Surface |
class | SurfaceLoop |
class | Volume |
class | PhysicalGroup |
Functions | |
int | CompareVertex (const void *a, const void *b) |
int | CompareSurfaceLoop (const void *a, const void *b) |
int | CompareEdgeLoop (const void *a, const void *b) |
int | CompareCurve (const void *a, const void *b) |
int | CompareSurface (const void *a, const void *b) |
int | CompareVolume (const void *a, const void *b) |
int | ComparePhysicalGroup (const void *a, const void *b) |
void | FreeVertex (void *a, void *b) |
void | FreePhysicalGroup (void *a, void *b) |
void | FreeEdgeLoop (void *a, void *b) |
void | FreeSurfaceLoop (void *a, void *b) |
void | FreeCurve (void *a, void *b) |
void | FreeSurface (void *a, void *b) |
void | FreeVolume (void *a, void *b) |
void | Projette (Vertex *v, double mat[3][3]) |
Vertex * | CreateVertex (int Num, double X, double Y, double Z, double lc, double u) |
Vertex * | CreateVertex (int Num, double u, double v, gmshSurface *s, double lc) |
Curve * | CreateCurve (int Num, int Typ, int Order, List_T *Liste, List_T *Knots, int p1, int p2, double u1, double u2, bool &ok) |
Curve * | CreateReversedCurve (Curve *c) |
Surface * | CreateSurface (int Num, int Typ) |
Volume * | CreateVolume (int Num, int Typ) |
EdgeLoop * | CreateEdgeLoop (int Num, List_T *intlist) |
SurfaceLoop * | CreateSurfaceLoop (int Num, List_T *intlist) |
PhysicalGroup * | CreatePhysicalGroup (int Num, int typ, List_T *intlist) |
bool | EndCurve (Curve *c) |
void | EndSurface (Surface *s) |
Vertex * | FindPoint (int inum) |
Curve * | FindCurve (int inum) |
EdgeLoop * | FindEdgeLoop (int inum) |
Surface * | FindSurface (int inum) |
SurfaceLoop * | FindSurfaceLoop (int inum) |
Volume * | FindVolume (int inum) |
PhysicalGroup * | FindPhysicalGroup (int inum, int type) |
bool | TranslateShapes (double X, double Y, double Z, List_T *shapes) |
bool | DilatShapes (double X, double Y, double Z, double A, double B, double C, List_T *shapes) |
bool | RotateShapes (double Ax, double Ay, double Az, double Px, double Py, double Pz, double alpha, List_T *shapes) |
bool | SymmetryShapes (double A, double B, double C, double D, List_T *shapes) |
Vertex * | DuplicateVertex (Vertex *v) |
Curve * | DuplicateCurve (Curve *c) |
Surface * | DuplicateSurface (Surface *s) |
Volume * | DuplicateVolume (Volume *s) |
void | DeletePoint (int Num, bool recursive=false) |
void | DeleteCurve (int Num, bool recursive=false) |
void | DeleteSurface (int Num, bool recursive=false) |
void | DeleteVolume (int Num, bool recursive=false) |
void | DeletePhysicalPoint (int Num) |
void | DeletePhysicalLine (int Num) |
void | DeletePhysicalSurface (int Num) |
void | DeletePhysicalVolume (int Num) |
void | ExtrudeShapes (int extrude_type, List_T *in, double T0, double T1, double T2, double A0, double A1, double A2, double X0, double X1, double X2, double alpha, ExtrudeParams *e, List_T *out) |
void | ProtudeXYZ (double &x, double &y, double &z, ExtrudeParams *e) |
void | ReplaceAllDuplicates () |
void | ReplaceAllDuplicatesNew (double tol=-1.) |
bool | ProjectPointOnSurface (Surface *s, Vertex &p, double uv[2]) |
bool | IntersectCurvesWithSurface (List_T *curve_ids, int surface_id, List_T *shapes) |
bool | SplitCurve (int line_id, List_T *vertices_id, List_T *curves) |
int | RecognizeLineLoop (List_T *liste, int *loop) |
int | RecognizeSurfaceLoop (List_T *liste, int *loop) |
bool | SortEdgesInLoop (int num, List_T *edges, bool reorient=false) |
bool | SetSurfaceGeneratrices (Surface *s, List_T *loops) |
bool | SetVolumeSurfaces (Volume *v, List_T *loops) |
void | SetTranslationMatrix (double matrix[4][4], double T[3]) |
void | SetSymmetryMatrix (double matrix[4][4], double A, double B, double C, double D) |
void | SetDilatationMatrix (double matrix[4][4], double T[3], double A, double B, double C) |
void | SetRotationMatrix (double matrix[4][4], double Axe[3], double alpha) |
int | NEWPOINT () |
int | NEWCURVE () |
int | NEWCURVELOOP () |
int | NEWSURFACE () |
int | NEWSURFACELOOP () |
int | NEWVOLUME () |
int | NEWREG () |
int | NEWFIELD () |
int | NEWPHYSICAL () |
int CompareCurve | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 74 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll(), and ReplaceDuplicateCurves().
int CompareEdgeLoop | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 67 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll().
int ComparePhysicalGroup | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 95 of file Geo.cpp.
Referenced by DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), and FindPhysicalGroup().
int CompareSurface | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 81 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll(), DeleteSurface(), RemoveDegenerateSurfaces(), and ReplaceDuplicateSurfaces().
int CompareSurfaceLoop | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 60 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll().
int CompareVertex | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 30 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll(), CompareTwoCurves(), DeletePoint(), InterpolateRuledSurface(), and ReplaceDuplicatePoints().
int CompareVolume | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 88 of file Geo.cpp.
Referenced by GEO_Internals::_allocateAll().
Curve* CreateCurve | ( | int | Num, |
int | Typ, | ||
int | Order, | ||
List_T * | Liste, | ||
List_T * | Knots, | ||
int | p1, | ||
int | p2, | ||
double | u1, | ||
double | u2, | ||
bool & | ok | ||
) |
Definition at line 445 of file Geo.cpp.
Referenced by GEO_Internals::_addCompoundSpline(), _create_splitted_curve(), GEO_Internals::addBezier(), GEO_Internals::addBSpline(), GEO_Internals::addCircleArc(), GEO_Internals::addEllipseArc(), GEO_Internals::addLine(), GEO_Internals::addSpline(), CreateReversedCurve(), discreteEdge::discreteEdge(), DuplicateCurve(), GModel::exportDiscreteGEOInternals(), and ExtrudePoint().
Definition at line 168 of file Geo.cpp.
Referenced by GEO_Internals::addCurveLoop(), and GEO_Internals::addCurveLoops().
PhysicalGroup* CreatePhysicalGroup | ( | int | Num, |
int | typ, | ||
List_T * | intlist | ||
) |
Definition at line 142 of file Geo.cpp.
Referenced by GEO_Internals::modifyPhysicalGroup().
Definition at line 1147 of file Geo.cpp.
Referenced by GEO_Internals::_addCompoundSpline(), _create_splitted_curve(), GEO_Internals::addBezier(), GEO_Internals::addBSpline(), GEO_Internals::addCircleArc(), GEO_Internals::addEllipseArc(), GEO_Internals::addLine(), GEO_Internals::addSpline(), discreteEdge::discreteEdge(), DuplicateCurve(), GModel::exportDiscreteGEOInternals(), ExtrudePoint(), and SortEdgesInLoop().
Surface* CreateSurface | ( | int | Num, |
int | Typ | ||
) |
Definition at line 579 of file Geo.cpp.
Referenced by GEO_Internals::addDiscreteSurface(), GEO_Internals::addPlaneSurface(), GEO_Internals::addSurfaceFilling(), discreteFace::discreteFace(), DuplicateSurface(), GModel::exportDiscreteGEOInternals(), and ExtrudeCurve().
SurfaceLoop* CreateSurfaceLoop | ( | int | Num, |
List_T * | intlist | ||
) |
Definition at line 193 of file Geo.cpp.
Referenced by GEO_Internals::addSurfaceLoop().
Vertex* CreateVertex | ( | int | Num, |
double | u, | ||
double | v, | ||
gmshSurface * | s, | ||
double | lc | ||
) |
Vertex* CreateVertex | ( | int | Num, |
double | X, | ||
double | Y, | ||
double | Z, | ||
double | lc, | ||
double | u | ||
) |
Definition at line 106 of file Geo.cpp.
Referenced by GEO_Internals::_addCompoundSpline(), GEO_Internals::addVertex(), discreteVertex::discreteVertex(), DuplicateVertex(), GModel::exportDiscreteGEOInternals(), and IntersectCurvesWithSurface().
Volume* CreateVolume | ( | int | Num, |
int | Typ | ||
) |
Definition at line 617 of file Geo.cpp.
Referenced by GEO_Internals::addVolume(), discreteRegion::discreteRegion(), DuplicateVolume(), GModel::exportDiscreteGEOInternals(), and ExtrudeSurface().
void DeleteCurve | ( | int | Num, |
bool | recursive = false |
||
) |
Definition at line 981 of file Geo.cpp.
Referenced by DeleteSurface(), DeleteVolume(), GEO_Internals::remove(), RemoveDegenerateCurves(), and SplitCurve().
void DeletePhysicalLine | ( | int | Num | ) |
Definition at line 1114 of file Geo.cpp.
Referenced by GEO_Internals::modifyPhysicalGroup().
void DeletePhysicalPoint | ( | int | Num | ) |
Definition at line 1103 of file Geo.cpp.
Referenced by GEO_Internals::modifyPhysicalGroup().
void DeletePhysicalSurface | ( | int | Num | ) |
Definition at line 1125 of file Geo.cpp.
Referenced by GEO_Internals::modifyPhysicalGroup().
void DeletePhysicalVolume | ( | int | Num | ) |
Definition at line 1136 of file Geo.cpp.
Referenced by GEO_Internals::modifyPhysicalGroup().
void DeletePoint | ( | int | Num, |
bool | recursive = false |
||
) |
Definition at line 956 of file Geo.cpp.
Referenced by DeleteCurve(), DeleteSurface(), DeleteVolume(), and GEO_Internals::remove().
void DeleteSurface | ( | int | Num, |
bool | recursive = false |
||
) |
Definition at line 1018 of file Geo.cpp.
Referenced by DeleteVolume(), GEO_Internals::remove(), and RemoveDegenerateSurfaces().
void DeleteVolume | ( | int | Num, |
bool | recursive = false |
||
) |
Definition at line 1064 of file Geo.cpp.
Referenced by GEO_Internals::remove(), and RemoveDegenerateVolumes().
bool DilatShapes | ( | double | X, |
double | Y, | ||
double | Z, | ||
double | A, | ||
double | B, | ||
double | C, | ||
List_T * | shapes | ||
) |
Definition at line 1564 of file Geo.cpp.
Referenced by GEO_Internals::_transform().
Definition at line 830 of file Geo.cpp.
Referenced by GEO_Internals::copy(), DuplicateSurface(), and ExtrudeCurve().
Definition at line 895 of file Geo.cpp.
Referenced by GEO_Internals::copy(), DuplicateVolume(), and ExtrudeSurface().
Definition at line 778 of file Geo.cpp.
Referenced by GEO_Internals::copy(), DuplicateCurve(), and ExtrudePoint().
Definition at line 942 of file Geo.cpp.
Referenced by GEO_Internals::copy().
bool EndCurve | ( | Curve * | c | ) |
Definition at line 225 of file Geo.cpp.
Referenced by GEO_Internals::addCircleArc(), GEO_Internals::addEllipseArc(), ApplicationOnShapes(), ApplyTransformationToCurve(), CopyCurve(), CreateCurve(), CreateReversedCurve(), GModel::exportDiscreteGEOInternals(), ExtrudePoint(), and ReplaceDuplicateCurves().
void EndSurface | ( | Surface * | s | ) |
Definition at line 426 of file Geo.cpp.
Referenced by GEO_Internals::addPlaneSurface(), GEO_Internals::addSurfaceFilling(), ApplyTransformationToSurface(), CopySurface(), GModel::exportDiscreteGEOInternals(), and ExtrudeCurve().
void ExtrudeShapes | ( | int | extrude_type, |
List_T * | in, | ||
double | T0, | ||
double | T1, | ||
double | T2, | ||
double | A0, | ||
double | A1, | ||
double | A2, | ||
double | X0, | ||
double | X1, | ||
double | X2, | ||
double | alpha, | ||
ExtrudeParams * | e, | ||
List_T * | out | ||
) |
Definition at line 3221 of file Geo.cpp.
Referenced by GEO_Internals::_extrude().
Curve* FindCurve | ( | int | inum | ) |
EdgeLoop* FindEdgeLoop | ( | int | inum | ) |
Definition at line 733 of file Geo.cpp.
Referenced by GEO_Internals::addCurveLoop(), GEO_Internals::addSurfaceFilling(), and SetSurfaceGeneratrices().
PhysicalGroup* FindPhysicalGroup | ( | int | inum, |
int | type | ||
) |
Definition at line 755 of file Geo.cpp.
Referenced by DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), and GEO_Internals::modifyPhysicalGroup().
Vertex* FindPoint | ( | int | inum | ) |
Surface* FindSurface | ( | int | inum | ) |
SurfaceLoop* FindSurfaceLoop | ( | int | inum | ) |
Definition at line 744 of file Geo.cpp.
Referenced by GEO_Internals::addSurfaceLoop(), and SetVolumeSurfaces().
Volume* FindVolume | ( | int | inum | ) |
Definition at line 722 of file Geo.cpp.
Referenced by GEO_Internals::addVolume(), ApplicationOnShapes(), GEO_Internals::copy(), DeleteVolume(), GEO_Internals::setRecombine(), GEO_Internals::setTransfiniteVolume(), GEO_Internals::setTransfiniteVolumeQuadTri(), and GEO_Internals::synchronize().
void FreeCurve | ( | void * | a, |
void * | b | ||
) |
Definition at line 567 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll(), and CreateReversedCurve().
void FreeEdgeLoop | ( | void * | a, |
void * | b | ||
) |
Definition at line 183 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll().
void FreePhysicalGroup | ( | void * | a, |
void * | b | ||
) |
Definition at line 158 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll(), and GEO_Internals::resetPhysicalGroups().
void FreeSurface | ( | void * | a, |
void * | b | ||
) |
Definition at line 604 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll().
void FreeSurfaceLoop | ( | void * | a, |
void * | b | ||
) |
Definition at line 208 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll().
void FreeVertex | ( | void * | a, |
void * | b | ||
) |
Definition at line 133 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll().
void FreeVolume | ( | void * | a, |
void * | b | ||
) |
Definition at line 635 of file Geo.cpp.
Referenced by GEO_Internals::_freeAll().
Definition at line 3560 of file Geo.cpp.
Referenced by GEO_Internals::intersectCurvesWithSurface().
int NEWCURVE | ( | ) |
Definition at line 3784 of file Geo.cpp.
Referenced by _create_splitted_curve(), DuplicateCurve(), and ExtrudePoint().
int NEWCURVELOOP | ( | ) |
int NEWPHYSICAL | ( | ) |
int NEWPOINT | ( | ) |
Definition at line 3776 of file Geo.cpp.
Referenced by DuplicateVertex(), and IntersectCurvesWithSurface().
int NEWREG | ( | ) |
Definition at line 3846 of file Geo.cpp.
Referenced by NEWCURVE(), NEWCURVELOOP(), NEWPHYSICAL(), NEWSURFACE(), NEWSURFACELOOP(), and NEWVOLUME().
int NEWSURFACE | ( | ) |
Definition at line 3809 of file Geo.cpp.
Referenced by DuplicateSurface(), ExtrudeCurve(), and ExtrudeSurface().
int NEWSURFACELOOP | ( | ) |
int NEWVOLUME | ( | ) |
Definition at line 3834 of file Geo.cpp.
Referenced by DuplicateVolume(), and ExtrudeSurface().
Definition at line 3340 of file Geo.cpp.
Referenced by gmshFace::closestPoint().
|
inline |
Definition at line 177 of file Geo.h.
Referenced by EndCurve(), and InterpolateCurve().
void ProtudeXYZ | ( | double & | x, |
double & | y, | ||
double & | z, | ||
ExtrudeParams * | e | ||
) |
Definition at line 2542 of file Geo.cpp.
Referenced by ExtrudeParams::Extrude().
int RecognizeLineLoop | ( | List_T * | liste, |
int * | loop | ||
) |
Definition at line 1214 of file Geo.cpp.
Referenced by scriptAddCurveLoop().
int RecognizeSurfaceLoop | ( | List_T * | liste, |
int * | loop | ||
) |
Definition at line 1232 of file Geo.cpp.
Referenced by scriptAddSurfaceLoop().
void ReplaceAllDuplicates | ( | ) |
void ReplaceAllDuplicatesNew | ( | double | tol = -1. | ) |
bool RotateShapes | ( | double | Ax, |
double | Ay, | ||
double | Az, | ||
double | Px, | ||
double | Py, | ||
double | Pz, | ||
double | alpha, | ||
List_T * | shapes | ||
) |
Definition at line 1580 of file Geo.cpp.
Referenced by GEO_Internals::_transform().
void SetDilatationMatrix | ( | double | matrix[4][4], |
double | T[3], | ||
double | A, | ||
double | B, | ||
double | C | ||
) |
Definition at line 1282 of file Geo.cpp.
Referenced by DilatShapes().
void SetRotationMatrix | ( | double | matrix[4][4], |
double | Axe[3], | ||
double | alpha | ||
) |
Definition at line 1316 of file Geo.cpp.
Referenced by ExtrudeCurve(), ExtrudePoint(), ExtrudeSurface(), ExtrudeParams::GetAffineTransform(), ProtudeXYZ(), and RotateShapes().
Definition at line 3674 of file Geo.cpp.
Referenced by GEO_Internals::addPlaneSurface(), and GEO_Internals::addSurfaceFilling().
void SetSymmetryMatrix | ( | double | matrix[4][4], |
double | A, | ||
double | B, | ||
double | C, | ||
double | D | ||
) |
Definition at line 1258 of file Geo.cpp.
Referenced by SymmetryShapes().
void SetTranslationMatrix | ( | double | matrix[4][4], |
double | T[3] | ||
) |
Definition at line 1250 of file Geo.cpp.
Referenced by ExtrudeCurve(), ExtrudePoint(), ExtrudeSurface(), ExtrudeParams::GetAffineTransform(), ProtudeXYZ(), RotateShapes(), and TranslateShapes().
Definition at line 3734 of file Geo.cpp.
Referenced by GEO_Internals::addVolume().
bool SortEdgesInLoop | ( | int | num, |
List_T * | edges, | ||
bool | reorient = false |
||
) |
Definition at line 3597 of file Geo.cpp.
Referenced by GEO_Internals::addCurveLoop().
Definition at line 3433 of file Geo.cpp.
Referenced by GEO_Internals::splitCurve().
bool SymmetryShapes | ( | double | A, |
double | B, | ||
double | C, | ||
double | D, | ||
List_T * | shapes | ||
) |
Definition at line 1608 of file Geo.cpp.
Referenced by GEO_Internals::_transform().
bool TranslateShapes | ( | double | X, |
double | Y, | ||
double | Z, | ||
List_T * | shapes | ||
) |
Definition at line 1549 of file Geo.cpp.
Referenced by GEO_Internals::_transform().