/// <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);
        }