PPL Logo

libs/ck-libs/datatransfer/geom_util.h File Reference

Go to the source code of this file.

Data Structures

class  Ray3D
class  Plane3D

Typedefs

typedef MAP::Vector_3< double > Vec3D
typedef MAP::Vector_2< double > tPointd
typedef std::vector< tPointdtPolygond

Enumerations

enum  tInFlag { Pin, Qin, Unknown }

Functions

template<typename T>
void erase_consecutive_dups (vector< T > &v)
bool point_in_convpoly3D (Vec3D &p, vector< Plane3D > &P)
bool point_in_convpoly2D (tPointd &p, tPolygond &P)
bool poly_in_convpoly2D (tPolygond &P1, tPolygond &P2)
void radial_sort2D (tPolygond &P)
double tri_prism_X (double tri[][3], double prism[][3], vector< Vec3D > &xpoly)
int convex_poly_X (tPolygond &P, tPolygond &Q, tPolygond &I)
int area_sign (tPointd &a, tPointd &b, tPointd &c)
char seg_seg_int (tPointd &a, tPointd &b, tPointd &c, tPointd &d, tPointd &p, tPointd &q)
char parallel_int (tPointd &a, tPointd &b, tPointd &c, tPointd &d, tPointd &p, tPointd &q)
bool between (tPointd &a, tPointd &b, tPointd &c)
bool left_on (tPointd &a, tPointd &b, tPointd &c)
bool left (tPointd &a, tPointd &b, tPointd &c)
tInFlag in_out (tPointd &p, tInFlag inflag, int aHB, int bHA, tPolygond &I)
int advance (int a, int *aa, int n, bool inside, tPointd &v, tPolygond &I)
void shared_seg (tPointd &p, tPointd &q, tPolygond &I)


Typedef Documentation

typedef MAP::Vector_3<double> Vec3D

Definition at line 16 of file geom_util.h.

typedef MAP::Vector_2<double> tPointd

Definition at line 17 of file geom_util.h.

typedef std::vector<tPointd> tPolygond

Definition at line 20 of file geom_util.h.


Enumeration Type Documentation

enum tInFlag

Enumerator:
Pin 
Qin 
Unknown 

Definition at line 21 of file geom_util.h.


Function Documentation

template<typename T>
void erase_consecutive_dups ( vector< T > &  v  )  [inline]

Definition at line 175 of file geom_util.h.

References PUP::d.

Referenced by tri_prism_X().

Here is the caller graph for this function:

bool point_in_convpoly3D ( Vec3D p,
vector< Plane3D > &  P 
)

bool point_in_convpoly2D ( tPointd p,
tPolygond P 
)

Definition at line 70 of file geom_util.C.

Referenced by main(), and poly_in_convpoly2D().

Here is the caller graph for this function:

bool poly_in_convpoly2D ( tPolygond P1,
tPolygond P2 
)

Definition at line 94 of file geom_util.C.

References point_in_convpoly2D().

Referenced by main(), and tri_prism_X().

Here is the call graph for this function:

Here is the caller graph for this function:

void radial_sort2D ( tPolygond P  ) 

Definition at line 22 of file geom_util.C.

References flag, PUP::l, left(), and p.

Referenced by tri_prism_X().

Here is the call graph for this function:

Here is the caller graph for this function:

double tri_prism_X ( double  tri[][3],
double  prism[][3],
vector< Vec3D > &  xpoly 
)

int convex_poly_X ( tPolygond P,
tPolygond Q,
tPolygond I 
)

Definition at line 285 of file geom_util.C.

References PUP::a, advance(), area_sign(), PUP::b, in_out(), PUP::m, n, p, Pin, Qin, seg_seg_int(), shared_seg(), and Unknown.

Referenced by tri_prism_X().

Here is the call graph for this function:

Here is the caller graph for this function:

int area_sign ( tPointd a,
tPointd b,
tPointd c 
)

Definition at line 476 of file geom_util.C.

Referenced by collinear(), convex_poly_X(), left(), and left_on().

Here is the caller graph for this function:

char seg_seg_int ( tPointd a,
tPointd b,
tPointd c,
tPointd d,
tPointd p,
tPointd q 
)

Definition at line 501 of file geom_util.C.

References parallel_int(), PUP::s, and PUP::t.

Referenced by convex_poly_X().

Here is the call graph for this function:

Here is the caller graph for this function:

char parallel_int ( tPointd a,
tPointd b,
tPointd c,
tPointd d,
tPointd p,
tPointd q 
)

Definition at line 542 of file geom_util.C.

References between(), and collinear().

Referenced by seg_seg_int().

Here is the call graph for this function:

Here is the caller graph for this function:

bool between ( tPointd a,
tPointd b,
tPointd c 
)

Definition at line 585 of file geom_util.C.

Referenced by FEM_Modify_IDXL(), and parallel_int().

Here is the caller graph for this function:

bool left_on ( tPointd a,
tPointd b,
tPointd c 
)

Definition at line 466 of file geom_util.C.

References area_sign().

Here is the call graph for this function:

bool left ( tPointd a,
tPointd b,
tPointd c 
)

Definition at line 461 of file geom_util.C.

References area_sign().

Here is the call graph for this function:

tInFlag in_out ( tPointd p,
tInFlag  inflag,
int  aHB,
int  bHA,
tPolygond I 
)

Definition at line 399 of file geom_util.C.

References Pin, and Qin.

Referenced by convex_poly_X().

Here is the caller graph for this function:

int advance ( int  a,
int aa,
int  n,
bool  inside,
tPointd v,
tPolygond I 
)

void shared_seg ( tPointd p,
tPointd q,
tPolygond I 
)

Definition at line 598 of file geom_util.C.

Referenced by convex_poly_X().

Here is the caller graph for this function:


Generated on Mon Sep 21 08:06:58 2020 for Charm++ by  doxygen 1.5.5