1212using SimpleStateMachineNodeEditor . Helpers ;
1313using SimpleStateMachineNodeEditor . Helpers . Commands ;
1414using SimpleStateMachineNodeEditor . Helpers . Transformations ;
15+ using System . IO ;
1516
1617namespace SimpleStateMachineNodeEditor . ViewModel
1718{
@@ -20,7 +21,7 @@ public class ViewModelNodesCanvas : ReactiveObject
2021 public IObservableCollection < ViewModelConnect > Connects = new ObservableCollectionExtended < ViewModelConnect > ( ) ;
2122 public IObservableCollection < ViewModelNode > Nodes = new ObservableCollectionExtended < ViewModelNode > ( ) ;
2223 [ Reactive ] public ViewModelSelector Selector { get ; set ; } = new ViewModelSelector ( ) ;
23- [ Reactive ] public ViewModelCutter Cutter { get ; set ; } = new ViewModelCutter ( ) ;
24+ [ Reactive ] public ViewModelCutter Cutter { get ; set ; }
2425 [ Reactive ] public ViewModelConnect DraggedConnect { get ; set ; }
2526 [ Reactive ] public ViewModelConnector ConnectorPreviewForDrop { get ; set ; }
2627 [ Reactive ] public ViewModelNode CurrentNode { get ; set ; }
@@ -34,6 +35,8 @@ public ViewModelNodesCanvas()
3435 {
3536 SetupCommands ( ) ;
3637 SetupNodes ( ) ;
38+
39+ Cutter = new ViewModelCutter ( this ) ;
3740 }
3841
3942 #region Setup Nodes
@@ -243,10 +246,14 @@ private void Zoom(object delta)
243246 }
244247 private void CutterIntersect ( )
245248 {
246- MyPoint cutterStartPointDiagonal = MyUtils . GetStartPointDiagonal ( Cutter . StartPoint , Cutter . EndPoint ) / Scale . Value ;
247- MyPoint cutterEndPointDiagonal = MyUtils . GetEndPointDiagonal ( Cutter . StartPoint , Cutter . EndPoint ) / Scale . Value ;
249+ //MyPoint cutterStartPoint = Cutter.StartPoint / Scale.Value;
250+ //MyPoint cutterEndPoint = Cutter.EndPoint / Scale.Value;
251+ MyPoint cutterStartPoint = Cutter . StartPoint ;
252+ MyPoint cutterEndPoint = Cutter . EndPoint ;
253+ //some optimizations
248254 var connects = Connects . Where ( x => MyUtils . Intersect ( MyUtils . GetStartPointDiagonal ( x . StartPoint , x . EndPoint ) , MyUtils . GetEndPointDiagonal ( x . StartPoint , x . EndPoint ) ,
249- cutterStartPointDiagonal , cutterEndPointDiagonal ) ) ;
255+ MyUtils . GetStartPointDiagonal ( Cutter . StartPoint , Cutter . EndPoint ) , MyUtils . GetEndPointDiagonal ( Cutter . StartPoint , Cutter . EndPoint ) ) ) ;
256+ //var connects = Connects;
250257 foreach ( var connect in Connects )
251258 {
252259 connect . Selected = false ;
0 commit comments