/*
 *	app.h
 *
 *	P/ECE CLiP Library 3D Object Exporter
 *	Copyright (C) 2006 Naoyuki Sawa
 *
 *	* Thu Jun 29 11:46:08 JST 2006 Naoyuki Sawa
 *	- アプリケーションヘッダとして別ファイルに分離しました。
 *	* Sun Aug 10 21:42:25 JST 2008 Naoyuki Sawa
 *	- <vector>要素を固定小数点でなく浮動小数点で出力するよう変更しました。
 *	  浮動小数点MESHとして使用する場合は、浮動小数点のまま読み込んでください。
 *	  固定小数点MESHとして使用する場合は、読み込み時に固定小数点に変換してください。
 */
#define STRICT
#include <windows.h>
#include <commctrl.h>
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
//
#include "MQPlugin.h"
#include "resource.h"

#define APP_TITLE	"P/ECE CLiP Library 3D Object Exporter"
#define APP_PRODUCT	0x20080810	/* 年月日としました */
#define APP_ID		0x21422500	/* 時分秒としました */

/*****************************************************************************
 *	
 *****************************************************************************/

//{{2008/08/10:削除
///*{{clipfix.hより*/
//#define FRACT_BITS	10			/* 小数部ビット数 */
//#define FIXED_SCALE	(1 << FRACT_BITS)	/* 固定小数スケール値 */
//#define fld(a)		((fixed)(int)((a) * FIXED_SCALE))
//typedef struct _fixed* fixed;
///*}}clipfix.hより*/
//}}2008/08/10:削除

/* ExportMesh.cpp */
BOOL DoExportMesh(FILE* fp, MQDocument doc, MQObject obj, struct _OPTION* option);

/* ExportWire.cpp */
BOOL DoExportWire(FILE* fp, MQDocument doc, MQObject obj, struct _OPTION* option);

/* OptionDialog.cpp */
typedef struct _OPTION {
	double scale;	/* 拡大率 = scale * pow(10, exp) */
	int exp;
	int axis;	/* 0 = X軸反転, 1 = Y軸反転, 2 = Z軸反転 */
} OPTION;
int DoOptionDialog(HINSTANCE hInstance, HWND hWndParent, OPTION* option);
