在webgl(xtk)中绘制体积轮廓

在webgl(xtk)中绘制体积轮廓,webgl,xtk,Webgl,Xtk,我想实现用户可以通过一个体积的切片,但为了保证更多的方向,我想画一个立方体的轮廓,它代表一个体积的尺寸 我认为我需要做的是: 1)获取卷的尺寸 2)开始从[0,0,0]到[0,1,0]从[0,1,0]到[1,1,0],从[1,1,0]到[1,0,0]再回到[0,0,0]等等绘制直线 有没有一种简单的方法可以在xtk中画一条线?比如使用类似于球体构造器的东西 示例(黑色轮廓): 提前感谢在X.slice中,我们创建了当前切片的边框,如下所示 var borders = new X.object(

我想实现用户可以通过一个体积的切片,但为了保证更多的方向,我想画一个立方体的轮廓,它代表一个体积的尺寸

我认为我需要做的是:

1)获取卷的尺寸

2)开始从[0,0,0]到[0,1,0]从[0,1,0]到[1,1,0],从[1,1,0]到[1,0,0]再回到[0,0,0]等等绘制直线

有没有一种简单的方法可以在xtk中画一条线?比如使用类似于球体构造器的东西

示例(黑色轮廓):


提前感谢

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中也可以这样做

啊,我只是看到,
类型
getter/setter还不存在。我们需要创建它来启用外部设置类型。所以我就为它创造了一个问题


可以随意贡献:)应该很简单:)

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中也可以这样做

啊,我只是看到,
类型
getter/setter还不存在。我们需要创建它来启用外部设置类型。所以我就为它创造了一个问题

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