switch (theGltfFace.Shape.ShapeType())
{
case TopAbs_EDGE:
- myWriter->Int(RWGltf_GltfPrimitiveMode_Lines);
+ myWriter->Int(RWGltf_GltfPrimitiveMode_LineStrip);
break;
case TopAbs_VERTEX:
myWriter->Int(RWGltf_GltfPrimitiveMode_Points);
}
}
if (aMode != RWGltf_GltfPrimitiveMode_Triangles && aMode != RWGltf_GltfPrimitiveMode_Lines
- && aMode != RWGltf_GltfPrimitiveMode_Points)
+ && aMode != RWGltf_GltfPrimitiveMode_LineStrip && aMode != RWGltf_GltfPrimitiveMode_Points)
{
Message::SendWarning(TCollection_AsciiString() + "Primitive array within Mesh '" + theMeshId
+ "' skipped due to unsupported mode");
aShape = aVertices;
break;
}
- case RWGltf_GltfPrimitiveMode_Lines: {
+ case RWGltf_GltfPrimitiveMode_Lines:
+ case RWGltf_GltfPrimitiveMode_LineStrip: {
TColgp_Array1OfPnt aNodes(1, aMeshData->NbEdges());
for (Standard_Integer anEdgeIdx = 1; anEdgeIdx <= aMeshData->NbEdges(); ++anEdgeIdx)
{
aShapeAttribs.RawName = theMeshName;
// assign material and not color
- if (aMode == RWGltf_GltfPrimitiveMode_Lines)
+ if (aMode == RWGltf_GltfPrimitiveMode_Lines || aMode == RWGltf_GltfPrimitiveMode_LineStrip)
{
aShapeAttribs.Style.SetColorCurv(aMeshData->BaseColor().GetRGB());
}
const TCollection_AsciiString& aName = theSourceMesh->Id();
const RWGltf_GltfPrimitiveMode aPrimMode = theSourceMesh->PrimitiveMode();
if (aPrimMode != RWGltf_GltfPrimitiveMode_Triangles && aPrimMode != RWGltf_GltfPrimitiveMode_Lines
+ && aPrimMode != RWGltf_GltfPrimitiveMode_LineStrip
&& aPrimMode != RWGltf_GltfPrimitiveMode_Points)
{
Message::SendWarning(TCollection_AsciiString("Buffer '") + aName