void IChangedPositionHandler.Handle(ChangedPosition chp) { ChangedPosition oldChp; _positions.TryRemove(chp.Key, out oldChp); _positions.TryAdd(chp.Key, chp); }
public void HandleChangedPosition(ChangedPosition chp) { if (_chpHandler != null) { _chpHandler.Handle(chp); } }
//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(); }
public HttpResponseMessage Post(ChangedPosition chp) { if (!ModelState.IsValid) { return(Request.CreateResponseForInvalidModelState()); } EventService.Instance.HandleChangedPosition(chp); dynamic data = new ExpandoObject(); var locations = new LinkedList <LocationDTO>(); var offers = new LinkedList <dynamic>(); using (var repos = DataRepos.Instance) { foreach (var location in repos.Locations.GetAll().Where(x => double.Parse(x.Lat, CultureInfo.InvariantCulture) < double.Parse(chp.NWCoord.Lat, CultureInfo.InvariantCulture) && double.Parse(x.Lat, CultureInfo.InvariantCulture) > double.Parse(chp.SECoord.Lat, CultureInfo.InvariantCulture) && double.Parse(x.Lng, CultureInfo.InvariantCulture) < double.Parse(chp.SECoord.Lng, CultureInfo.InvariantCulture) && double.Parse(x.Lng, CultureInfo.InvariantCulture) > double.Parse(chp.NWCoord.Lng, CultureInfo.InvariantCulture))) { locations.AddLast(location); var nowMillis = (DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds; foreach (var offer in repos.Offers.GetByLocationId(location.Id, (long)nowMillis)) { offers.AddLast(offer.AddProperty("LocationName", location.Name)); } } } data.Locations = locations.AsQueryable(); data.Offers = offers.AsQueryable(); return(Request.CreateResponse(HttpStatusCode.OK, (object)data)); }
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 }); } }