Ejemplo n.º 1
0
        public void AngleToTest4()
        {
            Vector A = new Vector(1, 0, 0);

            Vector B = new Vector(2, -2, 0);

            double expected = MathUtil.PI / 4;
            double actual = A.AngleTo(B);

            Assert.AreEqual(expected, actual,
                MathUtil.kTolerance, "FR.Math.Vector.Dot.");
        }
Ejemplo n.º 2
0
        protected override EventResult OnMouseMove(EventContext Ctx)
        {
            Debug.Assert(Ctx != null);
            if (null == Ctx) return EventResult.eContinue;

            GePoint currentPoint = Ctx.MouseWorldPoint; //Ctx.MouseWorldPoint;
            if (m_bIsDragging
                && currentPoint != null
                && !currentPoint.IsEqualTo(m_LastPoint))
            {
                Matrix44 trans = Matrix44.Identity;
                Vector dir = new Vector(m_LastPoint, currentPoint);
                Vector rotateAxis = UnitVector.kZAxis.Vector.Cross(dir);

                PtApp.ActiveView.DeviceToWorldMatrix.SetRotate(
                    30 * FRMath.MathUtil.PI / 180
                    , rotateAxis.UnitVector, PtApp.ActiveView.ViewCenter);

                m_LastPoint = Ctx.MouseWorldPoint;

                PtApp.ActiveView.UpdateView();
            }
            return EventResult.eContinue;
        }
Ejemplo n.º 3
0
        public void ItemAccessTest2()
        {
            Vector target = new Vector(2, 2, -0.5);
            target.X = 10;
            target.Y = 10;
            target.Z = -18;

            Assert.AreEqual(10, target.X, "FR.Math.Vector.X");
            Assert.AreEqual(10, target.Y, "FR.Math.Vector.Y");
            Assert.AreEqual(-18, target.Z, "FR.Math.Vector.Z");
        }
Ejemplo n.º 4
0
        public void ConstructorTest()
        {
            GePoint startPoint = new GePoint(0, 0, 0);
            GePoint endPoint = new GePoint(1, 1, 1);

            Vector expected = new Vector(1, 1, 1);

            Vector actual = new Vector(startPoint, endPoint);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Vector(GePoint, GePoint).");
        }
Ejemplo n.º 5
0
        public void ItemAccessTest()
        {
            Vector target = new Vector(2, 2, -0.5);
            target[1] = 20;
            target[2] = 20;
            target[3] = -18;

            Assert.AreEqual(20, target[1], "FR.Math.Vector.this[uint]");
            Assert.AreEqual(20, target[2], "FR.Math.Vector.this[uint]");
            Assert.AreEqual(-18, target[3], "FR.Math.Vector.this[uint]");
        }
Ejemplo n.º 6
0
 public void DrawArc(GePoint center, double radius, Vector normal)
 {
     //TBD
     Debug.Assert(false, "NOIMP");
 }
Ejemplo n.º 7
0
        public void SetTranslationTest()
        {
            Vector dis = new Vector(10, 20, 30);

            Matrix44 actual = Matrix44.Identity;
            actual.SetTranslation(dis);

            Matrix44 expected = Matrix44.Identity;
            expected[0, 3] = dis.X;
            expected[1, 3] = dis.Y;
            expected[2, 3] = dis.Z;

            Assert.AreEqual(expected, actual, "FR.Math.Matrix44.SetTranslation did not return the expected value.");
        }
Ejemplo n.º 8
0
        public void UnitVectorTest()
        {
            Vector target = new Vector(0, 20, 0);

            UnitVector expected = new UnitVector(0, 1, 0);
            UnitVector actual = target.UnitVector;

            Assert.AreEqual(expected, actual, "FR.Math.Vector.UnitVector");
        }
Ejemplo n.º 9
0
        public void CopyTest()
        {
            Vector target = new Vector(4, -2.5, 3.8);

            Vector expected = new Vector(4, -2.5, 3.8);
            Vector actual = new Vector();
            actual.Copy(target);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Copy");
        }
