我是Open Inventor 3D图形API的新手,我只想在给定3D坐标之间画一条线。假设第一个点是0,0,0,第二个点是1,1,1。该API的文档和示例确实很糟糕,无法正确解决。我正在使用Visual Studio。

最佳答案

假设您只是问有关创建线形的问题-只需将坐标存储在SoVertexProperty节点中,在SoLineSet节点中设置该节点,然后将线集添加到场景图即可。 Open Inventor会假定您要使用给定的所有坐标,所以这就是您需要做的。
对于仅两个坐标,使用set1Value方法可能是最简单的,但是您也可以从数组中设置坐标。您没有说使用哪种语言,所以我将用C ++显示代码(C#和Java本质上是相同的,只是语言语法不同):

SoVertexProperty* vprop = new SoVertexProperty();
  vprop->vertex.set1Value( 0, 0,0,0 );  // Set first vertex to be 0,0,0
  vprop->vertex.set1Value( 1, 1,1,1 );  // Set second vertex to be 1,1,1

SoLineSet* line = new SoLineSet();
  line->vertexProperty = vprop;

sceneGraph->addChild( line );

关于graphics - 如何在Open Inventor 3D图形API中画线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43034213/

10-14 16:48