Skip to content

Commit d38f512

Browse files
authored
Merge pull request #10 from autodesk-platform-services/DEXC1784
Polyline element added to created Exchange
2 parents f6a60a9 + 6a09464 commit d38f512

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

src/CreateExchangeHelper.cs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ public void AddPrimitiveGeometries(ElementDataModel data)
5454
{
5555
AddPrimitiveLineGeometries(data);
5656
AddPrimitivePointGeometry(data);
57-
AddPrimitiveCurveAndSurfaceGeometries(data);
57+
AddPrimitiveCurveAndSurfaceGeometries(data);
58+
AddPrimitivePolylineGeometry(data);
5859
}
5960

6061
private void AddPrimitiveLineGeometries(ElementDataModel data)
@@ -446,5 +447,31 @@ public void AddElementsForExchangeUpdate(ElementDataModel data)
446447
newMeshGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(filePathToMesh, commonRenderStyle)));
447448
data.SetElementGeometryByElement(newMeshElement, newMeshGeometry);
448449
}
450+
451+
private void AddPrimitivePolylineGeometry(ElementDataModel dataModel)
452+
{
453+
var polyLineElement = dataModel.AddElement(new ElementProperties("Polyline", "PolylineGenerics", "PolylineGeneric", "PolylineElement"));
454+
var polyLineElementGeometry = new List<ElementGeometry>();
455+
var geomContainer = new GeometryContainer()
456+
{
457+
Curves = new CurveArray()
458+
{
459+
new Polyline()
460+
{
461+
Range = new ParamRange(ParamRange.RangeType.Finite, 0.0, 2.0),
462+
Closed = false,
463+
Points = new List<Point3d>()
464+
{
465+
new Point3d(12.5, 4, 0),
466+
new Point3d(4.5, 4, 0),
467+
new Point3d(11.25, 0, 0)
468+
}
469+
}
470+
}
471+
};
472+
473+
polyLineElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(geomContainer, commonRenderStyle)));
474+
dataModel.SetElementGeometryByElement(polyLineElement, polyLineElementGeometry);
475+
}
449476
}
450477
}

test/SampleConnectorUnitTests/CreateExchangeHelperTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,14 @@ public void TestAddElementsForExchangeUpdate()
5555

5656
Assert.IsTrue(updateMeshElement != null && updateMeshElement.Any());
5757
}
58+
59+
[TestMethod]
60+
public void TestAddPolylinePrimitiveGeometry()
61+
{
62+
_createExchangeHelper.AddPrimitiveGeometries(_dataModel);
63+
var polylineElement = _dataModel.Elements.Where(element => element.Id == "Polyline").ToList();
64+
65+
Assert.IsTrue(polylineElement != null);
66+
}
5867
}
5968
}

0 commit comments

Comments
 (0)