/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/
/********************************************************************/
#pragma once
#include "IO/GLFileExporter.h"


/// Nastran フォーマットのフィールドタイプ
enum FieldType
{
	SMALLFIELD,
	LARGEFIELD,
	FREEFIELD
};

/// .nas ファイルにメッシュだけを保存する。それも三角形メッシュ限定。
class CGLNasExporter : public CGLFileExporter
{
	FieldType m_type;

public:
	/// コンストラクター
	CGLNasExporter();

	/// group に含まれる MGStl オブジェクトのみを保存する。
	///
	/// MGStl ごとにファイルを作成する可能性がある。
	/// ファイル名には適当に連番が付く。
	virtual bool Save(const MGGroup& group);

	/// true を返す。
	virtual bool HasOption() const;

protected:
	/// ダイアログを表示して、メンバーデータを設定する。
	virtual void DoShowOptionDialog();
};

class MGStl;

/// MGStl オブジェクトを Nastran 形式で保存する。
bool SaveNas(const MGStl& stl, const CString& strFileName, FieldType type);
