我需要一个具有固定显示区域的 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 处理程序,上面的代码和一个额外的行来重置旋转:
:
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;
:
处理程序已执行,但没有任何反应。出于测试目的,我将相同的代码直接放入基类 ILPlotCube 的函数 OnMouseDoubleClick 中(而不是函数调用 reset())。这按预期工作,但它不是最终的解决方案。
有没有人有想法,怎么了?