Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception: Index was outside the bounds of the array #253

Closed
DaveInCaz opened this issue Dec 24, 2019 · 1 comment
Closed

Exception: Index was outside the bounds of the array #253

DaveInCaz opened this issue Dec 24, 2019 · 1 comment
Assignees
Milestone

Comments

@DaveInCaz
Copy link
Contributor

I received an exception using https://github.com/EchoParkLabs/geometry-api-cs which is a port of this library, so I'm not sure if reporting it here will be useful or not. Here are the details in case it is...

I received the exception below on a line like this:

var results = com.epl.geometry.GeometryEngine.Cut(polyline1, polyline2, null);

The problem seemed to be related to the fact that:

  • polyline1 and polyline2 contained the same sequence of two points
  • The start & end points of each polyline were the same

Specifically, each polyline ran from {610, 552} to {610, 552}.

(This has been reproduced also with alternative numeric values).

image

   at com.epl.geometry.MultiVertexGeometryImpl.GetXY(Int32 index, Point2D pt)
   at com.epl.geometry.MultiVertexGeometryImpl.GetXY(Int32 index)
   at com.epl.geometry.EditShape.GetXY(Int32 vertex, Point2D ptOut)
   at com.epl.geometry.Cutter._getCutEvents(Int32 orderIndex, EditShape editShape)
   at com.epl.geometry.Cutter.CutPolyline(Boolean bConsiderTouch, Polyline cuttee, Polyline cutter, Double tolerance, List`1 cutPairs, AttributeStreamOfInt32 segmentCounts, ProgressTracker progressTracker)
   at com.epl.geometry.OperatorCutCursor.Generate_polyline_cuts_()
   at com.epl.geometry.OperatorCutCursor.GenerateCuts_()
   at com.epl.geometry.OperatorCutCursor.Next()
   at com.epl.geometry.GeometryEngine.Cut(Geometry cuttee, Polyline cutter, SpatialReference spatialReference)
   at Carrier.HAP.BuildingGeometry.GeometryProcessor.<SplitLine>d__7.MoveNext() in D:\hggeom\libraries\HAPCalcNxG\Source\Configuration\Buildings\GeometryProcessor.cs:line 73
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   at Carrier.HAP.BuildingGeometry.GeometryProcessor.PrepareBuildingForInput(IntegerLine input) in D:\hggeom\libraries\HAPCalcNxG\Source\Configuration\Buildings\GeometryProcessor.cs:line 140
   at Carrier.HAP.BuildingGeometry.GeometryProcessor.AddGeometry(IntegerLine rawInput) in D:\hggeom\libraries\HAPCalcNxG\Source\Configuration\Buildings\GeometryProcessor.cs:line 198
   at Carrier.HAP.PolylineTool.ProcessPolylineIntoRepository() in D:\hggeom\libraries\HAPGUI600\Source\FloorPlan\PolylineTool.cs:line 238
   at Carrier.HAP.PolylineTool.ConcludeCapturing() in D:\hggeom\libraries\HAPGUI600\Source\FloorPlan\PolylineTool.cs:line 129
   at Carrier.HAP.PolylineTool.MouseLeftButtonDownHandler(Object sender, MouseButtonEventArgs e) in D:\hggeom\libraries\HAPGUI600\Source\FloorPlan\PolylineTool.cs:line 78
   at Carrier.HAP.FloorplanControl.mainCanvas_MouseLeftButtonDown(Object sender, MouseButtonEventArgs e) in D:\hggeom\libraries\HAPGUI600\Source\FloorPlan\FloorplanControl.xaml.cs:line 159
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ThreadContext.LocalModalMessageLoop(Form form)
@stolstov
Copy link
Member

stolstov commented Jan 7, 2020

@DaveInCaz I can reproduce this crash in java. Thank you for reporting this. We'll provide a fix here in geometry-api-java.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants