固定表示領域を持つ Plotcube と、このビューを復元するダブルクリック ハンドラーが必要です。そのために、ILPlotcude からクラスを派生させ、そのコンストラクターに制限を設定するための次のコードを配置しました。
:
float max = 1000f;
Limits.YMax = max;
Limits.XMax = max;
Limits.ZMax = max;
Limits.YMin = -max;
Limits.XMin = -max;
Limits.ZMin = -max;
AspectRatioMode = AspectRatioMode.MaintainRatios;
:
上記のコードと回転をリセットする追加の行を使用して、このクラスに doubleClick-handler もインストールしました。
:
if (args.Cancel) return;
if (!args.DirectionUp) return;
Rotation = Matrix4.Identity;
float max = 1000f;
Limits.YMax = max;
Limits.XMax = max;
Limits.ZMax = max;
Limits.YMin = -max;
Limits.XMin = -max;
Limits.ZMin = -max;
AspectRatioMode = AspectRatioMode.MaintainRatios;
args.Refresh = true;
args.Cancel = true;
:
ハンドラは実行されますが、何も起こりません。テスト目的で、(関数呼び出し reset () の代わりに) 基本クラス ILPlotCube の関数 OnMouseDoubleClick に同じコードを直接入れました。これは期待どおりに機能しますが、最終的な解決策にはなりません。
誰かがアイデアを持っていますか、何が問題なのですか?