📄 ibgi.h
字号:
/* last edit: Ilja Schmelzer -------------- 17-OCT-1994 13:48:44.80 */
/************************************************************************/
/* */
/* <<< I B G >>> - Intersection - Based Grid generation package */
/* */
/* Version 1.1 by Ilja Schmelzer schmelzer@iaas-berlin.d400.de */
/* */
/* to be distributed under IBG license conditions (see "readme.ibg") */
/* */
/************************************************************************/
/* <<< IBGI >>> - Intersection-Based Geometry Interface */
#ifndef IBGI_H
#define IBGI_H
#ifndef IBG_H
#include "ibg.h"
#endif
/* formal definition of the interface routines:
*/
int ibgdFree(ibGeometry old);
ibGeometry ibgdCopy(ibGeometry old);
int ibgiRegionOfPoint(ibGeometry g, ibgPoint *nnew, ibgPoint *nold);
int ibgiFaceWithEdge (ibGeometry g, ibgPoint *point,
ibgPoint *n1, ibgPoint *n2);
int ibgiLineWithTriangle (ibGeometry g, ibgPoint *point, ibgPoint *nface,
ibgPoint *n1, ibgPoint *n2, ibgPoint *n3);
int ibgiLineWithRectangle(ibGeometry g, ibgPoint *point, ibgPoint *nface,
ibgPoint *n1, ibgPoint *n2, ibgPoint *n3, ibgPoint *n4);
int ibgiNodeInTetrahedron(ibGeometry g, ibgPoint *point, ibgPoint *nline,
ibgPoint *n1, ibgPoint *n2, ibgPoint *n3, ibgPoint *n4);
int ibgiNodeInHexahedron(ibGeometry g, ibgPoint *point, ibgPoint *nline,
ibgPoint *n1, ibgPoint *n2, ibgPoint *n3, ibgPoint *n4,
ibgPoint *n5, ibgPoint *n6, ibgPoint *n7, ibgPoint *n8);
int ibgiStatusOfEdge(ibGeometry geom, ibgPoint *n1, ibgPoint *n2);
/* <<< possible output values >>> */
/* general output: */
#define ibgRegionFound 0
#define ibgFaceFound 0
#define ibgLineFound 0
#define ibgNodeFound 0
#define ibgNotFound (-1)
/* output of ibgiLineWithTriangle: */
#define ibgiOnSide12 1
#define ibgiOnSide23 2
#define ibgiOnSide31 3
/* output of ibgiLineWithRectangle: */
#define ibgiOnSide34 3
#define ibgiOnSide41 4
/* output of ibgiNodeInTetrahedron: */
#define ibgiOnSide123 1
#define ibgiOnSide124 2
#define ibgiOnSide134 3
#define ibgiOnSide234 4
/* output of ibgiNodeInHexahedron: */
#define ibgiOnSide1234 1
#define ibgiOnSide5678 2
#define ibgiOnSide1256 3
#define ibgiOnSide3478 4
#define ibgiOnSide1458 5
#define ibgiOnSide2367 6
/* output of ibgiStatus...: */
#define ibgIncorrect 0
#define ibgUnknown 1
#define ibgCorrect 2
/* realization as macros:
#include "ibgd0.h"
#define ibgiRegionOfPoint(g,nnew,nold) (g->Class->RegionOfPoint(g,nnew,nold))
#define ibgiFaceWithEdge(g,point,n1,n2)\
(g->Class->FaceWithEdge(g,point,n1,n2))
#define ibgiLineWithTriangle(g,point,first,n1,n2,n3)\
(g->Class->LineWithTriangle(g,point,first,n1,n2,n3))
#define ibgiLineWithRectangle(g,point,first,n1,n2,n3,n4)\
(g->Class->LineWithRectangle(g,point,first,n1,n2,n3,n4))
#define ibgiNodeInTetrahedron(g,point,first,n1,n2,n3,n4)\
(g->Class->NodeInTetrahedron(g,point,first,n1,n2,n3,n4))
#define ibgiNodeInHexahedron(g,point,first,n1,n2,n3,n4,n5,n6,n7,n8)\
(g->Class->NodeInHexahedron(g,point,first,n1,n2,n3,n4,n5,n6,n7,n8))
#define ibgiStatusOfEdge(g,n1,n2)\
(g->Class->StatusOfEdge(g,n1,n2))
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -