/// <summary> /// Clear the contents /// </summary> internal override void Clear() { _elements.Clear(); var element = new FreeElement(); element.OnCSUnitsPerPixelChanged(this.CSUnitsPerPixel); _elements.Add(element); base.Clear(); }
/// <summary> /// End the measuring /// </summary> internal override void EndMeasuring() { base.EndMeasuring(); ActiveCollection.FinalizeElements(); CreateFeatureGeometry(); var element = new FreeElement(); element.OnCSUnitsPerPixelChanged(this.CSUnitsPerPixel); _elements.Add(element); }
public bool InitWriteReadList(HandleElement eleHandle, FreeElement eleFree) { if (eleHandle == null || eleFree == null) { Trace.Assert(false, "InitWriteReadList input param error."); return(false); } elementHandle = eleHandle; elementFree = eleFree; visitorGuard = new object(); if (visitorGuard == null) { return(false); } elementListA = new List <TYPE>(); if (elementListA == null) { visitorGuard = null; return(false); } elementListB = new List <TYPE>(); if (elementListB == null) { visitorGuard = null; elementListA = null; return(false); } writeElementList = elementListA; readElementList = elementListB; return(true); }
/// <summary> /// Closes the measurer /// </summary> internal override void CloseMeasurer() { if (Coordinates.Count == 0) { // No Coordinates; so not drawing; clear everything Clear(); } else if (Coordinates.Count <= 2) { if (_elements.Count > 1) { Coordinates.Clear(); LastCoordinate = null; LastMouseCoordinate = null; _elements.RemoveAt(_elements.Count - 1); var element = new FreeElement(); element.OnCSUnitsPerPixelChanged(this.CSUnitsPerPixel); _elements.Add(element); CreateFeatureGeometry(); } else { Clear(); } } else { ActiveCollection.Close(); EndMeasuring(); Coordinates.Clear(); LastCoordinate = null; LastMouseCoordinate = null; } }
private void SetCapacity(int cap) { FreeElement[] new_array = new FreeElement[cap]; Array.Copy(_data, 0, new_array, 0, Capacity); _data = new_array; }