gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
GeoInterpolation.cpp File Reference
#include "GmshMessage.h"
#include "Geo.h"
#include "GeoInterpolation.h"
#include "Numeric.h"
#include "Context.h"
Include dependency graph for GeoInterpolation.cpp:

Go to the source code of this file.

Functions

static void InterpolateCatmullRom (Vertex *v[4], double t, Vertex &V)
 
static Vertex InterpolateCubicSpline (Vertex *v[4], double t, double mat[4][4], int derivee, double t1, double t2)
 
SPoint2 InterpolateCubicSpline (Vertex *v[4], double t, double mat[4][4], double t1, double t2, gmshSurface *s, int derivee)
 
static Vertex InterpolateBezier (Curve *Curve, double u, int derivee)
 
static Vertex InterpolateUBS (Curve *Curve, double u, int derivee)
 
int findSpan (double u, int deg, int n, float *U)
 
static void basisFuns (double u, int i, int deg, float *U, double *N)
 
static Vertex InterpolateNurbs (Curve *Curve, double u, int derivee)
 
Vertex InterpolateCurve (Curve *c, double u, int const derivee)
 
template<class T >
TRAN_QUA (T const c1, T const c2, T const c3, T const c4, T const s1, T const s2, T const s3, T const s4, T const u, T const v)
 
static Vertex TransfiniteQua (Vertex c1, Vertex c2, Vertex c3, Vertex c4, Vertex s1, Vertex s2, Vertex s3, Vertex s4, double u, double v)
 
template<class T >
TRAN_TRI (T const c1, T const c2, T const c3, T const s1, T const s2, T const s3, T const u, T const v)
 
static Vertex TransfiniteTri (Vertex c1, Vertex c2, Vertex c3, const Vertex &s1, Vertex s2, Vertex s3, double u, double v)
 
template<class T >
TRAN_TRIB (T const c1, T const c1b, T const c2, T const c2b, T const c3, T const c3b, T const s1, T const s2, T const s3, T const u, T const v)
 
static Vertex TransfiniteTriB (Vertex c1, Vertex c1b, Vertex c2, Vertex c2b, Vertex c3, Vertex c3b, Vertex s1, Vertex s2, Vertex s3, double u, double v)
 
static void TransfiniteSph (Vertex S, Vertex center, Vertex *T)
 
static Vertex InterpolateRuledSurface (Surface *s, double u, double v)
 
static Vertex InterpolateExtrudedSurface (Surface *s, double u, double v)
 
Vertex InterpolateSurface (Surface *s, double u, double v, int derivee, int u_v)
 

Variables

static double const fd_eps = 1.0e-8
 

Function Documentation

◆ basisFuns()

static void basisFuns ( double  u,
int  i,
int  deg,
float *  U,
double *  N 
)
static

Definition at line 400 of file GeoInterpolation.cpp.

Referenced by InterpolateNurbs().

Here is the caller graph for this function:

◆ findSpan()

int findSpan ( double  u,
int  deg,
int  n,
float *  U 
)

Definition at line 381 of file GeoInterpolation.cpp.

Referenced by InterpolateNurbs().

Here is the caller graph for this function:

◆ InterpolateBezier()

static Vertex InterpolateBezier ( Curve Curve,
double  u,
int  derivee 
)
static

Definition at line 143 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve().

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

◆ InterpolateCatmullRom()

static void InterpolateCatmullRom ( Vertex v[4],
double  t,
Vertex V 
)
static

Definition at line 14 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve().

Here is the caller graph for this function:

◆ InterpolateCubicSpline() [1/2]

SPoint2 InterpolateCubicSpline ( Vertex v[4],
double  t,
double  mat[4][4],
double  t1,
double  t2,
gmshSurface s,
int  derivee 
)

Definition at line 106 of file GeoInterpolation.cpp.

◆ InterpolateCubicSpline() [2/2]

static Vertex InterpolateCubicSpline ( Vertex v[4],
double  t,
double  mat[4][4],
int  derivee,
double  t1,
double  t2 
)
static

Definition at line 30 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve(), InterpolateUBS(), and gmshEdge::reparamOnFace().

Here is the caller graph for this function:

