52 if (element.points.size() < 3)
56 <<
"with " << element.points.size() <<
" points "
57 <<
"(a polygon requires >= 3 points).";
61 int pointSize = (int)element.points.size();
65 for (
auto& point : element.points)
67 SbVec3f pt(point.e0, point.e1, point.e2);
75 auto& first = element.points.front();
76 SbVec3f pt0(first.e0, first.e1, first.e2);
80 faceSet->numVertices.set1Value(0, pointSize);
83 const float conv = 1.0f / 255.0f;
84 float r = element.lineColor.r * conv;
85 float g = element.lineColor.g * conv;
86 float b = element.lineColor.b * conv;
87 float a = element.lineColor.a * conv;
92 if (element.lineWidth > 0.0f)
94 lineStyle->lineWidth.setValue(element.lineWidth);
98 lineStyle->style = SoDrawStyleElement::INVISIBLE;
101 lineSet->numVertices.set1Value(0, pointSize + 1);