//private void AddPointFromMouse(int mouseX, int mouseY) //{ // double x = ConvertX(mouseX); // double y = ConvertY(mouseY); // var series = chart1.Series.First(); // series.Points.AddXY(x, y); // series.Sort(PointSortOrder.Ascending, "X"); // CallOnChangePoint(series.Points); //} private void SetCursorPositionFromMouse(int mouseX) { double x = ConvertX(mouseX); var area = chart1.ChartAreas.First(); area.CursorX.Position = x; ChangedPosition?.Invoke(x); }
private void Timer_Tick(object sender, EventArgs e) { var p = CursorPosition.GetCursorPosition(); if (Temp != p) { Temp = p; ChangedPosition?.Invoke(p, null); } }
public void Uniforms_OnAdd(object sender, string uniformName) { if (string.IsNullOrEmpty(uniformName)) { return; } var uniforms = sender as IUniforms; if (ReferenceEquals(null, uniforms)) { return; } var kfs = uniforms.GetKeyFrames(uniformName); var visualisation = new FacadeKeyframesVisualisation(uniformName, kfs); visualisation.ChangedPosition += (position) => ChangedPosition?.Invoke(position); visualisation.KeyDown += (s, a) => { KeyDown?.Invoke(s, a); }; graphs.Add(uniformName, visualisation); }
public FacadeKeyframesVisualisation(string uniformName, IKeyFrames kfs) { formGraph = new FormGraph(uniformName); formGraph.ChangedPoints += FormGraph_OnChangePoints; formGraph.ChangedPosition += (pos) => { ChangedPosition?.Invoke((float)pos); }; formGraph.KeyDown += (sender, args) => { KeyDown?.Invoke(sender, args); }; formGraph.CopyCommand += (sender, args) => { if (!ReferenceEquals(null, kfs)) { kfs.CopyKeyframesToClipboard(); } }; formGraph.PasteCommand += (sender, args) => { if (!ReferenceEquals(null, kfs)) { kfs.PasteKeyframesFromClipboard(); } }; currentUniform = uniformName; this.kfs = kfs; Update(); }
private void MoveNode(float timeStep, IInputPermissions inputPermissions, string key) { var prevPos = Node.Position; //move by keyboard var input = Application.Input; if (inputPermissions.CanUseKeyboard) { if (input.GetKeyDown(Key.W)) { Node.Translate(Vector3.UnitZ * MoveSpeed * timeStep, TransformSpace.Local); } if (input.GetKeyDown(Key.S)) { Node.Translate(-Vector3.UnitZ * MoveSpeed * timeStep, TransformSpace.Local); } if (input.GetKeyDown(Key.A)) { Node.Translate(-Vector3.UnitX * MoveSpeed * timeStep, TransformSpace.Local); } if (input.GetKeyDown(Key.D)) { Node.Translate(Vector3.UnitX * MoveSpeed * timeStep, TransformSpace.Local); } if (input.GetKeyDown(Key.C)) { Node.Translate(-Vector3.UnitY * MoveSpeed * timeStep, TransformSpace.Local); } if (input.GetKeyDown(Key.E)) { Node.Translate(Vector3.UnitY * MoveSpeed * timeStep, TransformSpace.Local); } } //move by mouse var mousePos = input.GetMousePositionOrTouchPosition(_usingTouch); if (_prevMousePos != mousePos) { _prevMousePos = mousePos; if (inputPermissions.CanUseMouse) { var camera = (Application as App).CameraNode.GetComponent <Camera>(); var graphics = Application.Graphics; Ray ray = camera.GetScreenRay((float)mousePos.X / graphics.Width, (float)mousePos.Y / graphics.Height); var dist = ray.HitDistance(_plane); var pos = (ray.Direction * dist) + ray.Origin; pos = pos + _offset; //constrain to selected axes switch (key) { case "x": pos = new Vector3(pos.X, Node.Position.Y, Node.Position.Z); break; case "y": pos = new Vector3(Node.Position.X, pos.Y, Node.Position.Z); break; case "z": pos = new Vector3(Node.Position.X, Node.Position.Y, pos.Z); break; } Node.Position = pos; } } //fire event if (prevPos != Node.Position) { ChangedPosition?.Invoke(this, new TranformGizmoEventArgs() { X = Node.Position.X, Y = Node.Position.Y, Z = Node.Position.Z }); } }