using System.IO;
namespace MikuMikuDance.Model
{
///
/// MMDモデルを表すインターフェイス
///
///
/// このクラスを継承し、オリジナルのオブジェクトを作成する場合は引数なしコンストラクタを用意すること
/// また、Read,Write関数をオーバーライドすること。
///
public interface MMDModel
{
///
/// MMDモデルバージョン番号
///
float Version { get; }
///
/// Read関数
///
/// この関数はModelManagerから呼び出される。呼び出し時にはマジック文字とバージョン番号が読まれた状態で渡される
/// マジック文字とバージョン番号読み込み済みのBinaryReader
/// 座標系変換指定
/// スケール
void Read(BinaryReader reader, CoordinateType coordinate, float scale);
///
/// Write関数
///
/// この関数はModelManagerから呼び出される。呼び出し時にはマジック文字とバージョン番号が書かれた状態で渡される
/// マジック文字とバージョン番号書き込み済みのBinaryWriter
/// スケール
void Write(BinaryWriter writer, float scale);
///
/// 保持しているデータの座標系
///
CoordinateType Coordinate { get; }
#if false
///
/// スケーリング
///
/// 拡大倍率
void Scale(float ScaleFactor);
#endif
}
}