/// <summary> /// Get the positions depending on the data source /// </summary> /// <returns></returns> private List <Vector3> GetPositions() { List <Vector3> positions; switch (editorTarget.dataSourceType) { case VegetationMaskLineExtension.DataSourceType.Container: positions = GetContainerChildrenPositions(); break; case VegetationMaskLineExtension.DataSourceType.TrainController: positions = trainControllerIntegration.GetTrainControllerPositions(); break; default: throw new Exception("Invalid data source: " + editorTarget.dataSourceType); } positions = VegetationMaskUtils.ApplyDoublesPeucker(positions, editorTarget.douglasPeuckerReductionTolerance); return(positions); }