gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
Geo.cpp File Reference
#include <stdlib.h>
#include <string.h>
#include "GmshMessage.h"
#include "GmshConfig.h"
#include "Numeric.h"
#include "GModel.h"
#include "GModelIO_GEO.h"
#include "GModelIO_OCC.h"
#include "Geo.h"
#include "GeoInterpolation.h"
#include "Context.h"
#include "MVertexRTree.h"
#include "fullMatrix.h"
Include dependency graph for Geo.cpp:

Go to the source code of this file.

Classes

class  ShapeLessThan
 
struct  PointSurface
 
struct  CurveSurface
 

Functions

int CompareVertex (const void *a, const void *b)
 
static int ComparePosition (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)
 
VertexCreateVertex (int Num, double X, double Y, double Z, double lc, double u)
 
VertexCreateVertex (int Num, double u, double v, gmshSurface *surf, double lc)
 
void FreeVertex (void *a, void *b)
 
PhysicalGroupCreatePhysicalGroup (int Num, int typ, List_T *intlist)
 
void FreePhysicalGroup (void *a, void *b)
 
EdgeLoopCreateEdgeLoop (int Num, List_T *intlist)
 
void FreeEdgeLoop (void *a, void *b)
 
SurfaceLoopCreateSurfaceLoop (int Num, List_T *intlist)
 
void FreeSurfaceLoop (void *a, void *b)
 
static void direction (Vertex *v1, Vertex *v2, double d[3])
 
bool EndCurve (Curve *c)
 
void EndSurface (Surface *s)
 
CurveCreateCurve (int Num, int Typ, int Order, List_T *Liste, List_T *Knots, int p1, int p2, double u1, double u2, bool &ok)
 
void FreeCurve (void *a, void *b)
 
SurfaceCreateSurface (int Num, int Typ)
 
void FreeSurface (void *a, void *b)
 
VolumeCreateVolume (int Num, int Typ)
 
void FreeVolume (void *a, void *b)
 
static int Compare2Lists (List_T *List1, List_T *List2, int(*fcmp)(const void *a, const void *b))
 
static VertexFindPoint (int inum, Tree_T *t)
 
VertexFindPoint (int inum)
 
static CurveFindCurve (int inum, Tree_T *t)
 
CurveFindCurve (int inum)
 
static SurfaceFindSurface (int inum, Tree_T *t)
 
SurfaceFindSurface (int inum)
 
VolumeFindVolume (int inum)
 
EdgeLoopFindEdgeLoop (int inum)
 
SurfaceLoopFindSurfaceLoop (int inum)
 
PhysicalGroupFindPhysicalGroup (int num, int type)
 
static void CopyVertex (Vertex *v, Vertex *vv)
 
VertexDuplicateVertex (Vertex *v)
 
VertexDuplicateVertex (GVertex *gv)
 
static int CompareAbsCurve (const void *a, const void *b)
 
static void CopyCurve (Curve *c, Curve *cc)
 
CurveDuplicateCurve (Curve *c)
 
CurveDuplicateCurve (GEdge *ge)
 
static void CopySurface (Surface *s, Surface *ss)
 
SurfaceDuplicateSurface (Surface *s)
 
SurfaceDuplicateSurface (GFace *gf, std::map< int, int > &source)
 
static void CopyVolume (Volume *v, Volume *vv)
 
VolumeDuplicateVolume (Volume *v)
 
void DeletePoint (int ip, bool recursive)
 
void DeleteCurve (int ip, bool recursive)
 
void DeleteSurface (int is, bool recursive)
 
void DeleteVolume (int iv, bool recursive)
 
void DeletePhysicalPoint (int num)
 
void DeletePhysicalLine (int num)
 
void DeletePhysicalSurface (int num)
 
void DeletePhysicalVolume (int num)
 
CurveCreateReversedCurve (Curve *c)
 
int RecognizeLineLoop (List_T *liste, int *loop)
 
