private static CharacterSpan GetCharacterSpan(LocationSpan locationSpan, CharacterPositionFinder finder) { var startPos = finder.GetCharacterPosition(locationSpan.Start); var endPos = finder.GetCharacterPosition(locationSpan.End); return(new CharacterSpan(startPos, endPos)); }
private void UseAllNetwork() { var locationSpan = new LocationSpan(); foreach (var reach in _engineNet.Reaches) { AddLocation(reach, locationSpan); } }
public void Add(string reachId) { var locationSpan = new LocationSpan() { ID = reachId }; _locationSpans.Add(locationSpan); }
public void WriteYaml(IEmitter emitter, object value, Type type) { SpanYamlTypeConverter spanConverter = new SpanYamlTypeConverter(); LocationSpan locationSpan = (LocationSpan)value; emitter.Emit(new MappingStart(null, null, false, MappingStyle.Flow)); emitter.Emit(new Scalar(null, "start")); spanConverter.WriteYaml(emitter, locationSpan.Start, typeof((int, int))); emitter.Emit(new Scalar(null, "end")); spanConverter.WriteYaml(emitter, locationSpan.End, typeof((int, int))); emitter.Emit(new MappingEnd()); }
private void AddLocation(EngineReach engineReach, LocationSpan locationsSpan) { var hdReach = _engineNet.HDModule.GetReach(engineReach); if (hdReach == null) { return; } var useAllReach = locationsSpan.StartChainage == Constants.DOUBLE_DELETE_VALUE || locationsSpan.EndChainage == Constants.DOUBLE_DELETE_VALUE; var location = new BedResistanceLocation() { Reach = hdReach }; // Bed resistance toolbox modifies the resistance only on the H grid points. foreach (var hdGridPoint in hdReach.GridPoints) { var hdhGridPoint = hdGridPoint as IHDHGridPoint; if (hdhGridPoint == null) { continue; } if (!locationsSpan.ContainsChainage(hdhGridPoint.GridPoint.Location.Chainage) && !useAllReach) { continue; } location.GridPoints.Add(hdhGridPoint); } if (location.GridPoints.Count > 0) { _locations.Add(location); } }
private static void ParseAttribute(XmlTextReader reader, Container parent, CharacterPositionFinder finder, IXmlFlavor flavor) { var attributeStartPos = new LineInfo(reader.LineNumber, reader.LinePosition); var name = flavor.GetName(reader); var type = flavor.GetType(reader); // important call to be able to read the attribute value reader.ReadAttributeValue(); var content = flavor.GetContent(reader); var attributeEndPos = new LineInfo(reader.LineNumber, reader.LinePosition + content.Length); var startPos = finder.GetCharacterPosition(attributeStartPos); var endPos = finder.GetCharacterPosition(attributeEndPos); var locationSpan = new LocationSpan(attributeStartPos, attributeEndPos); var span = new CharacterSpan(startPos, endPos); var child = AddTerminalNode(parent, type, name, content, locationSpan, span); flavor.FinalAdjustAfterParsingComplete(child); }
public void Add(string reachId, double startChainage, double endChainage) { var locationSpan = new LocationSpan(reachId, startChainage, endChainage); _locationSpans.Add(locationSpan); }
private static TerminalNode AddTerminalNode(Container parent, string type, string name, string content, LocationSpan locationSpan, CharacterSpan span) { var child = new TerminalNode { Type = type, Name = name, Content = content, LocationSpan = locationSpan, Span = span, }; parent.Children.Add(child); return(child); }