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."); }
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; }
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"); }
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)."); }
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]"); }
public void DrawArc(GePoint center, double radius, Vector normal) { //TBD Debug.Assert(false, "NOIMP"); }
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."); }
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"); }
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"); }
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."); }
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"); }
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."); }
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."); }
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."); }
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."); }
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."); }
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)"); }
public void CloneTest() { Vector expected = new Vector(2, 2, -0.5); Vector actual = expected.Clone(); Assert.AreEqual(expected, actual, "FR.Math.Vector.Clone"); }
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)"); }
public void Move(Vector distance) { if (null == distance) return; _Proxy.Move(distance._Proxy); }
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"); }
public void ConstructorTest2() { Vector expected = UnitVector.kXAxis.Vector; Vector actual = new Vector(); Assert.AreEqual(expected, actual, "FR.Math.Vector.Vector()."); }
// 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); }
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"); }
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); } } }
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"); }
// Translation public Matrix44 SetTranslation(Vector distance) { Debug.Assert(distance != null); _Proxy.SetTranslation(distance._Proxy); return this; }
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"); }
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."); }
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"); }