Helix-3d の例、特にマニピュレータの例を見て、C# で機能を再現しようとしました。
HelixViewport3D と次のコードを含むウィンドウがあります。
public partial class TransformWindow : Window
{
public TransformWindow()
{
InitializeComponent();
BoxVisual3D box = new BoxVisual3D();
Point3D position = new Point3D(3,4,5);
box.Center = position;
Viewport3D.Children.Add(box);
TranslateManipulator manipulator1 = new TranslateManipulator();
manipulator1.Bind(box);
manipulator1.Color = Colors.Red;
manipulator1.Direction = new Vector3D(1,0,0);
manipulator1.Diameter = 0.1;
//manipulator1.Position = position;
Viewport3D.Children.Add(manipulator1);
}
}
このコードは、ボックスの移動に使用できる矢印を追加しますが、マニピュレーターの矢印はビューポートの中央に配置されています。箱からはみ出してほしいです。位置を使用して最初に配置すると、最初の位置は正しいのですが、オブジェクトを移動してもマニピュレータの矢印はそのままです。マニピュレータを正しい位置に保つ (常にオブジェクトから突出する) にはどうすればよいですか?