// Use a builder convenience method or use a builder constructor.
MapPoint startPt = MapPointBuilder.CreateMapPoint(1.0, 1.0);
MapPoint endPt = MapPointBuilder.CreateMapPoint(2.0, 1.0);
// Builder convenience methods don't need to run on the MCT.
LineSegment lineFromMapPoint = LineBuilder.CreateLineSegment(startPt, endPt);
// coordinate2D
Coordinate2D start2d = (Coordinate2D)startPt;
Coordinate2D end2d = (Coordinate2D)endPt;
LineSegment lineFromCoordinate2D = LineBuilder.CreateLineSegment(start2d, end2d);
// coordinate3D
Coordinate3D start3d = (Coordinate3D)startPt;
Coordinate3D end3d = (Coordinate3D)endPt;
LineSegment lineFromCoordinate3D = LineBuilder.CreateLineSegment(start3d, end3d);
// lineSegment
LineSegment anotherLineFromLineSegment = LineBuilder.CreateLineSegment(lineFromCoordinate3D);
// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
using (LineBuilder lb = new LineBuilder(startPt, endPt))
{
// do something with the builder
lineFromMapPoint = lb.ToSegment();
}
using (LineBuilder lb = new LineBuilder(start2d, end2d))
{
// do something with the builder
lineFromCoordinate2D = lb.ToSegment();
}
using (LineBuilder lb = new LineBuilder(start3d, end3d))
{
// do something with the builder
lineFromCoordinate3D = lb.ToSegment();
}
using (LineBuilder lb = new LineBuilder(lineFromCoordinate3D))
{
// do something with the builder
LineSegment lineFromLineSegment = lb.ToSegment();
}
});