Ejemplo n.º 10
0
        public void DotTest4()
        {
            Vector A = new Vector(56, 89, -52.3);

            Vector B = new Vector(-3.2, -5, 0);

            double expected = -624.2;
            double actual = A.Dot(B);

            Assert.AreEqual(expected, actual,
                MathUtil.kTolerance, "FR.Math.Vector.Dot.");
        }
Ejemplo n.º 11
0
        public void IsParallelToTest2()
        {
            Vector A = new Vector(-1, 5, -9);
            Vector B = new Vector(1, -5, 9);

            bool expected = true;
            bool actual = A.IsParallelTo(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsParallelTo");
        }
Ejemplo n.º 12
0
        public void DotTest()
        {
            Vector A = new Vector(1, 2, 3);

            Vector B = new Vector(-5.6, 8, -2.9);

            double expected = 1.7;
            double actual = A.Dot(B);

            Assert.AreEqual(expected, actual
                , MathUtil.kTolerance,"FR.Math.Vector.Dot.");
        }
Ejemplo n.º 13
0
        public void DotTest3()
        {
            Vector A = new Vector(0, 0, 0);

            Vector B = new Vector(0, 0, 0);

            double expected = 0;
            double actual = A.Dot(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Dot.");
        }
Ejemplo n.º 14
0
        public void CrossTest3()
        {
            Vector A = new Vector(0,0,0);

            Vector B = new Vector(-5.6, 8, -2.9);

            Vector expected = new Vector(0,0,0);
            Vector actual = A.Cross(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Cross.");
        }
Ejemplo n.º 15
0
        public void CrossTest2()
        {
            Vector A = new Vector(1.2, -2.3, 5);

            Vector B = new Vector(-5.6, 8, -2.9);

            Vector expected = new Vector(-33.33, -24.52, -3.28);
            Vector actual = A.Cross(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Cross.");
        }
Ejemplo n.º 16
0
        public void CrossTest()
        {
            Vector A = new Vector(1,2,3);

            Vector B = new Vector(3,4,5);

            Vector expected = new Vector(-2, 4, -2);
            Vector actual = A.Cross(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Cross.");
        }
Ejemplo n.º 17
0
        public void MultiplyTest()
        {
            Vector target = new Vector(2, 2, -0.5);

            Vector expected = new Vector(10, 10, -2.5);
            Vector actual = target * 5;

            Assert.AreEqual(expected, actual, "FR.Math.Vector.operator * (Vector, double)");
        }
Ejemplo n.º 18
0
        public void CloneTest()
        {
            Vector expected = new Vector(2, 2, -0.5);
            Vector actual = expected.Clone();

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Clone");
        }
Ejemplo n.º 19
0
        public void NegativeTest()
        {
            Vector target = new Vector(2, 2, -0.5);

            Vector expected = new Vector(-2, -2, 0.5);
            Vector actual = -target;

            Assert.AreEqual(expected, actual, "FR.Math.Vector.operator - (Vector)");
        }
Ejemplo n.º 20
0
        public void Move(Vector distance)
        {
            if (null == distance) return;

            _Proxy.Move(distance._Proxy);
        }
Ejemplo n.º 21
0
        public void IsPerpendicularToTest2()
        {
            Vector A = new Vector(2, 2, 0);
            Vector B = new Vector(2, -2, 0);

            bool expected = true;
            bool actual = A.IsPerpendicularTo(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsPerpendicularTo");
        }
Ejemplo n.º 22
0
        public void ConstructorTest2()
        {
            Vector expected = UnitVector.kXAxis.Vector;

            Vector actual = new Vector();

            Assert.AreEqual(expected, actual, "FR.Math.Vector.Vector().");
        }
Ejemplo n.º 23
0
        // If index is -1, we'll move all the points.
        public void MovePoints(Vector vec, int index)
        {
            Debug.Assert(vec != null && index < m_Points.Count && index > -2);
            if (!(vec != null && index < m_Points.Count && index > -2)) return;

            if (-1 == index)
            {
                foreach (GePoint point in m_Points)
                {
                    point.Move(vec);
                }
            }
            else
                m_Points[index].Move(vec);
        }
Ejemplo n.º 24
0
        public void IsSameDirectionToTest2()
        {
            Vector A = new Vector(2, -10, 18);
            Vector B = new Vector(1, -5, 9);

            bool expected = true;
            bool actual = A.IsSameDirectionTo(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsSameDirectionTo");
        }
Ejemplo n.º 25
0
        public override void GenerateGraphics(DisplayItemList DLList)
        {
            Debug.Assert(DLList != null);
             if (null == DLList) return;

             // It must exist two point at least.
             if (m_AttachPoint == null) return;
             if (m_InternalPoints.Empty()) return;

             // Attach point to the first internal point
             GePoint p1 = m_AttachPoint;
             GePoint p2 = m_InternalPoints[0];
             // If the first two points are equal, we needn't continue to calculate.
             if (p1.IsEqualTo(p2)) return;

             Matrix44 trans = new Matrix44();
             trans.SetTranslation(p1 - GePoint.kOrigin);
             //trans.SetRotate(MathFactory.Math.PI, UnitVector.kZAxis, GePoint.kOrigin);
             Vector direction = p2 - p1;
             trans.SetRotate(UnitVector.kXAxis, direction.UnitVector, GePoint.kOrigin);
             //trans.SetRotate(UnitVector.kXAxis, UnitVector.kYAxis, p2);

             // Arrowhead
             BFxSolidArrowHead arrow = new BFxSolidArrowHead();
             arrow.GetDisplayList(DLList, trans);

             DisplayItemBuilder.GenDisplayItemLine(DLList, p1, p2);

             DisplayItemBuilder.GenDisplayItemPoint(DLList, p1);

             DisplayItemBuilder.GenDisplayItemLines(DLList, m_InternalPoints);
             DisplayItemBuilder.GenDisplayItemPoints(DLList, m_InternalPoints);

             // Text
             if (!m_Text.Empty)
             {
                 GeRectangle rec = PtApp.ActiveView.GetRichStringRange(m_Text);

                 if (rec != null)
                 {
                     Vector offset = new Vector(0, -rec.Height / 2, 0);
                     GePoint basePoint = m_InternalPoints[m_InternalPoints.Count - 1] + offset;
                     DisplayItemText DLText = new DisplayItemText(m_Text.GetString(), basePoint, PtApp.ActiveDocument.GetFontManager().GetFont(m_Text.FontID));
                     DLList.AddItem(DLText);

                     rec.MoveTo(basePoint);

                     DisplayItemBuilder.GenDisplayItemLines(DLList, rec);
                 }
             }
        }
Ejemplo n.º 26
0
        public void IsSameDirectionToTest3()
        {
            Vector A = new Vector(-1, 5, -9);
            Vector B = new Vector(1, -5, 9);

            bool expected = false;
            bool actual = A.IsSameDirectionTo(B);

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsSameDirectionTo");
        }
Ejemplo n.º 27
0
 // Translation
 public Matrix44 SetTranslation(Vector distance)
 {
     Debug.Assert(distance != null);
     _Proxy.SetTranslation(distance._Proxy);
     return this;
 }
Ejemplo n.º 28
0
        public void IsZeroTest()
        {
            Vector target = new Vector(4, -2.5, 3.8);

            bool expected = false;
            bool actual = target.IsZero();

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsZero");
        }
Ejemplo n.º 29
0
        public void SetTranslationTest2()
        {
            Vector dis = new Vector(10, 20, 30);

            Matrix44 trans = Matrix44.Identity;
            trans.SetTranslation(dis);

            GePoint firtPosition = new GePoint(0, 0, 0);
            GePoint actual = trans * firtPosition;

            GePoint expected = new GePoint(10, 20, 30);

            Assert.AreEqual(expected, actual, "FR.Math.Matrix44.SetTranslation did not return the expected value.");
        }
Ejemplo n.º 30
0
        public void IsZeroTest2()
        {
            Vector target = new Vector(0, 0, 0);

            bool expected = true;
            bool actual = target.IsZero();

            Assert.AreEqual(expected, actual, "FR.Math.Vector.IsZero");
        }