===================================================== Liste_Funktionen_Beginn: INT2_pta_lna connect LineSegments --> Polygon INT_intplsur Intersect Surface - Plane INT_intpltor intersect Plane Torus INT_intplcon intersect Plane Cone INT_intsursur Intersect Surface - Surface INT_int_tria_tria intersect Surface - Surface --> n LineSegments INT_int_tria_pln intersect Plane - nTriangles --> nLineSegments INT_ln2pta__ connect LineSegments --> Polygon INT_pta2crv__ change Polygon to Line Circ Elli or BSpl-Curve Liste_Funktionen_Ende: ===================================================== - see also: UTO_obj_int UTO_obj_trim
#include "../xa/MS_Def0.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "../ut/ut_geo.h"
#include "../gr/ut_UI.h"
#include "../gr/tess_su.h"
#include "../xa/xa_mem.h"
Functions | |
int | INT2_pta_lna (void *oTab, int *oNr, Memspc *wrkSpc) |
int | INT_intplsur (int *oTyp, void *xSpc, Plane *pl1, long *sTab, int *sTyp, int sNr, int imod, int outTyp) |
int | INT_intplcon (int *oTyp, void *oSpc, Plane *pli, Conus *coi) |
int | INT_intpltor (int *oTyp, void *oSpc, Plane *pln, Torus *tor) |
int | INT_int_tria_pln (Line *lnTab, int *lnNr, int lnSiz, Triangle *triTab, int triNr, int triSiz, Plane *pln) |
int | INT_ln2pta__ (Memspc *oSpc, Memspc *pSpc, Memspc *tSpc, Line *lnTab, int lnNr) |
int | INT_pta2crv__ (int *oTyp, ObjGX *oxo, Memspc *oSpc, Memspc *pSpc, Memspc *tSpc, int imod, int outTyp) |
int | INT_int_tria_tria (Line *lnTab, int *lnNr, int lnSiz, Triangle *tri1Tab, int tri1Nr, int tri1Siz, Triangle *tri2Tab, int tri2Nr, int tri2Siz) |
int | INT_intsursur (int *oTyp, void *xSpc, int *s1Typ, long s1Dbi, int *s2Typ, long s2Dbi, int imod, int outTyp) |
int INT2_pta_lna | ( | void * | oTab, | |
int * | oNr, | |||
Memspc * | wrkSpc | |||
) |
aus den 2D-Linien ein 2D-Polygon machen das Point2-Polygon wird in oTab zurueckgeliefert, Anzahl oNr wird korrigiert
int INT_intplsur | ( | int * | oTyp, | |
void * | xSpc, | |||
Plane * | pl1, | |||
long * | sTab, | |||
int * | sTyp, | |||
int | sNr, | |||
int | imod, | |||
int | outTyp | |||
) |
int INT_int_tria_pln | ( | Line * | lnTab, | |
int * | lnNr, | |||
int | lnSiz, | |||
Triangle * | triTab, | |||
int | triNr, | |||
int | triSiz, | |||
Plane * | pln | |||
) |
intersect Plane - nTriangles --> nLineSegments
connect LineSegments --> Polygon Bei l1e beginnen; Indextabelle iTab1 aufbauen; gefundene als done markieren. Dann verkehrt; bei l1a beginnen; eine zweite Indextabelle aufbauen. Dann beide Tabellen vereinigen und speichern; (zuerst iTab2 verkehrt und dann iTab1 anhaengen). dann das ganze (mit den noch nicht bearbeiteten Lines) von vorn. OUT: oSpc die Objekdaten; an der Startadresse liegt ein Obj Typ_Group; seine Members sind 1-n Polygone (ebenfalls als Objekte). pSpc die Punktdaten tSpc tempSpace
int INT_int_tria_tria | ( | Line * | lnTab, | |
int * | lnNr, | |||
int | lnSiz, | |||
Triangle * | tri1Tab, | |||
int | tri1Nr, | |||
int | tri1Siz, | |||
Triangle * | tri2Tab, | |||
int | tri2Nr, | |||
int | tri2Siz | |||
) |
intersect Surface - Surface --> n LineSegments (see also INT_int_tria_pln
int INT_intsursur | ( | int * | oTyp, | |
void * | xSpc, | |||
int * | s1Typ, | |||
long | s1Dbi, | |||
int * | s2Typ, | |||
long | s2Dbi, | |||
int | imod, | |||
int | outTyp | |||
) |
Intersect Surface - Surface xSpc is char[OBJ_SIZ_MAX]; Typ_LN: struct Line; else struct ObjGX sTab *long-Liste von APT-Surfs, Anzahl sNr imod Index auszugebender Objekte; 0=nur_erstes, 1=nur_zweites usw Input: imod solutionNr outTyp solltyp out: Typ_CVBSP (10) | Typ_CVPOL (8) RetCod: 0 OK -1 Err