1

我想实现用户可以浏览体积的切片,但为了保证更多的方向,我想绘制代表体积尺寸的立方体的轮廓。

我认为我需要做的:

1)获取体积的尺寸

2)开始画线,例如从 [0,0,0] 到 [0,1,0] 从 [0,1,0] 到 [1,1,0] 以及从 [1,1,0] 到 [1 ,0,0] 并再次返回 [0,0,0] 等等......

有没有一种简单的方法可以在 xtk 中画一条线?喜欢在这里使用类似 sphere-constructor 的东西吗?

示例(黑色轮廓):

立方体

提前致谢

4

1 回答 1

1

X.slice中,我们像这样创建当前切片的边框。

var borders = new X.object();
borders._points.add(point0.x, point0.y, point0.z); // 0
borders._points.add(point1.x, point1.y, point1.z); // 1
borders._points.add(point1.x, point1.y, point1.z); // 1
borders._points.add(point4.x, point4.y, point4.z); // 4
borders._points.add(point4.x, point4.y, point4.z); // 4
borders._points.add(point2.x, point2.y, point2.z); // 2
borders._points.add(point2.x, point2.y, point2.z); // 2
borders._points.add(point0.x, point0.y, point0.z); // 0
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._color = [1, 0, 0];

# set the drawing type to lines
borders._type = X.displayable.types.LINES;

borders._linewidth = 2;

这是目前内部使用的一个示例,但应该可以对公共 API 做同样的事情。

啊,我只是看到typegetter/setter 还不存在。我们需要创建它以启用在外部设置类型。所以我刚刚为那个https://github.com/xtk/X/issues/62创建了一个问题

随意贡献它:)应该很容易:)

于 2012-06-18T14:35:01.223 回答