Performance and resource consumption optimization for G2D picking 64/1964/9
authorjsimomaa <jani.simomaa@gmail.com>
Fri, 27 Jul 2018 07:14:49 +0000 (10:14 +0300)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Mon, 27 Aug 2018 13:46:27 +0000 (13:46 +0000)
commit48135dcd03588783f9c1b688aaa53cdaacba6ef2
tree450e1317e6c3bbd9d9c6c3ecd195cb4fbee01944
parentb75a6bbcc34a3e88f94d04d0389ed0d2e37b6511
Performance and resource consumption optimization for G2D picking

* Scene graph R-tree based spatial optimization of picked
  IElement-material resolution
* Parallel processing for both resolving the elements to pick and
  picking the elements
* Added INode -> IElement map management to ElementPainter to have the
  fastest possible means available in picking for getting from scene
  graph nodes to their corresponding IElement instances.

gitlab #66

Change-Id: I524da0c2695cdda2eb4f0a1fa318f48ff8fcff24
18 files changed:
bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectTool2.java
bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectionEditingSupport.java
bundles/org.simantics.diagram/src/org/simantics/diagram/participant/PointerInteractor2.java
bundles/org.simantics.diagram/src/org/simantics/diagram/participant/RouteGraphConnectTool.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramHints.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramUtils.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/handler/PickRequest.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/handler/impl/PickContextImpl.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementInteractor.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementPainter.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/TerminalPainter.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ZOrderHandler.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/pointertool/BoxSelectionMode.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/pointertool/PointerInteractor.java
bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/pointertool/TerminalUtil.java
bundles/org.simantics.g2d/src/org/simantics/g2d/scenegraph/SceneGraphConstants.java
bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/TerminalInformer.java
bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/spatial/RTreeNode.java