===================================================== Liste_Funktionen_Beginn: MSH_bsav_pTab write pointTable binary > tmp/M#A#.ptab MSH_bsav_pTabf write pointTable binary > tmp/M#A#.ptab MSH_bsav_fTab write faceTable binary > tmp/M#A#.msh MSH_bsav_fTabf write faceTable binary > tmp/M#A#.msh MSH_bload_pTab load pointTable from binary file tmp/M#A#.ptab MSH_bload_pTabf load pointTable from binary file tmp/M#A#.ptab MSH_bdel_pTab MSH_bload_fTab load faceTable from binary file tmp/M#A#.msh MSH_bload_fTabf load faceTable from binary file tmp/M#A#.msh MSH_bdel_fTab delete binary faceTableFile MSH_asav_pTabf save pointTable ascii into open file MSH_asav_fTabf save faceTable ascii into open file MSH_aload_pTab load pointTable ascii from open file MSH_aload_fTab load faceTable ascii from open file MSH_msh1 create Mesh from Points & boundary MSH_ibnd_pt2n find boundary of 2D-pTab MSH_itess_pt2n tesselate a 2D-boundary MSH_ibnd_ptn find boundary of 3D-pTab MSH_Ftab_add add Face to a FaceTable MSH_ptn2_ptn3 transport all 3D-points > 2D MSH_if_findSegP find face with LineSegment ip1-ps2 inside. MSH_if_find_ptmsh find faceNr of point pt1 (2D-test point inside face) MSH_FA_mod_delPt change all face-pointers >= ip to ip-1 MSH_fTab_BL__ Create Edgeline from Breakline ie1-ie2. MSH_IB_def_if delete faces inside InnerBoundaries MSH_eTab_fix recover EdgeLine-pointers ia MSH_EL_get_tab get EdgeLineData from EdgeLineTyp. MSH_EL_ck_ln check if line ip1-ip2 is a Breakline MSH_EL_del_pt delete point from EdgeLines MSH_npt_prjcvmsh_ project curve > Mesh MSH_msh_pt add point to mesh; create 2 or 3 new faces. MSH_ck_pt3 ERSETZEN test for "point already exists"; 2D-test w tol MSH_dump_fTab dump Faces MSH_dump_eTab dump EdgeLines MSH_test_disp1-5 Liste_Funktionen_Ende: ===================================================== - see also: ../ut/ut_tin.c UFA Funktionen fuer Faces (Fac3) ../ut/ut_tria.c Triangle-functions (using struct Point)
#include "../xa/MS_Def0.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "../xa/ut_ui_TX.h"
#include "../xa/xa_mem.h"
#include "../ut/ut_geo.h"
#include "../ut/ut_txt.h"
#include "../ut/ut_umem.h"
#include "../ut/ut_memTab.h"
#include "../gr/ut_UI.h"
Functions | |
typedef_MemTab (int) | |
typedef_MemTab (Point) | |
typedef_MemTab (Fac3) | |
typedef_MemTab (EdgeLine) | |
int | MSH_FA_mod_delPt (MemTab(Fac3)*fTab, int ip) |
int | MSH_aload_pTab (char *lBuf, int bufSiz, FILE *fpi) |
int | MSH_aload_fTab (char *lBuf, int bufSiz, FILE *fpi) |
int | MSH_asav_pTabf (Point *pTab, int pNr, char *fNam, FILE *fpo) |
int | MSH_asav_fTabf (MemTab(Fac3)*fTab, MemTab(EdgeLine)*eTab, MemTab(int)*eDat, char *fNam, FILE *fpo) |
int | MSH_bsav_pTab (MemTab *pTab, int mdlNr, int surNr) |
int | MSH_bsav_pTabf (MemTab *pTab, char *fNam) |
int | MSH_bsav_fTab (MemTab *fTab, MemTab *eTab, MemTab *eDat, int mdlNr, int surNr) |
int | MSH_bsav_fTabf (MemTab *fTab, MemTab *eTab, MemTab *eDat, char *fNam) |
int | MSH_bload_fTab (MemTab(Fac3)*fTab, MemTab(EdgeLine)*eTab, MemTab(int)*eDat, int mdlNr, int surNr) |
int | MSH_bload_fTabf (MemTab *fTab, MemTab *eTab, MemTab *eDat, char *fNam) |
int | MSH_bload_pTab (MemTab(Point)*pTab, int mdlNr, int surNr) |
int | MSH_bload_pTabf (MemTab *pTab, char *fNam) |
int | MSH_itess_pt2n (Fac3 *fa, int *fNr, int *iba, int ibNr, Point2 *p2a, int p2Nr, int *ipa) |
int | MSH_Ftab_add (Fac3 *fa, int *fNr, int fSiz, int ip1, int ip2, int ip3) |
int | MSH_ibnd_ptn (int *iba, int *ibNr, Point *pa, int pNr) |
int | MSH_ibnd_pt2n (int *iba, int *ibNr, Point2 *p2a, int p2Nr) |
int | MSH_ptn2_ptn3 (Point2 *p2a, int *p2Nr, Point *pa, int pNr) |
int | MSH_bdel_pTab (int mdlNr, int surNr) |
int | MSH_test_disp_p1 (Point *pTab, int pNr) |
int | MSH_test_disp1 (int *iba, int iNr, Point *pa, int *ipa) |
int | MSH_test_disp2 (int *ib, int iNr, Point *pa, int att, int mode) |
int | MSH_test_disp3 (int *iba, int iNr, Point2 *pa) |
int | MSH_test_disp4 (Fac3 *fa, int fNr, Point2 *pa) |
int | MSH_test_disp5 (Fac3 *fa, int fNr, Point *pa) |
int | MSH_bdel_fTab (int mdlNr, int surNr) |
int | MSH_pt_prjptmsh_ (Point *pto, Point *pti, int surMsh, int surPtab) |
int | MSH_pt_prjptmsh1 (Point *pto, Point *pti, Fac3 *fa, int fNr, Point *pa, int pNr) |
int | MSH_eTab_fix (MemTab(EdgeLine)*eTab, MemTab(int)*eDat) |
int | MSH_EL_get_tab (int **iTab, int *iNr, MemTab(EdgeLine)*eTab, int typ) |
int | MSH_dump_eTab (MemTab(EdgeLine)*eTab, MemTab(int)*eDat) |
Variables | |
int | WC_modnr |
the Nr of the active submodel; -1 = main. |
typedef_MemTab | ( | int | ) |
typedef_MemTab | ( | Point | ) |
typedef_MemTab | ( | Fac3 | ) |
typedef_MemTab | ( | EdgeLine | ) |
int MSH_FA_mod_delPt | ( | MemTab(Fac3)* | fTab, | |
int | ip | |||
) |
MSH_FA_mod_delPt change all face-pointers >= ip to ip-1
int MSH_aload_pTab | ( | char * | lBuf, | |
int | bufSiz, | |||
FILE * | fpi | |||
) |
MSH_aload_pTab load pointTable ascii from open file Input: all following ascii-lines from open file fpi; "SECTIONEND" = end. Output: write into binary file
int MSH_aload_fTab | ( | char * | lBuf, | |
int | bufSiz, | |||
FILE * | fpi | |||
) |
int MSH_asav_pTabf | ( | Point * | pTab, | |
int | pNr, | |||
char * | fNam, | |||
FILE * | fpo | |||
) |
MSH_asav_pTabf save pointTable ascii into open file
int MSH_asav_fTabf | ( | MemTab(Fac3)* | fTab, | |
MemTab(EdgeLine)* | eTab, | |||
MemTab(int)* | eDat, | |||
char * | fNam, | |||
FILE * | fpo | |||
) |
MSH_asav_fTabf save faceTable ascii into open file
int MSH_bsav_pTab | ( | MemTab * | pTab, | |
int | mdlNr, | |||
int | surNr | |||
) |
int MSH_bsav_pTabf | ( | MemTab * | pTab, | |
char * | fNam | |||
) |
int MSH_bsav_fTab | ( | MemTab * | fTab, | |
MemTab * | eTab, | |||
MemTab * | eDat, | |||
int | mdlNr, | |||
int | surNr | |||
) |
int MSH_bsav_fTabf | ( | MemTab * | fTab, | |
MemTab * | eTab, | |||
MemTab * | eDat, | |||
char * | fNam | |||
) |
int MSH_bload_fTabf | ( | MemTab * | fTab, | |
MemTab * | eTab, | |||
MemTab * | eDat, | |||
char * | fNam | |||
) |
int MSH_bload_pTab | ( | MemTab(Point)* | pTab, | |
int | mdlNr, | |||
int | surNr | |||
) |
int MSH_bload_pTabf | ( | MemTab * | pTab, | |
char * | fNam | |||
) |
MSH_itess_pt2n planare Kontur tesselieren ACHTUNG: iba WIRD ZERSTOERT ! Funktionsweise: Fuer je 2 Kanten mit SpitzWinkel die Laenge fuer Abkuerzung merken. - fuer gesamte Kontur. Die beiden Kanten mit der kuerzesten Strecke suchen: ein Face bilden, die beiden Kanten durch eine Kante ersetzen (den Konturpunkt loeschen) Input: fNr size of fa p2a 2D-PunkteTabelle iba 2D-Kontur (indices in die 2D-PunkteTabelle) ipa pointers into 3D-pointTable; used only for Information Output: fa Faces (indices in die 2D-PunkteTabelle als *Fac3) fNr nr of faces
int MSH_Ftab_add | ( | Fac3 * | fa, | |
int * | fNr, | |||
int | fSiz, | |||
int | ip1, | |||
int | ip2, | |||
int | ip3 | |||
) |
add a Face to a FaceTable
int MSH_ibnd_ptn | ( | int * | iba, | |
int * | ibNr, | |||
Point * | pa, | |||
int | pNr | |||
) |
int MSH_ibnd_pt2n | ( | int * | iba, | |
int * | ibNr, | |||
Point2 * | p2a, | |||
int | p2Nr | |||
) |
MSH_ibnd_pt2n get boundary (iTab) for n 2D-points (p2a) Does not provide the closing-point (last point is not equal to first point !) ACHTUNG: memspc55 used !! Input: ibNr size of iba Output: iba memspc for the indices of the boundarypoints into p2a ibNr nr of indices
transport all points > 2D (pa -> p2a);
set indexArray ipa (points into pa)
skip empty (deleted) points;
skip identical points
ACHTUNG: p2a & ipa must have size pNr !
int MSH_bdel_pTab | ( | int | mdlNr, | |
int | surNr | |||
) |
int MSH_test_disp_p1 | ( | Point * | pTab, | |
int | pNr | |||
) |
display pointNr's of Gis-Points in 2D
int MSH_test_disp1 | ( | int * | iba, | |
int | iNr, | |||
Point * | pa, | |||
int * | ipa | |||
) |
TEST: display polygon
int MSH_test_disp2 | ( | int * | ib, | |
int | iNr, | |||
Point * | pa, | |||
int | att, | |||
int | mode | |||
) |
int MSH_test_disp3 | ( | int * | iba, | |
int | iNr, | |||
Point2 * | pa | |||
) |
TEST: display polygon
int MSH_bdel_fTab | ( | int | mdlNr, | |
int | surNr | |||
) |
MSH_bdel_fTab delete binary faceTableFile
int MSH_eTab_fix | ( | MemTab(EdgeLine)* | eTab, | |
MemTab(int)* | eDat | |||
) |
int MSH_EL_get_tab | ( | int ** | iTab, | |
int * | iNr, | |||
MemTab(EdgeLine)* | eTab, | |||
int | typ | |||
) |
get a pointer to the integer-list of EdgeLine with typ=<typ> MSH_EL_get_tab get EdgeLineData from EdgeLineTyp.
int MSH_dump_eTab | ( | MemTab(EdgeLine)* | eTab, | |
MemTab(int)* | eDat | |||
) |
MSH_dump_eTab dump EdgeLines
int WC_modnr |
the Nr of the active submodel; -1 = main.