⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ibgi.h

📁 有限元学习研究用源代码(老外的),供科研人员参考
💻 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 + -