private int GetProximaProgramacion(Sentido sentido) { IDictionary <int, bool> programacion = sentido == Sentido.IDA ? ProgramacionIda : ProgramacionVuelta; int minHoraProgramada = int.MinValue; foreach (KeyValuePair <int, bool> kvp in programacion) { if (!kvp.Value) { minHoraProgramada = kvp.Key; break; } } if (minHoraProgramada == int.MinValue) { LimpiarProgramacion(programacion); minHoraProgramada = programacion.Keys.First(); if (sentido == Sentido.IDA) { AcumDiasIda++; } else { AcumDiasVuelta++; } } return(minHoraProgramada + (sentido == Sentido.IDA ? AcumDiasIda : AcumDiasVuelta) * 1440); }
// Update is called once per frame void Update() { if (ManoIzq.position.y > ManoDer.position.y) { DirAct = Sentido.Der; Diferencia = ManoIzq.position.y - ManoDer.position.y; } else { DirAct = Sentido.Izq; Diferencia = ManoDer.position.y - ManoIzq.position.y; } if (Diferencia > DifMin && Diferencia < DifMax) { switch (DirAct) { case Sentido.Der: Camion.rotation *= Quaternion.AngleAxis(Diferencia * Sensibilidad * Time.deltaTime, Camion.up); Volante.localRotation *= Quaternion.AngleAxis(Diferencia * Sensibilidad * Time.deltaTime, Vector3.up); //Aux = Volante.localEulerAngles; //Aux.x += Diferencia * Sensibilidad; //Volante.localEulerAngles = Aux; break; case Sentido.Izq: Camion.rotation *= Quaternion.AngleAxis((-1) * Diferencia * Sensibilidad * Time.deltaTime, Camion.up); Volante.localRotation *= Quaternion.AngleAxis((-1) * Diferencia * Sensibilidad * Time.deltaTime, Vector3.up); //Aux = Volante.localEulerAngles; //Aux.x -= Diferencia * Sensibilidad; //Volante.localEulerAngles = Aux; break; } } }
private void CalculaSentido() { Sentido sentidoX, sentidoY; if (FinX == InicioX) { sentidoX = Sentido.Centro; } else { sentidoX = FinX > InicioX ? Sentido.Derecha : Sentido.Izquierda; } if (FinY == InicioY) { sentidoY = Sentido.Centro; } else { sentidoY = FinY > InicioY ? Sentido.Arriba : Sentido.Abajo; } //miro el sentido if (sentidoX == Sentido.Centro) { sentido = sentidoY; } else if (sentidoY == Sentido.Centro) { sentido = sentidoX; } else { sentido = (Sentido)(int)sentidoX + (int)sentidoY; } }
static bool AdicionaSondas(int numeroSondas, out string xMsg) { if (!ValidarNumeroSondas(numeroSondas, out xMsg)) { return(false); } for (int i = 0; i < numeroSondas; i++) { Console.WriteLine(string.Format("Digite o nome da {0}º Sonda", new object[] { (i + 1) })); string nomeSonda = Console.ReadLine(); if (string.IsNullOrEmpty(nomeSonda)) { Console.WriteLine("*** AVISO DEVIDO NOMES INVÁLIDOS ESTA SONDA SERÁ IGNORADA "); continue; } Console.WriteLine("Digite o eixo X do Planalto"); int xPlanalto = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Digite o eixo Y do Planalto"); int yPlanalto = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Digite o eixo X da Localização da Sonda"); int xSonda = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Digite o eixo Y da Localização da Sonda "); int ySonda = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Qual a Direção da Sonda ? (N Para norte, S para SUL, L para LESTE , O para Oeste) "); string direcao = Console.ReadLine(); Sentido sentido = Sentido.Norte; switch (direcao.ToUpper()) { case "N": sentido = Sentido.Norte; break; case "S": sentido = Sentido.Sul; break; case "L": sentido = Sentido.Leste; break; case "O": sentido = Sentido.Oeste; break; } Sonda sonda = Sonda.EfetuarLancamento(nomeSonda, new Coordenadas(xPlanalto, yPlanalto), new Localizacao(new Coordenadas(xSonda, ySonda), sentido)); sondas.Add(sonda); } return(true); }
public Vector(int inicioX = 0, int inicioY = 0, int finX = 0, int finY = 0, Sentido sentido = Sentido.Centro) { this.inicioY = inicioY; this.inicioX = inicioX; this.finX = finX; this.finY = finY; this.sentido = sentido; }
public ActionResult Edit([Bind(Include = "Id,Descripcion,Estado,FechaDeInicio,FechaDeFin")] Sentido sentido) { if (ModelState.IsValid) { db.Entry(sentido).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(sentido)); }
// TODO esto iniciaría todas las formaciones con sentiodo IDA public Formacion(Servicio servicio) { this.Pasajeros = 0; this.EstacionActual = servicio.Desde; this.EstacionDestino = servicio.Hasta; this.SentidoActual = Sentido.IDA; this.Servicio = servicio; this.PasoPorMantenimiento = false; this.EstaEnMantenimiento = false; }
public ActionResult RealDeleteConfirmed(string id) { Sentido sentido = db.SENTIDO.Find(id); db.SENTIDO.Remove(sentido); db.SaveChanges(); TempData["Type"] = "error"; TempData["Message"] = "El registro se eliminó correctamente"; return(RedirectToAction("Index")); }
public virtual void AddTiempoComprometido(Sentido sentido, int tiempoComprometido) { if (sentido == Formacion.Sentido.IDA) { TiempoComprometidoSentidoIda += tiempoComprometido; } else { TiempoComprometidoSentidoVuelta += tiempoComprometido; } }
public virtual void SetTiempoComprometido(Sentido sentido, long tiempoComprometido) { if (sentido == Formacion.Sentido.IDA) { TiempoComprometidoSentidoIda = tiempoComprometido; } else { TiempoComprometidoSentidoVuelta = tiempoComprometido; } }
public virtual long SetTiempoComprometido(Sentido sentido, long t, int tiempoDeViaje, int tiempoAtencion) { if (this.GetTiempoComprometido(sentido) < t + tiempoDeViaje) { this.SetTiempoComprometido(sentido, t + tiempoDeViaje + tiempoAtencion); return(t + tiempoDeViaje + tiempoAtencion); } else { this.AddTiempoComprometido(sentido, tiempoAtencion); return(this.GetTiempoComprometido(sentido)); } }
// GET: Sentidoes/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Sentido sentido = db.SENTIDO.Find(id); if (sentido == null) { return(HttpNotFound()); } return(View(sentido)); }
public virtual void InvertirSentido() { if (SentidoActual == Sentido.IDA) { this.EstacionDestino = this.Servicio.Desde; this.SentidoActual = Sentido.VUELTA; } else { this.EstacionDestino = this.Servicio.Hasta; this.SentidoActual = Sentido.IDA; } this.InvertirSentidoFlag = false; }
public ActionResult DeleteConfirmed(string id) { Sentido sentido = db.SENTIDO.Find(id); if (sentido.Estado == "I") { sentido.Estado = "A"; } else { sentido.Estado = "I"; } db.SaveChanges(); return(RedirectToAction("Index")); }
// retorna o proximo node em alguma direção private Node GetNextNode(Node ANode, Axis nextAxis, Sentido sentido) { List <Node> LNodes = new List <Node>(); if (nextAxis == Axis.X) // se quiser pegar na mesma linha { // pega os nodes da msm linha LNodes = Nodes.Where(t => ((Pixel)t.Info).Position.Y == ((Pixel)ANode.Info).Position.Y).ToList(); // se quiser o proximo da direita if (sentido == Sentido.Maior) { // pega os de X maior que o atual e ordena LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.X > ((Pixel)ANode.Info).Position.X) .OrderBy(t => ((Pixel)t.Info).Position.X).ToList(); } else // se quiser o da esquerda { // pega os de X menor e coloca na ordem inversa (pq quero o ultimo) LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.X < ((Pixel)ANode.Info).Position.X) .OrderByDescending(t => ((Pixel)t.Info).Position.X).ToList(); } } else // se quiser pegar na mesma coluna { // pego os nodes da msm coluna LNodes = Nodes.Where(t => ((Pixel)t.Info).Position.X == ((Pixel)ANode.Info).Position.X).ToList(); // se quiser o de baixo if (sentido == Sentido.Maior) { // pego os de Y maior e ordeno LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.Y > ((Pixel)ANode.Info).Position.Y) .OrderBy(t => ((Pixel)t.Info).Position.Y).ToList(); } else // se quiser o de cima { // pego o de Y menor e ordeno ao contrario, quero o ultimo da lista LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.Y < ((Pixel)ANode.Info).Position.Y) .OrderByDescending(t => ((Pixel)t.Info).Position.Y).ToList(); } } return(LNodes.FirstOrDefault()); }
public static Localizacao ProcessarComando(Coordenadas Planalto, Localizacao LocalicaoAtual, List <Comando> ComandosExecutados) { int x = LocalicaoAtual.Coordenadas.x; int y = LocalicaoAtual.Coordenadas.y; Sentido sentido = LocalicaoAtual.Direcao; foreach (Comando comando in ComandosExecutados) { switch (comando) { case Comando.Avancar: switch (sentido) { case Sentido.Sul: y--; break; case Sentido.Norte: y++; break; case Sentido.Leste: x++; break; case Sentido.Oeste: x--; break; } break; default: sentido = MudarDirecao(sentido, comando); break; } y = ValidarValores(y, Planalto.y, 0); x = ValidarValores(x, Planalto.x, 0); } return(new Localizacao(new Coordenadas(x, y), sentido)); }
public static Bitmap AplicarEfeito(Bitmap bitmap, object parameter) { Sentido sentido = (Sentido)Enum.Parse(typeof(Sentido), parameter.ToString()); switch (sentido) { case Sentido.Direita: return(GirarDireita(bitmap)); case Sentido.Esquerda: return(GirarEsquerda(bitmap)); case Sentido.Vertical: return(Inverter(bitmap)); case Sentido.Horizontal: return(EspelharImagem(bitmap)); } return(bitmap); }
public virtual Tramo GetTramo(Estacion estacionActual, Sentido sentido) { Tramo proximoTramo; if (sentido == Sentido.IDA) { proximoTramo = Tramos.First(x => x.EstacionOrigen == estacionActual); } else { proximoTramo = Tramos.First(x => x.EstacionDestino == estacionActual); Tramo tramoInvertido = new Tramo { Distancia = proximoTramo.Distancia, TiempoViaje = proximoTramo.TiempoViaje, EstacionOrigen = proximoTramo.EstacionDestino, EstacionDestino = proximoTramo.EstacionOrigen }; proximoTramo = tramoInvertido; } return(proximoTramo); }
private static Sentido MudarDirecao(Sentido DirecaoAtual, Comando ComandoAtual) { int valormaximo = Enum.GetValues(typeof(Sentido)).Cast <int>().Max(); int valoratual = (int)DirecaoAtual; switch (ComandoAtual) { case Comando.Esquerda: if (valoratual <= 0) { valoratual = valormaximo; } else { valoratual--; } break; case Comando.Direita: if (valoratual >= valormaximo) { valoratual = 0; } else { valoratual++; } break; } Sentido retorno = (Sentido)Enum.ToObject(typeof(Sentido), valoratual); return(retorno); }
public ActionResult Create([Bind(Include = "Id,Descripcion,Estado,FechaDeInicio,FechaDeFin")] Sentido sentido) { if (ModelState.IsValid) { db.SENTIDO.Add(sentido); string mensaje = Verificar(sentido.Id); if (mensaje == "") { db.SaveChanges(); TempData["Type"] = "success"; TempData["Message"] = "El registro se realizó correctamente"; return(RedirectToAction("Index")); } else { ViewBag.Type = "warning"; ViewBag.Message = mensaje; return(View(sentido)); } } return(View(sentido)); }
// Update is called once per frame void Update() { switch (InputAct) { case TipoInput.Mouse: if (Habilitado) { gameObject.SendMessage("SetGiro", MousePos.Relation(MousePos.AxisRelation.Horizontal)); //debe ser reemplanado } break; case TipoInput.Kinect: //print("Angulo: "+Angulo()); /* * if(ManoIzq.position.y > ManoDer.position.y) * { * DirAct = Sentido.Der; * Diferencia = ManoIzq.position.y - ManoDer.position.y; * } * else * { * DirAct = Sentido.Izq; * Diferencia = ManoDer.position.y - ManoIzq.position.y; * } */ if (ManoIzq.position.y > ManoDer.position.y) { DirAct = Sentido.Der; } else { DirAct = Sentido.Izq; } switch (DirAct) { case Sentido.Der: if (Angulo() <= MaxAng) { Giro = Angulo() / (MaxAng + DesSencibilidad); } else { Giro = 1; } if (Habilitado) { gameObject.SendMessage("SetGiro", Giro); //debe ser reemplanado } break; case Sentido.Izq: if (Angulo() <= MaxAng) { Giro = (Angulo() / (MaxAng + DesSencibilidad)) * (-1); } else { Giro = (-1); } if (Habilitado) { gameObject.SendMessage("SetGiro", Giro); //debe ser reemplanado } break; } break; case TipoInput.AWSD: if (Habilitado) { if (Input.GetKey(KeyCode.A)) { gameObject.SendMessage("SetGiro", -1); } if (Input.GetKey(KeyCode.D)) { gameObject.SendMessage("SetGiro", 1); } } break; case TipoInput.Arrows: if (Habilitado) { if (Input.GetKey(KeyCode.LeftArrow)) { gameObject.SendMessage("SetGiro", -1); } if (Input.GetKey(KeyCode.RightArrow)) { gameObject.SendMessage("SetGiro", 1); } } break; } }
public Sensor(int IncreaseTimePerMinute, Sentido sentido) { ClockAddTime = IncreaseTimePerMinute; _sentido = sentido; }
public virtual long GetTiempoComprometido(Sentido sentido) { return(sentido == Formacion.Sentido.IDA ? TiempoComprometidoSentidoIda : TiempoComprometidoSentidoVuelta); }
public Localizacao(Coordenadas Coordenadas, Sentido Direcao) { this.Coordenadas = Coordenadas; this.Direcao = Direcao; }
private void MonitoraJoystick() { while (true) { if (DateTime.Now - captTime > TimeSpan.FromSeconds(3)) { // Obtemos os IDs dos joysticks conectados (DRIX_GetConnectedJoystickIDs retorna uma string contendo os IDs separados pelo caracter espaço). string strIDs = Marshal.PtrToStringAnsi(DRIX_GetConnectedJoystickIDs()); if (string.IsNullOrEmpty(strIDs)) { // TODO: Exibir mensagem alertando que não há joystick conectado ao computador. Dispatcher.Invoke(new Action(() => { dTmr.IsEnabled = false; txtbStatus.Foreground = new SolidColorBrush(Colors.Red); txtbStatus.Text = "Joystick não detectado"; txtbSentidoDescricao.Visibility = Visibility.Collapsed; txtbSentido.Visibility = Visibility.Collapsed; recImagemDisp.Visibility = Visibility.Collapsed; txtbTempo.Visibility = Visibility.Collapsed; txtbToques.Visibility = Visibility.Collapsed; txtbPosicao.Visibility = Visibility.Collapsed; txtbMsgInicial.Visibility = Visibility.Collapsed; gridCen.Background = new SolidColorBrush(Colors.Transparent); })); if (JoyID != null) { DRIX_ReleaseJoystick(JoyID); } JoyID = null; continue; } string[] IDs = strIDs.Split(' '); if (IDs.Length > 1) { // TODO: Exibir mensagem alertando que há mais de 1 joystick conectado ao computador. Dispatcher.Invoke(new Action(() => { dTmr.IsEnabled = false; txtbStatus.Foreground = new SolidColorBrush(Colors.Red); txtbStatus.Text = "Conflito: Múltiplos joysticks detectados"; txtbSentidoDescricao.Visibility = Visibility.Collapsed; txtbSentido.Visibility = Visibility.Collapsed; recImagemDisp.Visibility = Visibility.Collapsed; txtbTempo.Visibility = Visibility.Collapsed; txtbToques.Visibility = Visibility.Collapsed; txtbPosicao.Visibility = Visibility.Collapsed; txtbMsgInicial.Visibility = Visibility.Collapsed; gridCen.Background = new SolidColorBrush(Colors.Transparent); })); if (JoyID != null) { DRIX_ReleaseJoystick(JoyID); } JoyID = null; continue; } Dispatcher.Invoke(new Action(() => { txtbStatus.Foreground = new SolidColorBrush(Colors.Green); txtbStatus.Text = "Joystick detectado"; if (txtbTempo.Visibility == Visibility.Collapsed) { txtbMsgInicial.Visibility = Visibility.Visible; //txtbMsgInicial.Text = "Pressione um dos botões para iniciar"; } })); if (JoyID == null) { if (DRIX_CreateJoystickDevice(IDs[0])) { } JoyID = IDs[0]; } else { if (IDs[0] != JoyID) { DRIX_ReleaseJoystick(JoyID); if (DRIX_CreateJoystickDevice(IDs[0])) { } JoyID = IDs[0]; } } captTime = DateTime.Now; } if (JoyID != null) { bool B1 = DRIX_ReadJoystickState(JoyID, 1) > 0 ? true : false; bool B2 = DRIX_ReadJoystickState(JoyID, 2) > 0 ? true : false; bool B3 = DRIX_ReadJoystickState(JoyID, 3) > 0 ? true : false; bool B4 = DRIX_ReadJoystickState(JoyID, 4) > 0 ? true : false; int h = DRIX_ReadJoystickState(JoyID, 101); bool dEsq = h == -1000 ? true : false; if (B2) { sentido = Sentido.AB; PrepararSentido(); } else if (B4) { sentido = Sentido.BA; PrepararSentido(); } else if (dEsq) { if (sentido == Sentido.AB) { IniciarJogo(); } else { FinalizarJogo(); } } else if (B1) { if (sentido == Sentido.BA) { IniciarJogo(); } else { FinalizarJogo(); } } else if (B3) { Toque(); } else { Dispatcher.Invoke(new Action(() => { gridCen.Background = new SolidColorBrush(Colors.Transparent); txtbTempo.Foreground = new SolidColorBrush(Colors.Gray); txtbToques.Foreground = txtbTempo.Foreground; txtbSentido.Foreground = txtbTempo.Foreground; txtbSentidoDescricao.Foreground = txtbTempo.Foreground; recImagemDisp.Fill = txtbTempo.Foreground; })); } } Thread.Sleep(20); } }
private void SalvarDados() { if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblNomeLinha") == null) { ClickBotao(); return; } string nomeSentido = webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblNomeDestino").InnerHtml; Sentido sentido=null; foreach (Sentido sentido1 in rotaAtual.Sentidos.Where(sentido1 => sentido1.Nome == nomeSentido)) { sentido = sentido1; } if(sentido == null) { sentido = new Sentido(); rotaAtual.Sentidos.Add(sentido); } sentido.Nome = nomeSentido; Dia dia = null; string nomeDia = webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblDia").InnerHtml; foreach ( Dia d in sentido.Dias.Where(d2=>d2.Nome == nomeDia)) { dia = d; } if(dia == null) { dia = new Dia(); sentido.Dias.Add(dia); } dia.Nome = nomeDia; string valorBase = string.Format(""); listBox2.Items.Add(webBrowser1.Document.GetElementById( "ctl00_ContentPlaceHolder3_lblNomeLinha").InnerHtml); listBox3.Items.Add(webBrowser1.Document.GetElementById( "ctl00_ContentPlaceHolder3_lblNomeDestino").InnerHtml); listBox4.Items.Add(webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblDia"). InnerHtml); listBox2.SelectedIndex = listBox2.Items.Count - 1; listBox3.SelectedIndex = listBox3.Items.Count - 1; listBox4.SelectedIndex = listBox4.Items.Count - 1; if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView1") != null) { int x = 0; string valor = ""; Horario horario = new Horario(); foreach ( HtmlElement VARIABLE in webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView1"). GetElementsByTagName("td")) { switch (x) { case 0: //partida valor += VARIABLE.InnerHtml; horario.Partida = VARIABLE.InnerHtml; break; case 1: //chegada valor += " - " + VARIABLE.InnerHtml; horario.Chegada = VARIABLE.InnerHtml; break; case 2: // obs if (VARIABLE.InnerHtml != " ") { valor += " - " + VARIABLE.InnerHtml; horario.Observacao = VARIABLE.InnerHtml; } listBox1.Items.Add(valor); valor = valorBase; break; } if (x == 2) { dia.Horarios.Add(new Horario() { Chegada = horario.Chegada, Partida = horario.Partida, Observacao = horario.Observacao }); horario = new Horario(); x = 0; } else x++; } } if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView2") != null) { listBox2.Items.Add(valorBase); if (sentido.Etinerario.Count == 0) { foreach ( HtmlElement VARIABLE in webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView2"). GetElementsByTagName("td")) { sentido.Etinerario.Add(VARIABLE.InnerHtml); listBox2.Items.Add(VARIABLE.InnerHtml); } } } if (origemAtual < rotaAtual.Origens.Count) { origemAtual++; situacao = SELECT_ORIGEM; } else { origemAtual = 0; JSONSerialize(rotaAtual); listBox1.Refresh(); listBox2.Refresh(); situacao = SELECT_ROTA; } return; }
private void CalculaSentido() { Sentido sentidoX, sentidoY; if (FinX == InicioX) sentidoX = Sentido.Centro; else sentidoX = FinX > InicioX ? Sentido.Derecha : Sentido.Izquierda; if (FinY == InicioY) sentidoY = Sentido.Centro; else sentidoY = FinY > InicioY ? Sentido.Arriba : Sentido.Abajo; //miro el sentido if (sentidoX == Sentido.Centro) sentido = sentidoY; else if (sentidoY == Sentido.Centro) sentido = sentidoX; else sentido = (Sentido)(int)sentidoX + (int)sentidoY; }