Exemple #1
0
        public void PulsoTStart()
        {
            Point3d insPt;

            Boolean[] data = new Boolean[]
            {
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false,
                false, true, false, true, false, true, false, true
            };
            int pulsoSize;

            if (Selector.Point("Selecciona el punto de inserción del pulso", out insPt) &&
                Selector.Integer("El tamaño del pulso", out pulsoSize, 4))
            {
                Boolean[] input = new Boolean[pulsoSize];
                for (int i = 0; i < input.Length; i++)
                {
                    input[i] = data[i];
                }
                Pulso p = new Pulso(insPt, input);
                TransactionWrapper tr = new TransactionWrapper();
                tr.Run(DPulsoTask, new Object[] { p });
            }
        }
Exemple #2
0
        public void Rotacionar_RotacaoPermitida_RetornaTrue()
        {
            var pulso     = new Pulso();
            var resultado = pulso.Rotacionar(Movimento.Positivo, (int)EstadoCotovelo.FortementeContraido);

            Assert.IsTrue(resultado);
        }
Exemple #3
0
        public void DPulso()
        {
            Point3d insPt;
            Random  r = new Random((int)DateTime.Now.Ticks);

            Boolean[] data = new Boolean[]
            {
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true,
                false, true, false, true, false, true, false, true
            };
            int pulsoSize;

            if (Selector.Point("Selecciona el punto de inserción del pulso", out insPt) &&
                Selector.Integer("El tamaño del pulso", out pulsoSize, 4))
            {
                Boolean[] input = new Boolean[pulsoSize];
                for (int i = 0; i < input.Length; i++)
                {
                    input[i] = data[r.Next(data.Length - 1)];
                }
                Pulso p = new Pulso(insPt, input);
                TransactionWrapper tr = new TransactionWrapper();
                tr.Run(DPulsoTask, new Object[] { p });
            }
        }
Exemple #4
0
        public void Cabeca_PropriedadesNaoNulas_NaoNulosComEstadosEmRepouso()
        {
            var pulso = new Pulso();

            Assert.IsNotNull(pulso);
            Assert.AreEqual(0, pulso.EstadoAtualRotacao);
        }
Exemple #5
0
        public void Pulso_AnteriorEstadoDeveSerNeg45_RetornarVerdadeiro()
        {
            Pulso Pulso = new Pulso();

            PulsoEstadoEnum Estado = Pulso.AnteriorEstado;

            Assert.AreEqual(PulsoEstadoEnum.Neg_45, Estado);
        }
Exemple #6
0
        public void Pulso_ProximoEstadoDeveSerPos45_RetornarVerdadeiro()
        {
            Pulso Pulso = new Pulso();

            PulsoEstadoEnum Estado = Pulso.ProximoEstado;

            Assert.AreEqual(PulsoEstadoEnum.Pos_45, Estado);
        }
Exemple #7
0
        public void Pulso_EstadoPadraoEmRepouso_RetornarVerdadeiro()
        {
            Pulso Pulso = new Pulso();

            PulsoEstadoEnum Estado = Pulso.EstadoAtual;

            Assert.AreEqual(PulsoEstadoEnum.EmRepouso, Estado);
        }
Exemple #8
0
        public void Rotacionar_RotacaoPulsoAtingiuLimiteMinimo_RetornaFalse()
        {
            var pulso = new Pulso();

            var resultado = pulso.Rotacionar(Movimento.Negativo, (int)LimitesRotacaoPulso.ValorMinimo);

            Assert.IsFalse(resultado);
        }
Exemple #9
0
        public Braco(Lados lado)
        {
            ladoIndex = lado;
            string prefixoId = lado == Lados.direito ? "bracoDireito": "bracoEsquerdo";

            prefixoId += '.';
            pulso      = new Pulso(prefixoId);
            cotovelo   = new Cotovelo(prefixoId);
        }