int RecognizeSurfaceLoop (List_T *liste, int *loop)
 
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)
 
static void GramSchmidt (double v1[3], double v2[3], double v3[3])
 
void SetRotationMatrix (double matrix[4][4], double Axe[3], double alpha)
 
static void vecmat4x4 (double mat[4][4], double vec[4], double res[4])
 
static void ApplyTransformationToPointAlways (double matrix[4][4], Vertex *v)
 
static void ApplyTransformationToPoint (double matrix[4][4], Vertex *v)
 
static void ApplyTransformationToCurve (double matrix[4][4], Curve *c)
 
static void ApplyTransformationToSurface (double matrix[4][4], Surface *s)
 
static void ApplyTransformationToVolume (double matrix[4][4], Volume *v)
 
static bool ApplicationOnShapes (double matrix[4][4], List_T *shapes)
 
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)
 
static int CompareTwoPoints (const void *a, const void *b)
 
static int CompareTwoCurves (const void *a, const void *b)
 
static int CompareTwoSurfaces (const void *a, const void *b)
 
static void MaxNumPoint (void *a, void *b)
 
static void MaxNumCurve (void *a, void *b)
 
static void MaxNumSurface (void *a, void *b)
 
static void ReplaceDuplicatePointsNew (double tol=-1.)
 
static void ReplaceDuplicatePoints (std::map< int, int > *v_report=nullptr)
 
static void ReplaceDuplicateCurves (std::map< int, int > *c_report=nullptr)
 
static void RemoveDegenerateCurves ()
 
static void RemoveDegenerateVolumes ()
 
static void RemoveDegenerateSurfaces ()
 
static void ReplaceDuplicateSurfaces (std::map< int, int > *s_report=nullptr)
 
static void ReplaceAllDuplicates (std::vector< std::map< int, int > > &report)
 
void ReplaceAllDuplicates ()
 
void ReplaceAllDuplicatesNew (double tol)
 
void ProtudeXYZ (double &x, double &y, double &z, ExtrudeParams *e)
 
int ExtrudePoint (int type, int ip, double T0, double T1, double T2, double A0, double A1, double A2, double X0, double X1, double X2, double alpha, Curve **pc, Curve **prc, int final, ExtrudeParams *e)
 
int ExtrudeCurve (int type, int ic, double T0, double T1, double T2, double A0, double A1, double A2, double X0, double X1, double X2, double alpha, Surface **ps, int final, ExtrudeParams *e)
 
int ExtrudeSurface (int type, int is, double T0, double T1, double T2, double A0, double A1, double A2, double X0, double X1, double X2, double alpha, Volume **pv, ExtrudeParams *e)
 
void ExtrudeShapes (int type, List_T *list_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 *list_out)
 
static bool projectPS (fullVector< double > &x, fullVector< double > &res, void *data)
 
bool ProjectPointOnSurface (Surface *s, Vertex &p, double uv[2])
 
static Curve_create_splitted_curve (Curve *c, List_T *nodes)
 
bool SplitCurve (int line_id, List_T *vertices_id, List_T *curves)
 
static bool intersectCS (fullVector< double > &uvt, fullVector< double > &res, void *data)
 
bool IntersectCurvesWithSurface (List_T *curve_ids, int surface_id, List_T *shapes)
 
bool SortEdgesInLoop (int num, List_T *edges, bool reorient)
 
bool SetSurfaceGeneratrices (Surface *s, List_T *loops)
 
bool SetVolumeSurfaces (Volume *v, List_T *loops)
 
int NEWPOINT ()
 
int NEWCURVE ()
 
int NEWCURVELOOP ()
 
int NEWSURFACE ()
 
int NEWSURFACELOOP ()
 
int NEWVOLUME ()
 
int NEWREG ()
 
int NEWFIELD ()
 
int NEWPHYSICAL ()
 

Variables

static List_TListOfTransformedPoints = nullptr
 

Function Documentation

◆ _create_splitted_curve()

