public override bool ProcessMouseButtonUp(CanonicalMouseEventArgs e, InteractionContext context) { bool isActive = this.IsActive; if (this.IsActive) { WW.Math.Point2D position = e.Position; WW.Math.Point2D vertex = context.InverseProjectionTransform.TransformTo2D(position); if (this.dxfLwPolyline_0.Vertices.Count > 0 && WW.Math.Point2D.AreApproxEqual(context.ProjectionTransform.TransformTo2D(this.dxfLwPolyline_0.Vertices[0].Position), position, this.double_0)) { this.dxfLwPolyline_0.Closed = true; this.Deactivate(); } if (this.IsActive) { this.dxfLwPolyline_0.Vertices.Add(vertex); if (e.LeftButtonDown) { if (this.dxfLwPolyline_0.Vertices.Count == 1) { this.node_0 = new WW.Cad.Drawing.Node((WW.Math.Point3D)vertex); this.dxfLwPolyline_0.Vertices.Add(vertex); } this.OnChanged((EventArgs)null); } else if (e.RightButtonDown) { this.Deactivate(); } } } return(isActive); }
public override bool ProcessMouseButtonUp(CanonicalMouseEventArgs e, InteractionContext context) { bool isActive = this.IsActive; if (this.IsActive) { WW.Math.Point2D position1 = e.Position; WW.Math.Point3D position2 = context.InverseProjectionTransform.TransformTo3D(position1); if (this.node_0 == null) { this.dxfLine_0.Start = position2; this.node_0 = new WW.Cad.Drawing.Node(position2); this.OnChanged((EventArgs)null); } else { this.dxfLine_0.End = position2; this.Deactivate(); } } return(isActive); }
protected override void OnDeactivated(EventArgs e) { this.dxfModel_0 = (DxfModel)null; this.node_0 = (WW.Cad.Drawing.Node)null; base.OnDeactivated(e); }