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

📄 plane.c

📁 seismic software,very useful
💻 C
字号:
/*code for plane objectThe plane object records all planes drawn in an render*/#include "main.h"#include "axis.h"#include "map.h"#include "render.h"#include "plane.h"Plane plane=0, lastplane=0, planelist=0;/* initialize planes */PlanePlaneInit ()	{	int iplane;	NEW(Plane,planelist,NPLANE);	for (iplane=0, plane=planelist; iplane<NPLANE; iplane++, plane++) NEW(RenderAttr,plane->attr,1);	PlaneReset ();	return (planelist);	}/* find a plane given axis and frame */PlanePlaneFind (dir3,frame3,dir4,frame4,dir5,frame5)int dir3,frame3,dir4,frame4,dir5,frame5;	{	Plane plane;	for (plane=planelist; plane < planelist+NPLANE && 		plane->attr->orient != NO_INDEX; plane++) {		if (AxisDir(MapAxis(plane->zmap)) == dir3 && 			(frame3 == NO_INDEX ||  plane->frame3 == frame3) &&			(dir4 == NO_INDEX || (				AxisDir(MapAxis(plane->map4)) == dir4 &&				(frame4 == NO_INDEX ||  plane->frame4 == frame4) &&				AxisDir(MapAxis(plane->map5)) == dir5 &&				(frame5 == NO_INDEX ||  plane->frame5 == frame5)) )) {			return (plane);			}		}	return (0);	}/* empty the list */PlaneReset ()	{	for (plane=planelist; plane < planelist+NPLANE; plane++) { 		plane->attr->orient = NO_INDEX;		}	plane = planelist;	}/* record a plane */PlaneSet (hmap,vmap,zmap,map4,map5,h0,v0,nh,nv,render,margins,attr)Map hmap, vmap, zmap, map4, map5;Render render;RenderAttr attr;int h0, v0, nh, nv, *margins;	{	plane->hmap = hmap;	plane->vmap = vmap;	plane->zmap = zmap;	plane->map4 = map4;	plane->map5 = map5;	plane->frame3 = zmap->frame;	plane->frame4 = map4->frame;	plane->frame5 = map5->frame;	plane->h0 = h0;	plane->v0 = v0;	plane->nh = nh;	plane->nv = nv;	plane->margins = margins;	*(plane->attr) = *attr;	lastplane = plane;	plane++;	}/* set frame */PlaneSetFrame (plane,frame3)Plane plane;int frame3;	{	if (!plane) return;	plane->frame3 = frame3;	}/* print list of planes */PlaneListInfo ()	{	Plane plane;	printf ("Plane list:\n");	for (plane=planelist; plane < planelist+NPLANE && 		plane->attr->orient != NO_INDEX; plane++) {		printf ("dir3=%d frame3=%d dir4=%d frame4=%d dir5=%d frame5=%d h0=%d v0=%d nh=%d nv=%d\n",			AxisDir(MapAxis(plane->zmap)),plane->frame3,			AxisDir(MapAxis(plane->map4)),plane->frame4,			AxisDir(MapAxis(plane->map5)),plane->frame5,			plane->h0,			plane->v0,			plane->nh,			plane->nv);		}	}/* return plane dir */PlaneDir (plane)Plane plane;	{	if (!plane) return (NO_INDEX);	return (AxisDir(MapAxis(plane->zmap)));	}/* return plane frame */PlaneFrame (plane)Plane plane;	{	if (!plane) return (NO_INDEX);	return (plane->frame3);	}/* return plane rectangle */PlaneRect (h0,v0,nh,nv)int *h0, *v0, *nh, *nv;	{	*h0 = NO_INDEX;	*v0 = NO_INDEX;	*nh = NO_INDEX;	*nv = NO_INDEX;	if (!lastplane) return;	*h0 = lastplane->h0;	*v0 = lastplane->v0;	*nh = lastplane->nh;	*nv = lastplane->nv;	}/* return plane skew */PlaneSkew (plane) Plane plane;	{	if (!plane) return (0);	return (plane->attr->skew);	}/* return plane type */PlaneType (plane) Plane plane;	{	if (!plane) return (0);	return (plane->attr->orient);	}/* return plane v0 */PlaneV0 (plane) Plane plane;	{	if (!plane) return (0);	return (plane->v0);	}/* return plane h0 */PlaneH0 (plane) Plane plane;	{	if (!plane) return (0);	return (plane->h0);	}/* return plane nv */PlaneNV (plane) Plane plane;	{	if (!plane) return (0);	return (plane->nv);	}/* return plane nh */PlaneNH (plane) Plane plane;	{	if (!plane) return (0);	return (plane->nh);	}/* return plane hmap */MapPlaneHmap (plane) Plane plane;	{	if (!plane) return (0);	return (plane->hmap);	}/* return plane vmap */MapPlaneVmap (plane) Plane plane;	{	if (!plane) return (0);	return (plane->vmap);	}/* return plane vmap */MapPlaneZmap (plane) Plane plane;	{	if (!plane) return (0);	return (plane->zmap);	}

⌨️ 快捷键说明

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