static Curve* _create_splitted_curve ( Curve c,
List_T nodes 
)
static

Definition at line 3406 of file Geo.cpp.

Referenced by SplitCurve().

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

◆ ApplicationOnShapes()

static bool ApplicationOnShapes ( double  matrix[4][4],
List_T shapes 
)
static

Definition at line 1454 of file Geo.cpp.

Referenced by DilatShapes(), RotateShapes(), SymmetryShapes(), and TranslateShapes().

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

◆ ApplyTransformationToCurve()

static void ApplyTransformationToCurve ( double  matrix[4][4],
Curve c 
)
static

Definition at line 1416 of file Geo.cpp.

Referenced by ApplicationOnShapes(), ApplyTransformationToSurface(), and ExtrudeCurve().

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

◆ ApplyTransformationToPoint()

static void ApplyTransformationToPoint ( double  matrix[4][4],
Vertex v 
)
static

Definition at line 1403 of file Geo.cpp.

Referenced by ApplicationOnShapes(), ApplyTransformationToCurve(), and ExtrudePoint().

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

◆ ApplyTransformationToPointAlways()

static void ApplyTransformationToPointAlways ( double  matrix[4][4],
Vertex v 
)
static

Definition at line 1389 of file Geo.cpp.

Referenced by ApplyTransformationToPoint(), and ProtudeXYZ().

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

◆ ApplyTransformationToSurface()

static void ApplyTransformationToSurface ( double  matrix[4][4],
Surface s 
)
static

Definition at line 1434 of file Geo.cpp.

Referenced by ApplicationOnShapes(), ApplyTransformationToVolume(), and ExtrudeSurface().

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

◆ ApplyTransformationToVolume()

static void ApplyTransformationToVolume ( double  matrix[4][4],
Volume v 
)
static

Definition at line 1445 of file Geo.cpp.

Referenced by ApplicationOnShapes().

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

◆ Compare2Lists()

static int Compare2Lists ( List_T List1,
List_T List2,
int(*)(const void *a, const void *b)  fcmp 
)
static

Definition at line 649 of file Geo.cpp.

Referenced by CompareTwoSurfaces(), RecognizeLineLoop(), and RecognizeSurfaceLoop().

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

◆ CompareAbsCurve()

static int CompareAbsCurve ( const void *  a,
const void *  b 
)
static

Definition at line 797 of file Geo.cpp.

Referenced by CompareTwoSurfaces(), and DeleteCurve().

Here is the caller graph for this function:

◆ CompareCurve()

int CompareCurve ( const void *  a,
const void *  b 
)

Definition at line 74 of file Geo.cpp.

Referenced by GEO_Internals::_allocateAll(), and ReplaceDuplicateCurves().

Here is the caller graph for this function:

◆ CompareEdgeLoop()

int CompareEdgeLoop ( const void *  a,
const void *  b 
)

Definition at line 67 of file Geo.cpp.

Referenced by GEO_Internals::_allocateAll().

Here is the caller graph for this function:

◆ ComparePhysicalGroup()

int ComparePhysicalGroup ( const void *  a,
const void *  b 
)

Definition at line 95 of file Geo.cpp.

Referenced by DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), and FindPhysicalGroup().

Here is the caller graph for this function:

◆ ComparePosition()

static int ComparePosition ( const void *  a,
const void *  b 
)
static

Definition at line 37 of file Geo.cpp.

Referenced by CompareTwoPoints(), CreateCurve(), and ExtrudePoint().

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

◆ CompareSurface()

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().

Here is the caller graph for this function:

◆ CompareSurfaceLoop()

int CompareSurfaceLoop ( const void *  a,
const void *  b 
)

Definition at line 60 of file Geo.cpp.

Referenced by GEO_Internals::_allocateAll().

Here is the caller graph for this function:

◆ CompareTwoCurves()

static int CompareTwoCurves ( const void *  a,
const void *  b 
)
static

Definition at line 1642 of file Geo.cpp.

Referenced by ReplaceDuplicateCurves().

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

◆ CompareTwoPoints()

static int CompareTwoPoints ( const void *  a,
const void *  b 
)
static

Definition at line 1629 of file Geo.cpp.

Referenced by ReplaceDuplicatePoints().

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

◆ CompareTwoSurfaces()

static int CompareTwoSurfaces ( const void *  a,
const void *  b 
)
static

Definition at line 1699 of file Geo.cpp.

Referenced by ReplaceDuplicateSurfaces().

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

◆ CompareVertex()

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().

Here is the caller graph for this function:

◆ CompareVolume()

int CompareVolume ( const void *  a,
const void *  b 
)

Definition at line 88 of file Geo.cpp.

Referenced by GEO_Internals::_allocateAll().

Here is the caller graph for this function:

◆ CopyCurve()

static void CopyCurve ( Curve c,
Curve cc 
)
static

Definition at line 804 of file Geo.cpp.

Referenced by DuplicateCurve().

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

◆ CopySurface()

static void CopySurface ( Surface s,
Surface ss 
)
static

Definition at line 869 of file Geo.cpp.

Referenced by DuplicateSurface().

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

◆ CopyVertex()

static void CopyVertex ( Vertex v,
Vertex vv 
)
static

Definition at line 769 of file Geo.cpp.

Referenced by DuplicateVertex().

Here is the caller graph for this function:

◆ CopyVolume()

static void CopyVolume ( Volume v,
Volume vv 
)
static

Definition at line 926 of file Geo.cpp.

Referenced by DuplicateVolume().

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

◆ CreateCurve()

Curve* CreateCurve ( int  Num,
int  Typ,
int  Order,
List_T Liste,
List_T Knots,
int  p1,
int  p2,
double  u1,
double  u2,
bool &  ok 
)

◆ CreateEdgeLoop()

EdgeLoop* CreateEdgeLoop ( int  Num,
List_T intlist 
)

Definition at line 168 of file Geo.cpp.

Referenced by GEO_Internals::addCurveLoop(), and GEO_Internals::addCurveLoops().

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

◆ CreatePhysicalGroup()

PhysicalGroup* CreatePhysicalGroup ( int  Num,
int  typ,
List_T intlist 
)

Definition at line 142 of file Geo.cpp.

Referenced by GEO_Internals::modifyPhysicalGroup().

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

◆ CreateReversedCurve()

◆ CreateSurface()

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().

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

◆ CreateSurfaceLoop()

SurfaceLoop* CreateSurfaceLoop ( int  Num,
List_T intlist 
)

Definition at line 193 of file Geo.cpp.

Referenced by GEO_Internals::addSurfaceLoop().

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

◆ CreateVertex() [1/2]

Vertex* CreateVertex ( int  Num,
double  u,
double  v,
gmshSurface surf,
double  lc 
)

Definition at line 118 of file Geo.cpp.

Here is the call graph for this function:

◆ CreateVertex() [2/2]

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().

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

◆ CreateVolume()

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().

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

◆ DeleteCurve()

void DeleteCurve ( int  ip,
bool  recursive 
)

Definition at line 981 of file Geo.cpp.

Referenced by DeleteSurface(), DeleteVolume(), GEO_Internals::remove(), RemoveDegenerateCurves(), and SplitCurve().

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

◆ DeletePhysicalLine()

void DeletePhysicalLine ( int  num)

Definition at line 1114 of file Geo.cpp.

Referenced by GEO_Internals::modifyPhysicalGroup().

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

◆ DeletePhysicalPoint()

void DeletePhysicalPoint ( int  num)

Definition at line 1103 of file Geo.cpp.

Referenced by GEO_Internals::modifyPhysicalGroup().

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

◆ DeletePhysicalSurface()

void DeletePhysicalSurface ( int  num)

Definition at line 1125 of file Geo.cpp.

