/************************************************************************
		  ３Ｄ-ＣＡＤプログラム用グローバル変数定義ヘッダー

				 		Programmed by Y.Nishida

												[ Oct.22, 1993 ]
 ************************************************************************/

typedef struct {
	short	flags;			/* フラッグ											*/
	short	parentObject;	/* 親オブジェクトへのインデックス					*/
	short	nextBrother;	/* 次の兄弟オブジェクトへのインデックス				*/
	short	firstChild;		/* 最初の子オブジェクトへのインデックス				*/
	short	firstPolygon;	/* 最初のポリゴンへのインデックス					*/
	short	firstAnime;		/* 最初のアニメーションへのインデックス				*/
	double	offsetx;		/* 親とのオフセットＸ								*/
	double	offsety;		/* 親とのオフセットＹ								*/
	double	offsetz;		/* 親とのオフセットＺ								*/
} ObjectRecord,*ObjectPtr;

typedef struct {
	short	flags;			/* フラッグ											*/
	short	objectIndex;	/* ポリゴンを所有するオブジェクトへのインデックス	*/
	short	nextPolygon;	/* 同一グループ内のポリゴンへのインデックス			*/
	short	firstPoint;		/* ポリゴンを構成する頂点へのインデックス			*/
	short	selectLink;		/* 選択されているポリゴンへのインデックス			*/
	unchar	color;			/* ポリゴンの色										*/
	unchar	npoints;		/* ポリゴンの頂点数									*/
} PolygonRecord,*PolygonPtr;

typedef struct {
	short	flags;			/* フラッグ											*/
	short	polygonIndex;	/* ポイントを所有するポリゴンへのインデックス		*/
	short	nextPoint;		/* 次のポイントへのインデックス						*/
	short	selectLink;		/* 選択されているポイントへのインデックス			*/
	double	pointx;			/* Ｘ座標											*/
	double	pointy;			/* Ｙ座標											*/
	double	pointz;			/* Ｚ座標											*/
} PointRecord,*PointPtr;




typedef struct {
	short		windowNo;		/* ウィンドウ番号						*/
	short		scale;			/* 予約									*/
	short		homex;			/* スクリーン左上のＸ座標				*/
	short		homey;			/* スクリーン左上のＹ座標				*/
	short		width;			/* スクリーンの横幅						*/
	short		height;			/* スクリーンの高さ						*/
	WindowPtr	window;			/* ウィンドウへのポインタ				*/
	ControlPtr	contents;		/* スクリーン表示領域					*/
	ControlPtr	scrlLBar;		/* 左側のスクロール・バー				*/
	ControlPtr	scrlRBar;		/* 右側のスクロール・バー				*/
	ControlPtr	scrlHBar;		/* 下側のスクロール・バー				*/
	ControlPtr	zoomIn;			/* ズームイン・ボタン					*/
	ControlPtr	zoomOut;		/* ズームアウト・ボタン					*/
	Pixmap		editScreen;		/* 作業用スクリーンのピクスマップ		*/
	Pixmap		foreScreen;		/* 表示用スクリーンのピクスマップ		*/
	Pixmap		backScreen;		/* 方眼用スクリーンのピクスマップ		*/
} DesignRecord,*DesignPtr;

extern Pixmap scaleUpPict;
extern Pixmap scaleDownPict;
extern Pixmap toolIcons[13];

extern GC bitmapGPort;			/* ビットマップ用ＧＣ						*/
extern GC pixmapGPort;			/* ピクスマップ用ＧＣ						*/
extern GC viewerGPort;			/* ３Ｄビュー用ＧＣ							*/

extern MenuPtr fileMenu;		/* ファイル・メニューへのポインタ			*/
extern MenuPtr editMenu;		/* エディット・メニューへのポインタ			*/
extern MenuPtr windowMenu;		/* ウィンドウ・メニューへのポインタ			*/
extern MenuPtr optionMenu;		/* オプション・メニューへのポインタ			*/
extern MenuPtr objectMenu;		/* オブジェクト・メニューへのポインタ		*/
extern MenuPtr groupMenu;		/* グループ・メニューへのポインタ			*/
extern MenuPtr mtoolMenu;		/* モデラーツール・メニューへのポインタ		*/
