6

helix-toolkit で任意のMeshElement3D (BoxVisual3d など) をワイヤーフレームとして表示したいと考えています。これはどのように達成できますか?

編集:

Erno de Weerd の回答のおかげで、次のコードを書くことができました

  1. BoxVisual3D を拡張するクラス

    public class GeometryBoxVisual3D : BoxVisual3D
    {
    
      public MeshGeometry3D Geometry()
      {
        return Tessellate();
      }
    }
    
  2. ボックスのインスタンスをビューポートに追加します。

        GeometryBoxVisual3D box = new GeometryBoxVisual3D();
        box.Fill = new SolidColorBrush(Colors.Red);
        Viewport3D.Children.Add(box);
        MeshGeometry3D geometry3 = box.Geometry();
        LinesVisual3D lines = new LinesVisual3D();
        lines.Thickness = 3;
        lines.Points = geometry3.Positions;
        lines.Transform = new TranslateTransform3D(3,1,1);
        Viewport3D.Children.Add(lines);
    

これにより、次のように表示されます。

ここに画像の説明を入力

元のボックスを非表示にして LinesVisual3D をボックスの上に配置すると、ワイヤーフレームを元のオブジェクトのように表示できますが、側面のエッジがまだありません。

4

1 に答える 1