ut_tria.c File Reference


Detailed Description

Triangles (using struct Point).

=====================================================
Liste_Funktionen_Beginn:

UT2D_orient_3pt            orientation of triangle (CW or CCW)
UT2D_ck_pt_in_tria         check if point is inside Triangle
UT2D_2pt_tngLnCiY          Beruehrung Kreis (pc auf horiz. Gerade) - LineSeg
UT2D_pt_gcp_3pt            gravity-centerPoint of triangle
UTRI_radi_3pt              inkreisradius
UTRI_rado_3pt              radius circumCircle        umkreisradius
UTRI_ptCC_3pt              center of circumCircle     UmkreisMittelpunkt
UTRI_ar_3pt                area of triangle         see UT2D_ar_3pt

UT3D_ck_triaOrientV        get orientation from indices   INLINE
UT3D_indTria2ccw           3EckIndices CCW orientieren
UT3D_ind3Tria_2ind         give index of 3.point of triangle (0/1/2)  INLINE

UT3D_vc_perpTria           vector = perpendic. to Triangle (crossprod)

UT3D_lenq_PtTria           minimum (quadr) distance Point-Triangle
UT3D_lenq_PlnTria          minimum (quadr) distance Plane-Triangle
UT3D_ck_pt_in_tria         check if point is inside Triangle
UT3D_ck_pt_prj_tria        check if projection of point is inside Triangle
UT3D_pt_gcp_3pt            gravity-centerPoint of triangle
UT3D_pt_gcp_tria           gravity-centerPoint of triangle
UT3D_tria_inv              Umlaufsinn umdrehen

UT3D_tria_pta_fac          create triangle from Fac3
UT3D_tria_pta              create triangle from 3 points

UT3D_pt_projPtTria         project point onto triangle
UTRI_pt_prjZpt3pt          project point to face along Z-vec
UT3D_pt_intTriaLnu         Point from intersect Triangle - LineUnlimited
UTRI_ln_int_LnFac          intersect Line - Face
UT3D_ln_intTriaPln         Line = intersect Triangle - Plane
UT3D_ln_intTriaTria        Line = intersect Triangle - Triangle
UT3D_2ln_tngTriPlSph       Kugel in Ebene an 3Eck abrollen

UT3D_pl1_tria              make Plane from Triangle

Liste_Funktionen_Ende:
=====================================================

- see also:
statt UT3D_vc_perptria     use UT3D_vc_perp3pt      Normalvektor auf 3Eck
GR_Disp_triv GR_Disp_tria
TSU_tsu2tria__ TSU_tsu2tria_rec TSU_tsu2tria_add
../ut/ut_tin.c   UFA   Funktionen fuer Faces (Fac3)
../ut/ut_msh.c   MSH   Funktionen fuer Meshes

- test functions:
UT3D_tria_tst_load         load testTriangles

#include "../xa/MS_Def0.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../ut/ut_geo.h"
#include "../xa/xa_mem.h"
#include "../gr/ut_UI.h"

Functions