Referenced by GEO_Internals::modifyPhysicalGroup().

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

◆ DeletePhysicalVolume()

void DeletePhysicalVolume ( int  num)

Definition at line 1136 of file Geo.cpp.

Referenced by GEO_Internals::modifyPhysicalGroup().

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

◆ DeletePoint()

void DeletePoint ( int  ip,
bool  recursive 
)

Definition at line 956 of file Geo.cpp.

Referenced by DeleteCurve(), DeleteSurface(), DeleteVolume(), and GEO_Internals::remove().

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

◆ DeleteSurface()

void DeleteSurface ( int  is,
bool  recursive 
)

Definition at line 1018 of file Geo.cpp.

Referenced by DeleteVolume(), GEO_Internals::remove(), and RemoveDegenerateSurfaces().

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

◆ DeleteVolume()

void DeleteVolume ( int  iv,
bool  recursive 
)

Definition at line 1064 of file Geo.cpp.

Referenced by GEO_Internals::remove(), and RemoveDegenerateVolumes().

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

◆ DilatShapes()

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().

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

◆ direction()

◆ DuplicateCurve() [1/2]

Curve* DuplicateCurve ( Curve c)

Definition at line 830 of file Geo.cpp.

Referenced by GEO_Internals::copy(), DuplicateSurface(), and ExtrudeCurve().

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

◆ DuplicateCurve() [2/2]

Curve* DuplicateCurve ( GEdge ge)

Definition at line 849 of file Geo.cpp.

Here is the call graph for this function:

◆ DuplicateSurface() [1/2]

Surface* DuplicateSurface ( GFace gf,
std::map< int, int > &  source 
)

Definition at line 909 of file Geo.cpp.

Here is the call graph for this function:

◆ DuplicateSurface() [2/2]

Surface* DuplicateSurface ( Surface s)

Definition at line 895 of file Geo.cpp.

Referenced by GEO_Internals::copy(), DuplicateVolume(), and ExtrudeSurface().

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

◆ DuplicateVertex() [1/2]

Vertex* DuplicateVertex ( GVertex gv)

Definition at line 787 of file Geo.cpp.

Here is the call graph for this function:

◆ DuplicateVertex() [2/2]

Vertex* DuplicateVertex ( Vertex v)

Definition at line 778 of file Geo.cpp.

Referenced by GEO_Internals::copy(), DuplicateCurve(), and ExtrudePoint().

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

◆ DuplicateVolume()

Volume* DuplicateVolume ( Volume v)

Definition at line 942 of file Geo.cpp.

Referenced by GEO_Internals::copy().

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

◆ EndCurve()

bool EndCurve ( Curve c)

◆ EndSurface()

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().

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

◆ ExtrudeCurve()

int ExtrudeCurve ( int  type,
int  ic,
double  T0,
double  T1,
double  T2,
double  A0,
double  A1,
double  A2,
double  X0,
double  X1,
double  X2,
double  alpha,
Surface **  ps,
int  final,
ExtrudeParams e 
)

Definition at line 2757 of file Geo.cpp.

Referenced by ExtrudeShapes(), and ExtrudeSurface().

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

◆ ExtrudePoint()

int ExtrudePoint ( int  type,
int  ip,
double  T0,
double  T1,
double  T2,
double  A0,
double  A1,
double  A2,
double  X0,
double  X1,
double  X2,
double  alpha,
Curve **  pc,
Curve **  prc,
int  final,
ExtrudeParams e 
)

Definition at line 2570 of file Geo.cpp.

Referenced by ExtrudeCurve(), and ExtrudeShapes().

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

◆ ExtrudeShapes()

void ExtrudeShapes ( int  type,
List_T list_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 list_out 
)

Definition at line 3221 of file Geo.cpp.

Referenced by GEO_Internals::_extrude().

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

◆ ExtrudeSurface()

