示例#1
0
        static void Main(string[] args)
        {
            var logger = LogManager.GetCurrentClassLogger();

            logger.Info("Приложение запущено");

            try
            {
                var vector1 = new Vector(new[] { 56.77, 7.5, 86.8, 6.7, 4.6, 66.8, 90.6, 12.4 });
                var vector2 = new Vector(6, new[] { 5.6, 7.7, 6.8 });

                Console.Write("Сумма векторов {0} и {1} = ", vector1, vector2);
                vector1.AddVector(vector2);
                Console.WriteLine(vector1);
                Console.WriteLine();

                Console.WriteLine("Сумма векторов {0} и {1} = {2}", vector1, vector2, Vector.AddVectors(vector1, vector2));
                Console.WriteLine();

                var vector3 = new Vector(-2);
            }
            catch (Exception e)
            {
                logger.Error(e, "Ошибка");
            }

            Console.ReadKey();
        }
示例#2
0
        public void Throw_vector_arithemtic_exception_if_add_called_with_vector_of_different_size()
        {
            var firstVector  = new Vector(1, 2, 3);
            var secondVector = new Vector(1, 2, 3, 4);

            Assert.ThrowsException <VectorArithmeticException>(() => firstVector.AddVector(secondVector));
        }
示例#3
0
        public void Correctly_add_two_vectors_of_equal_length()
        {
            var firstVector  = new Vector(1, 2, 3, 4);
            var secondVector = new Vector(4, 3, 2, 1);
            var expected     = new Vector(5, 5, 5, 5);
            var actual       = firstVector.AddVector(secondVector);

            Assert.AreEqual(expected, actual);
        }
示例#4
0
        public void TestAddition()
        {
            var vector1 = new Vector(new double[] { 1, 1, 1, 1 });
            var vector2 = new Vector(new double[] { 10, 10 });

            vector1.AddVector(vector2);

            Assert.AreEqual(new Vector(new double[] { 11, 11, 1, 1 }), vector1);
        }
示例#5
0
            //Transform an occurrence. Occurrence needs to be selected first through the UI
        private void Button2_Click(object sender, EventArgs e)
        {
            {
                if (((mApp.ActiveDocument != null)))
                {
                    if ((mApp.ActiveDocument.DocumentType == DocumentTypeEnum.kAssemblyDocumentObject))
                    {
                        if ((mApp.ActiveDocument.SelectSet.Count == 1))
                        {
                            if (((mApp.ActiveDocument.SelectSet[1]) is ComponentOccurrence))
                            {
                                ComponentOccurrence oCompOccurrence = mApp.ActiveDocument.SelectSet[1] as ComponentOccurrence;

                                Matrix oTransfo = mApp.TransientGeometry.CreateMatrix();

                                if ((mAngleBox.Text.Length == 0))
                                {
                                    mAngleBox.Text = "0";
                                }

                                double angle = System.Double.Parse(mAngleBox.Text);

                                Vector trans = VectorControl1.Vector;
                                Vector axis  = VectorControl2.Vector;

                                if ((axis.Length == 0))
                                {
                                    System.Windows.Forms.MessageBox.Show("Rotation Axis cannot be null", "Error");
                                    return;
                                }

                                oTransfo.SetToRotation(angle * Math.Atan(1) * 4 / 180.0, axis, oCompOccurrence.MassProperties.CenterOfMass);

                                Vector oFinalTx = oTransfo.Translation;
                                oFinalTx.AddVector(trans);

                                oTransfo.SetTranslation(oFinalTx, false);

                                Matrix oNewTransfo = oCompOccurrence.Transformation;

                                oNewTransfo.TransformBy(oTransfo);

                                oCompOccurrence.Transformation = oNewTransfo;

                                mApp.ActiveView.Update();
                            }
                            else
                            {
                                System.Windows.Forms.MessageBox.Show("Not an occurrence...", "Error");
                                return;
                            }
                        }
                        else
                        {
                            System.Windows.Forms.MessageBox.Show("A single occurrence must be selected...", "Error");
                            return;
                        }
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("An Assembly document must be active...", "Error");
                        return;
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("An Assembly document must be active...", "Error");
                    return;
                }
            }
        }