public PointGetter(CurvesTopology crvTopology, int fromIndex, SearchMode mode) { _crvTopology = crvTopology; _fromIndex = fromIndex; if (!Enum.IsDefined(typeof(SearchMode), mode)) { throw new ArgumentException("Enum is undefined.", "mode"); } _sm = mode; if (fromIndex != -1) { switch (mode) { case SearchMode.CurveLength: _distances = crvTopology.MeasureAllEdgeLengths(); break; case SearchMode.LinearDistance: _distances = crvTopology.MeasureAllEdgeLinearDistances(); break; case SearchMode.Links: _distances = null; break; default: throw new ApplicationException("Behaviour for this enum value is undefined."); } } _pathSearchMethod = PathMethod.FromMode(_sm, _crvTopology, _distances); }
public TrackingPointGetter(string prompt, CurvesTopology crvTopology, int fromIndex, SearchMode mode) { _crvTopology = crvTopology; _fromIndex = fromIndex; if(!Enum.IsDefined(typeof(SearchMode), mode)) throw new ArgumentException("Enum is undefined.", "mode"); _sm = mode; if (!string.IsNullOrEmpty(prompt)) _getPoint.SetCommandPrompt(prompt); if (fromIndex != -1) { switch(mode) { case SearchMode.CurveLength: _distances = crvTopology.MeasureAllEdgeLengths(); break; case SearchMode.LinearDistance: _distances = crvTopology.MeasureAllEdgeLinearDistances(); break; case SearchMode.Links: _distances = null; break; default: throw new ApplicationException("Behaviour for this enum value is undefined."); } } _getPoint.DynamicDraw += DynamicDraw; _pathSearchMethod = PathMethod.FromMode(_sm, _crvTopology, _distances); }
public TrackingPointGetter(string prompt, CurvesTopology crvTopology, int fromIndex, SearchMode mode) { _crvTopology = crvTopology; _fromIndex = fromIndex; if (!Enum.IsDefined(typeof(SearchMode), mode)) { throw new ArgumentException("Enum is undefined.", "mode"); } _sm = mode; if (!string.IsNullOrEmpty(prompt)) { _getPoint.SetCommandPrompt(prompt); } if (fromIndex != -1) { switch (mode) { case SearchMode.CurveLength: _distances = crvTopology.MeasureAllEdgeLengths(); break; case SearchMode.LinearDistance: _distances = crvTopology.MeasureAllEdgeLinearDistances(); break; case SearchMode.Links: _distances = null; break; default: throw new ApplicationException("Behaviour for this enum value is undefined."); } } _getPoint.DynamicDraw += DynamicDraw; _pathSearchMethod = PathMethod.FromMode(_sm, _crvTopology, _distances); }