int ExtrudeSurface ( int  type,
int  is,
double  T0,
double  T1,
double  T2,
double  A0,
double  A1,
double  A2,
double  X0,
double  X1,
double  X2,
double  alpha,
Volume **  pv,
ExtrudeParams e 
)

Definition at line 2987 of file Geo.cpp.

Referenced by ExtrudeShapes().

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

◆ FindCurve() [1/2]

Curve* FindCurve ( int  inum)

Definition at line 703 of file Geo.cpp.

Here is the call graph for this function:

◆ FindCurve() [2/2]

◆ FindEdgeLoop()

EdgeLoop* FindEdgeLoop ( int  inum)

Definition at line 733 of file Geo.cpp.

Referenced by GEO_Internals::addCurveLoop(), GEO_Internals::addSurfaceFilling(), and SetSurfaceGeneratrices().

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

◆ FindPhysicalGroup()

PhysicalGroup* FindPhysicalGroup ( int  num,
int  type 
)

Definition at line 755 of file Geo.cpp.

Referenced by DeletePhysicalLine(), DeletePhysicalPoint(), DeletePhysicalSurface(), DeletePhysicalVolume(), and GEO_Internals::modifyPhysicalGroup().

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

◆ FindPoint() [1/2]

Vertex* FindPoint ( int  inum)

Definition at line 689 of file Geo.cpp.

Here is the call graph for this function:

◆ FindPoint() [2/2]

◆ FindSurface() [1/2]

Surface* FindSurface ( int  inum)

Definition at line 717 of file Geo.cpp.

Here is the call graph for this function:

◆ FindSurface() [2/2]

◆ FindSurfaceLoop()

SurfaceLoop* FindSurfaceLoop ( int  inum)

Definition at line 744 of file Geo.cpp.

Referenced by GEO_Internals::addSurfaceLoop(), and SetVolumeSurfaces().

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

◆ FindVolume()

Volume* FindVolume ( int  inum)

◆ FreeCurve()

void FreeCurve ( void *  a,
void *  b 
)

Definition at line 567 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll(), and CreateReversedCurve().

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

◆ FreeEdgeLoop()

void FreeEdgeLoop ( void *  a,
void *  b 
)

Definition at line 183 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll().

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

◆ FreePhysicalGroup()

void FreePhysicalGroup ( void *  a,
void *  b 
)

Definition at line 158 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll(), and GEO_Internals::resetPhysicalGroups().

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

◆ FreeSurface()

void FreeSurface ( void *  a,
void *  b 
)

Definition at line 604 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll().

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

◆ FreeSurfaceLoop()

void FreeSurfaceLoop ( void *  a,
void *  b 
)

Definition at line 208 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll().

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

◆ FreeVertex()

void FreeVertex ( void *  a,
void *  b 
)

Definition at line 133 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll().

Here is the caller graph for this function:

◆ FreeVolume()

void FreeVolume ( void *  a,
void *  b 
)

Definition at line 635 of file Geo.cpp.

Referenced by GEO_Internals::_freeAll().

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

◆ GramSchmidt()

static void GramSchmidt ( double  v1[3],
double  v2[3],
double  v3[3] 
)
static

Definition at line 1303 of file Geo.cpp.

Referenced by SetRotationMatrix().

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

◆ intersectCS()

static bool intersectCS ( fullVector< double > &  uvt,
fullVector< double > &  res,
void *  data 
)
static

Definition at line 3548 of file Geo.cpp.

Referenced by IntersectCurvesWithSurface().

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

◆ IntersectCurvesWithSurface()

bool IntersectCurvesWithSurface ( List_T curve_ids,
int  surface_id,
List_T shapes 
)

Definition at line 3560 of file Geo.cpp.

Referenced by GEO_Internals::intersectCurvesWithSurface().

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

◆ MaxNumCurve()

static void MaxNumCurve ( void *  a,
void *  b 
)
static

Definition at line 1738 of file Geo.cpp.

Referenced by ReplaceDuplicateCurves().

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