◆ InterpolateCurve()

Vertex InterpolateCurve ( Curve c,
double  u,
int const  derivee 
)

◆ InterpolateExtrudedSurface()

static Vertex InterpolateExtrudedSurface ( Surface s,
double  u,
double  v 
)
static

Definition at line 918 of file GeoInterpolation.cpp.

Referenced by InterpolateSurface().

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

◆ InterpolateNurbs()

static Vertex InterpolateNurbs ( Curve Curve,
double  u,
int  derivee 
)
static

Definition at line 421 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve().

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

◆ InterpolateRuledSurface()

static Vertex InterpolateRuledSurface ( Surface s,
double  u,
double  v 
)
static

Definition at line 806 of file GeoInterpolation.cpp.

Referenced by InterpolateSurface().

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

◆ InterpolateSurface()

Vertex InterpolateSurface ( Surface s,
double  u,
double  v,
int  derivee,
int  u_v 
)

Definition at line 958 of file GeoInterpolation.cpp.

Referenced by gmshFace::firstDer(), InterpolateSurface(), intersectCS(), gmshFace::normal(), gmshFace::point(), ProjectPointOnSurface(), projectPS(), and gmshFace::secondDer().

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

◆ InterpolateUBS()

static Vertex InterpolateUBS ( Curve Curve,
double  u,
int  derivee 
)
static

Definition at line 220 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve().

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

◆ TRAN_QUA()

template<class T >
T TRAN_QUA ( T const  c1,
T const  c2,
T const  c3,
T const  c4,
T const  s1,
T const  s2,
T const  s3,
T const  s4,
T const  u,
T const  v 
)

Definition at line 677 of file GeoInterpolation.cpp.

Referenced by TransfiniteQua().

Here is the caller graph for this function:

◆ TRAN_TRI()

template<class T >
T TRAN_TRI ( T const  c1,
T const  c2,
T const  c3,
T const  s1,
T const  s2,
T const  s3,
T const  u,
T const  v 
)

Definition at line 726 of file GeoInterpolation.cpp.

Referenced by TransfiniteTri().

Here is the caller graph for this function:

◆ TRAN_TRIB()

template<class T >
T TRAN_TRIB ( T const  c1,
T const  c1b,
T const  c2,
T const  c2b,
T const  c3,
T const  c3b,
T const  s1,
T const  s2,
T const  s3,
T const  u,
T const  v 
)

Definition at line 762 of file GeoInterpolation.cpp.

Referenced by TransfiniteTriB().

Here is the caller graph for this function:

◆ TransfiniteQua()

static Vertex TransfiniteQua ( Vertex  c1,
Vertex  c2,
Vertex  c3,
Vertex  c4,
Vertex  s1,
Vertex  s2,
Vertex  s3,
Vertex  s4,
double  u,
double  v 
)
static

Definition at line 685 of file GeoInterpolation.cpp.

Referenced by InterpolateRuledSurface().

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

◆ TransfiniteSph()

static void TransfiniteSph ( Vertex  S,
Vertex  center,
Vertex T 
)
static

Definition at line 788 of file GeoInterpolation.cpp.

Referenced by InterpolateRuledSurface().

Here is the caller graph for this function:

◆ TransfiniteTri()

static Vertex TransfiniteTri ( Vertex  c1,
Vertex  c2,
Vertex  c3,
const Vertex s1,
Vertex  s2,
Vertex  s3,
double  u,
double  v 
)
static

Definition at line 732 of file GeoInterpolation.cpp.

Referenced by InterpolateRuledSurface().

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

◆ TransfiniteTriB()

static Vertex TransfiniteTriB ( Vertex  c1,
Vertex  c1b,
Vertex  c2,
Vertex  c2b,
Vertex  c3,
Vertex  c3b,
Vertex  s1,
Vertex  s2,
Vertex  s3,
double  u,
double  v 
)
static

Definition at line 770 of file GeoInterpolation.cpp.

Referenced by InterpolateRuledSurface().

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

Variable Documentation

◆ fd_eps

double const fd_eps = 1.0e-8
static

Definition at line 12 of file GeoInterpolation.cpp.

Referenced by InterpolateCurve(), and InterpolateSurface().