int UT2D_orient_3pt (Point2 *p1, Point2 *p2, Point2 *p3)
int UT3D_pt_projPtTria (Point *pto, Point *pti, Triangle *trii)
int UTRI_pt_prjZpt3pt (Point *pto, Point *pti, Point *p1, Point *p2, Point *p3)
int UT3D_lenq_PtTria (double *lenq, Point *p, Point *p1, Point *p2, Point *p3)
int UT3D_lenq_PlnTria (double *lenq, Point *plnO, Vector *plnZ, Point *p1, Point *p2, Point *p3)
int UT3D_indTria2ccw (int *i1, int *i2)
int UT3D_tria_inv (Triangle *tr)
int UT3D_tria_pta (Triangle *tr, Point *pa)
int UT3D_pt_gcp_tria (Point *ps, Triangle *tri)
int UT2D_pt_gcp_3pt (Point2 *ps, Point2 *p1, Point2 *p2, Point2 *p3)
int UTRI_radi_3pt (double *rdi, Point2 *p1, Point2 *p2, Point2 *p3)
int UTRI_rado_3pt (double *rdo, Point2 *p1, Point2 *p2, Point2 *p3)
int UTRI_ptCC_3pt (Point2 *pum, Point2 *p1, Point2 *p2, Point2 *p3)
int UT3D_pt_gcp_3pt (Point *ps, Point *p1, Point *p2, Point *p3)
int UT3D_pt_intTriaLnu (Point *ptx, Triangle *tri, Point *ptl, Vector *vcl)
int UTRI_ln_int_LnFac (Point *ip, Point *pf1, Point *pf2, Point *pf3, Point *pl1, Point *pl2)
int UT3D_ln_intTriaPln (Line *lni, Triangle *tria, Plane *pln)
int UT3D_ln_intTriaTria (Line *lni, Triangle *tri1, Triangle *tri2)
int UT3D_pl1_tria (Plane *plt1, Triangle *tri1)
int UT2D_2pt_tngLnCiY (Point2 *ps, Point2 *py, Point2 *ls, Point2 *le, double yy, double rc)
int UT3D_2ln_tngTriPlSph (Line *lnt, Line *lnp, double *aDiff, Triangle *tria, Plane *pls, double rs)
int UT2D_ck_pt_in_tria (Point2 *p1, Point2 *p2, Point2 *p3, Point2 *px)
int UT3D_ck_pt_in_tria (Point *p1, Point *p2, Point *p3, Point *px)
int UT3D_ck_pt_prj_tria (Point *p1, Point *p2, Point *p3, Point *px)


Function Documentation

int UT2D_orient_3pt ( Point2 p1,
Point2 p2,
Point2 p3 
)

int UT3D_pt_projPtTria ( Point pto,
Point pti,
Triangle trii 
)

int UTRI_pt_prjZpt3pt ( Point pto,
Point pti,
Point p1,
Point p2,
Point p3 
)

int UT3D_lenq_PtTria ( double *  lenq,
Point p,
Point p1,
Point p2,
Point p3 
)

int UT3D_lenq_PlnTria ( double *  lenq,
Point plnO,
Vector plnZ,
Point p1,
Point p2,
Point p3 
)

int UT3D_indTria2ccw ( int *  i1,
int *  i2 
)

int UT3D_tria_inv ( Triangle tr  ) 

int UT3D_tria_pta ( Triangle tr,
Point pa 
)

int UT3D_pt_gcp_tria ( Point ps,
Triangle tri 
)

int UT2D_pt_gcp_3pt ( Point2 ps,
Point2 p1,
Point2 p2,
Point2 p3 
)

int UTRI_radi_3pt ( double *  rdi,
Point2 p1,
Point2 p2,
Point2 p3 
)

int UTRI_rado_3pt ( double *  rdo,
Point2 p1,
Point2 p2,
Point2 p3 
)

int UTRI_ptCC_3pt ( Point2 pum,
Point2 p1,
Point2 p2,
Point2 p3 
)

int UT3D_pt_gcp_3pt ( Point ps,
Point p1,
Point p2,
Point p3 
)

int UT3D_pt_intTriaLnu ( Point ptx,
Triangle tri,
Point ptl,
Vector vcl 
)

int UTRI_ln_int_LnFac ( Point ip,
Point pf1,
Point pf2,
Point pf3,
Point pl1,
Point pl2 
)

int UT3D_ln_intTriaPln ( Line lni,
Triangle tria,
Plane pln 
)

int UT3D_ln_intTriaTria ( Line lni,
Triangle tri1,
Triangle tri2 
)

int UT3D_pl1_tria ( Plane plt1,
Triangle tri1 
)

int UT2D_2pt_tngLnCiY ( Point2 ps,
Point2 py,
Point2 ls,
Point2 le,
double  yy,
double  rc 
)

int UT3D_2ln_tngTriPlSph ( Line lnt,
Line lnp,
double *  aDiff,
Triangle tria,
Plane pls,
double  rs 
)

int UT2D_ck_pt_in_tria ( Point2 p1,
Point2 p2,
Point2 p3,
Point2 px 
)

int UT3D_ck_pt_in_tria ( Point p1,
Point p2,
Point p3,
Point px 
)

int UT3D_ck_pt_prj_tria ( Point p1,
Point p2,
Point p3,
Point px 
)


Generated on Sat May 30 09:31:56 2009 for gCAD3D by  doxygen 1.5.6