◆ MaxNumPoint()

static void MaxNumPoint ( void *  a,
void *  b 
)
static

Definition at line 1731 of file Geo.cpp.

Referenced by ReplaceDuplicatePoints().

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

◆ MaxNumSurface()

static void MaxNumSurface ( void *  a,
void *  b 
)
static

Definition at line 1745 of file Geo.cpp.

Referenced by ReplaceDuplicateSurfaces().

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

◆ NEWCURVE()

int NEWCURVE ( )

Definition at line 3784 of file Geo.cpp.

Referenced by _create_splitted_curve(), DuplicateCurve(), and ExtrudePoint().

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

◆ NEWCURVELOOP()

int NEWCURVELOOP ( )

Definition at line 3796 of file Geo.cpp.

Here is the call graph for this function:

◆ NEWFIELD()

int NEWFIELD ( )

Definition at line 3866 of file Geo.cpp.

Here is the call graph for this function:

◆ NEWPHYSICAL()

int NEWPHYSICAL ( )

Definition at line 3875 of file Geo.cpp.

Here is the call graph for this function:

◆ NEWPOINT()

int NEWPOINT ( )

Definition at line 3776 of file Geo.cpp.

Referenced by DuplicateVertex(), and IntersectCurvesWithSurface().

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

◆ NEWREG()

int NEWREG ( )

Definition at line 3846 of file Geo.cpp.

Referenced by NEWCURVE(), NEWCURVELOOP(), NEWPHYSICAL(), NEWSURFACE(), NEWSURFACELOOP(), and NEWVOLUME().

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

◆ NEWSURFACE()

int NEWSURFACE ( )

Definition at line 3809 of file Geo.cpp.

Referenced by DuplicateSurface(), ExtrudeCurve(), and ExtrudeSurface().

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

◆ NEWSURFACELOOP()

int NEWSURFACELOOP ( )

Definition at line 3821 of file Geo.cpp.

Here is the call graph for this function:

◆ NEWVOLUME()

int NEWVOLUME ( )

Definition at line 3834 of file Geo.cpp.

Referenced by DuplicateVolume(), and ExtrudeSurface().

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

◆ ProjectPointOnSurface()

bool ProjectPointOnSurface ( Surface s,
Vertex p,
double  uv[2] 
)

Definition at line 3340 of file Geo.cpp.

Referenced by gmshFace::closestPoint().

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

◆ projectPS()

static bool projectPS ( fullVector< double > &  x,
fullVector< double > &  res,
void *  data 
)
static

Definition at line 3324 of file Geo.cpp.

Referenced by ProjectPointOnSurface().

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

◆ ProtudeXYZ()

void ProtudeXYZ ( double &  x,
double &  y,
double &  z,
ExtrudeParams e 
)

Definition at line 2542 of file Geo.cpp.

Referenced by ExtrudeParams::Extrude().

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

◆ RecognizeLineLoop()

int RecognizeLineLoop ( List_T liste,
int *  loop 
)

Definition at line 1214 of file Geo.cpp.

Referenced by scriptAddCurveLoop().

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

◆ RecognizeSurfaceLoop()

int RecognizeSurfaceLoop ( List_T liste,
int *  loop 
)

Definition at line 1232 of file Geo.cpp.

Referenced by scriptAddSurfaceLoop().

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

◆ RemoveDegenerateCurves()

static void RemoveDegenerateCurves ( )
static

Definition at line 2216 of file Geo.cpp.

Referenced by ReplaceAllDuplicates().

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

◆ RemoveDegenerateSurfaces()

static void RemoveDegenerateSurfaces ( )
static

Definition at line 2297 of file Geo.cpp.

Referenced by ReplaceAllDuplicates().

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

◆ RemoveDegenerateVolumes()

static void RemoveDegenerateVolumes ( )
static

Definition at line 2255 of file Geo.cpp.

Referenced by ReplaceAllDuplicates().

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

◆ ReplaceAllDuplicates() [1/2]