Exemple #10
0
        public void Rotacionar_CotoveloSemContracaoSuficiente_RetornaFalse()
        {
            var pulso      = new Pulso();
            var resultado  = pulso.Rotacionar(Movimento.Positivo, (int)EstadoCotovelo.LevementeContraido);
            var resultado2 = pulso.Rotacionar(Movimento.Positivo, (int)EstadoCotovelo.Contraido);
            var resultado3 = pulso.Rotacionar(Movimento.Positivo, (int)EstadoCotovelo.EmRepouso);

            Assert.IsFalse(resultado);
            Assert.IsFalse(resultado2);
            Assert.IsFalse(resultado3);
        }
        private object TestCompuertaTask(Document doc, Transaction tr, object[] input)
        {
            Compuerta cmp = (Compuerta)input[0];

            cmp.InitBox();
            Polyline p1 = ((ObjectId)input[1]).GetObject(OpenMode.ForRead) as Polyline;
            Polyline p2 = ((ObjectId)input[2]).GetObject(OpenMode.ForRead) as Polyline;
            Point3d  pt1 = (Point3d)input[3];
            Point3d  pt2 = (Point3d)input[4];
            String   zoneA, zoneB;
            //No nos interesa en este ejemplo las coordenadas
            Point3dCollection zone;

            cmp.GetZone(pt1, out zoneA, out zone);
            cmp.GetZone(pt2, out zoneB, out zone);
            InputValue inA = new InputValue()
            {
                Name = zoneA, Value = Pulso.GetValues(p1)
            },
                       inB = new InputValue()
            {
                Name = zoneB, Value = Pulso.GetValues(p2)
            };

            Boolean[] result = cmp.Solve(inA, inB);
            Drawer    d      = new Drawer(tr);
            Point3d   pt;

            if (Selector.Point("Selecciona el punto de inserción de la salida", out pt))
            {
                Pulso p = new Pulso(pt, result);
                p.Draw(d);
                Line lA = new Line(p1.EndPoint, cmp.ConnectionPoints[inA.Name]),
                     lB = new Line(p2.EndPoint, cmp.ConnectionPoints[inB.Name]),
                     lO = new Line(pt, cmp.ConnectionPoints["OUTPUT"]);
                d.Entities(lA, lB, lO);
                cmp.SetData(tr, doc, inA.Value.LastOrDefault(), inB.Value.LastOrDefault());
            }
            return(null);
        }
Exemple #12
0
 public Braco()
 {
     Cotovelo = new Cotovelo();
     Pulso    = new Pulso();
 }
        /// <summary>
        /// Tests the connection task.
        /// </summary>
        /// <param name="doc">The document.</param>
        /// <param name="tr">The tr.</param>
        /// <param name="input">The input.</param>
        private object TestConnectionTask(Document doc, Transaction tr, object[] input)
        {
            Compuerta cmp = input[0] as Compuerta;
            Editor    ed  = Application.DocumentManager.MdiActiveDocument.Editor;

            if (((ObjectId)input[1]).IsValid && ((ObjectId)input[2]).IsValid)
            {
                DBObject cableA = ((ObjectId)input[1]).GetObject(OpenMode.ForRead);
                DBObject cableB = ((ObjectId)input[2]).GetObject(OpenMode.ForRead);
                if (cableA is Line && cableB is Line)
                {
                    Cable cabA    = new Cable(cableA as Line),
                          cabB    = new Cable(cableB as Line);
                    ObjectId pAId = cabA.Search(true).OfType <ObjectId>().FirstOrDefault(),
                             pBId = cabB.Search(true).OfType <ObjectId>().FirstOrDefault();
                    if (pAId.IsValid && pBId.IsValid)
                    {
                        DBObject pulsoA = pAId.GetObject(OpenMode.ForRead),
                                 pulsoB = pBId.GetObject(OpenMode.ForRead);
                        if (pulsoA is Polyline && pulsoB is Polyline)
                        {
                            var    inputA = Pulso.GetValues(pulsoA as Polyline);
                            var    inputB = Pulso.GetValues(pulsoB as Polyline);
                            bool[] result = cmp.Solve(
                                new InputValue[]
                            {
                                new InputValue()
                                {
                                    Name = "INPUTA", Value = inputA
                                },
                                new InputValue()
                                {
                                    Name = "INPUTB", Value = inputB
                                }
                            });
                            Drawer d      = new Drawer(tr);
                            Pulso  output = new Pulso(cmp.ConnectionPoints["OUTPUT"], result);
                            output.Draw(d);
                        }
                    }
                    if (pAId.IsNull)
                    {
                        ed.WriteMessage("No se encontro un pulso conectado al cable A");
                    }
                    if (pBId.IsNull)
                    {
                        ed.WriteMessage("No se encontro un pulso conectado al cable B");
                    }
                }
            }
            if (((ObjectId)input[1]).IsNull)
            {
                ed.WriteMessage("\nCable A desconectado");
            }
            if (((ObjectId)input[2]).IsNull)
            {
                ed.WriteMessage("\nCable B desconectado");
            }

            return(null);
        }