作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想显示任何 MeshElement3D (例如 BoxVisual3d)在 helix-toolkit 中作为线框。如何实现?
编辑:
感谢 Erno de Weerd 的回答,我能够编写以下代码
public class GeometryBoxVisual3D : BoxVisual3D
{
public MeshGeometry3D Geometry()
{
return Tessellate();
}
}
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);
最佳答案
调用 MeshElement3D.Tesselate()
你可以得到MeshGeometry3D
(网)。
接下来创建一个LinesVisual3D
目的。
将网格的点复制到 LinesVisual3D
的点.
这将创建内部网格(参见来源:LinesVisual3D.cs in helix toolkit)
最后,确保设置 LinesVisual3D
的厚度。并将其添加到场景中。
关于wpf - 如何将 MeshElement3D 显示为线框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596130/
我是一名优秀的程序员,十分优秀!