void ReplaceAllDuplicates ( )

Definition at line 2527 of file Geo.cpp.

Here is the call graph for this function:

◆ ReplaceAllDuplicates() [2/2]

static void ReplaceAllDuplicates ( std::vector< std::map< int, int > > &  report)
static

Definition at line 2507 of file Geo.cpp.

Referenced by DilatShapes(), ExtrudeCurve(), ExtrudePoint(), ExtrudeSurface(), GEO_Internals::mergeVertices(), GEO_Internals::removeAllDuplicates(), ReplaceAllDuplicates(), RotateShapes(), SymmetryShapes(), and TranslateShapes().

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

◆ ReplaceAllDuplicatesNew()

void ReplaceAllDuplicatesNew ( double  tol)

Definition at line 2534 of file Geo.cpp.

Here is the call graph for this function:

◆ ReplaceDuplicateCurves()

static void ReplaceDuplicateCurves ( std::map< int, int > *  c_report = nullptr)
static

Definition at line 2036 of file Geo.cpp.

Referenced by ReplaceAllDuplicates(), and ReplaceAllDuplicatesNew().

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

◆ ReplaceDuplicatePoints()

static void ReplaceDuplicatePoints ( std::map< int, int > *  v_report = nullptr)
static

Definition at line 1859 of file Geo.cpp.

Referenced by ReplaceAllDuplicates().

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

◆ ReplaceDuplicatePointsNew()

static void ReplaceDuplicatePointsNew ( double  tol = -1.)
static

Definition at line 1752 of file Geo.cpp.

Referenced by ReplaceAllDuplicatesNew(), and ReplaceDuplicatePoints().

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

◆ ReplaceDuplicateSurfaces()

static void ReplaceDuplicateSurfaces ( std::map< int, int > *  s_report = nullptr)
static

Definition at line 2370 of file Geo.cpp.

Referenced by ReplaceAllDuplicates(), and ReplaceAllDuplicatesNew().

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

◆ RotateShapes()

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().

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

◆ SetDilatationMatrix()

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().

Here is the caller graph for this function:

◆ SetRotationMatrix()

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().

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

◆ SetSurfaceGeneratrices()

bool SetSurfaceGeneratrices ( Surface s,
List_T loops 
)

Definition at line 3674 of file Geo.cpp.

Referenced by GEO_Internals::addPlaneSurface(), and GEO_Internals::addSurfaceFilling().

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

◆ SetSymmetryMatrix()

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().

Here is the caller graph for this function:

◆ SetTranslationMatrix()

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().

Here is the caller graph for this function:

◆ SetVolumeSurfaces()

bool SetVolumeSurfaces ( Volume v,
List_T loops 
)

Definition at line 3734 of file Geo.cpp.

Referenced by GEO_Internals::addVolume().

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

◆ SortEdgesInLoop()

bool SortEdgesInLoop ( int  num,
List_T edges,
bool  reorient 
)

Definition at line 3597 of file Geo.cpp.

Referenced by GEO_Internals::addCurveLoop().

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

◆ SplitCurve()

bool SplitCurve ( int  line_id,
List_T vertices_id,
List_T curves 
)

Definition at line 3433 of file Geo.cpp.

Referenced by GEO_Internals::splitCurve().

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

◆ SymmetryShapes()

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().

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

◆ TranslateShapes()

bool TranslateShapes ( double  X,
double  Y,
double  Z,
List_T shapes 
)

Definition at line 1549 of file Geo.cpp.

Referenced by GEO_Internals::_transform().

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

◆ vecmat4x4()

static void vecmat4x4 ( double  mat[4][4],
double  vec[4],
double  res[4] 
)
static

Definition at line 1381 of file Geo.cpp.

Referenced by ApplyTransformationToPointAlways().

Here is the caller graph for this function:

Variable Documentation

◆ ListOfTransformedPoints

List_T* ListOfTransformedPoints = nullptr
static