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

📄 ibgg0.h

📁 有限元学习研究用源代码(老外的),供科研人员参考
💻 H
字号:
/* last edit: Ilja Schmelzer -------------- 10-JUN-1994 15:08:24.69	*/
/************************************************************************/
/*                                                                      */
/*  <<< 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")	*/
/*                                                                      */
/************************************************************************/
/* <<< IBGG0 >>> - Intersection-Based Geometry
		quadtree/octree data structure for grid generation
*/
#ifndef IBGG0_H
#define IBGG0_H

#ifndef IBGG_H
#include "ibgg.h"
#endif

typedef struct{
		void (*RefineRegion)(ibgPtObject This, ibgPoint *n,
				      	ibgFloat *length);
		ibgPtObject pRefineRegion;
		void (*RefineFace)(ibgPtObject This, ibgPoint *nface,
				      	ibgFloat *normal, ibgFloat *tangential);
	     	ibgPtObject pRefineFace;
	       	void (*RefineLine)(ibgPtObject This, ibgPoint *nline,
			   	      	ibgFloat *normal, ibgFloat *tangential);
	     	ibgPtObject pRefineLine;
		void (*RefineNode)(ibgPtObject This, ibgPoint *n,
				      	ibgFloat *length);
		ibgPtObject pRefineNode;
		ibgBoolean (*RefineEdge) (ibgPtObject This,
					ibgPoint *n1, ibgPoint *n2);
		ibgPtObject pRefineEdge;
}ibggRefPar;

extern	ibGeometry	ibGeo;	/* current geometry */
extern	ibGrid		ibgg;	/* current grid (==ibgg0.gg) */
extern  ibggRefPar	ibggRef;
typedef struct _ibGrid00 ibGrid0;

ibGrid0 *ibgg0CoarseGrid(unsigned maxPoint,
	 	unsigned nx, ibgFloat *x, unsigned fx,
   		unsigned ny, ibgFloat *y, unsigned fy,
      		unsigned nz, ibgFloat *z, unsigned fz);

ibGrid0 *ibgg0Free(ibGrid0 *g0);

int     ibgg0getPoints(ibgPoints *p, ibGrid0 *g);

/* not implemented:
ibGrid0 *ibgg0Copy(ibGrid0 *g0);
*/

int	ibgg0RegionOfPoint(ibGrid0 *g0, ibGeometry geom);

void ibgg0SetRefPar(ibggRefPar *ref,
	     	void (*RefineRegion)(ibgPtObject This, ibgPoint *point,
			   	      	ibgFloat *length),
		ibgPtObject pRefineRegion,
		void (*RefineFace)(ibgPtObject This, ibgPoint *point,
				      	ibgFloat *normal, ibgFloat *tangential),
	     	ibgPtObject pRefineFace,
	     	void (*RefineLine)(ibgPtObject This, ibgPoint *point,
			   	      	ibgFloat *normal, ibgFloat *tangential),
	     	ibgPtObject pRefineLine,
	     	void (*RefineNode)(ibgPtObject This, ibgPoint *point,
			   	      	ibgFloat *length),
	     	ibgPtObject pRefineNode,
		ibgBoolean (*RefineEdge) (ibgPtObject This,
					ibgPoint *n1, ibgPoint *n2),
		ibgPtObject pRefineEdge
	);

int	ibgg0Refine	 (ibGrid0 *g0, ibGeometry geom, ibggRefPar *ref);

int	ibgg0Boundary	 (ibGrid0 *g0, ibGeometry geom, ibggRefPar *ref,
		unsigned maxpoint);

int     ibgg3New(ibGrid0 *g0);

int	ibgg0Delaunay(ibGrid0 *g0);

ibGrid	*ibgg0Correct(ibGrid0 *gg);

/* internal nonsense */

int g0CAlloc(int max);
int g0NRealloc();
int g0QFree();
int g0BNShift();

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -