2017-03-26 65 views

回答

1

假设您只是要求创建线形 - 只需将坐标存储在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); 
+0

非常感谢你:)我使用C++。那么,你知道我该如何改变线条的颜色? – mkocabas

1

基本颜色(Open Inventor的OpenGL调用漫反射颜色),这通常是线几何的情况,那么您可以直接在SoVertexProperty节点中设置它。如果您需要在外观上更多的控制

vprop->orderedRGBA = SbColor(1,0,0).getPackedValue(); 

例如,为了让前面的例子“红色”的路线,加入这一行:

vprop->orderedRGBA = 0xff0000ff; // By default applies to all vertices 

,或者更方便在几何节点之前将一个SoMaterial节点添加到场景图形中。