예제 #1
0
        public void CreationFromDoubles()
        {
            var x = 2.0;
            var y = 3.0;
            var z = 5.0;
            var w = 7.0;

            var v2 = new Vect2(x, y);

            Assert.AreEqual(x, v2.X, Delta);
            Assert.AreEqual(y, v2.Y, Delta);

            var v3 = new Vect3(x, y, z);

            Assert.AreEqual(x, v3.X, Delta);
            Assert.AreEqual(y, v3.Y, Delta);
            Assert.AreEqual(z, v3.Z, Delta);

            var v4 = new Vect4(x, y, z, w);

            Assert.AreEqual(x, v4.X, Delta);
            Assert.AreEqual(y, v4.Y, Delta);
            Assert.AreEqual(z, v4.Z, Delta);
            Assert.AreEqual(w, v4.W, Delta);
        }
예제 #2
0
        public void Vect2SwizzleTest()
        {
            var v = new Vect2(5, 6);

            Assert.AreEqual(new Vect2(6, 6), v.Swizzle().YY);
            Assert.AreEqual(new Vect2(5, 5), v.Swizzle().XX);
        }
예제 #3
0
        public void LengthResult()
        {
            var v2 = new Vect2(2.0, 3.0);

            Assert.AreEqual(13.0, v2.LengthSquared, Constants.Delta);
            Assert.AreEqual(3.60555127546, v2.Length, Constants.Delta);
        }
예제 #4
0
    public string ToString(string format)
    {
        string res = Vect2.ToString();

        res = res + " : " + Compl.ToString(format) + Math.Sqrt(Compl.Real * Compl.Real + Compl.Imaginary * Compl.Imaginary).ToString(format);
        return(res);
    }
예제 #5
0
        public void CreationFromList()
        {
            var x = 2.0;
            var y = 3.0;
            var z = 5.0;
            var w = 7.0;

            var v2 = new Vect2(new[] { x, y });

            Assert.AreEqual(x, v2.X, Delta);
            Assert.AreEqual(y, v2.Y, Delta);

            var v3 = new Vect3(new[] { x, y, z });

            Assert.AreEqual(x, v3.X, Delta);
            Assert.AreEqual(y, v3.Y, Delta);
            Assert.AreEqual(z, v3.Z, Delta);

            var v4 = new Vect4(new[] { x, y, z, w });

            Assert.AreEqual(x, v4.X, Delta);
            Assert.AreEqual(y, v4.Y, Delta);
            Assert.AreEqual(z, v4.Z, Delta);
            Assert.AreEqual(w, v4.W, Delta);
        }
예제 #6
0
        public static dynamic Swizzle(this Vect2 v)
        {
            var s = new Swizzle <double>();

            s.Add('X', v.X);
            s.Add('Y', v.Y);
            return(s);
        }
예제 #7
0
        public void CreationFromDoubles()
        {
            var x  = 2.0;
            var y  = 3.0;
            var v2 = new Vect2(x, y);

            Assert.AreEqual(x, v2.X, Constants.Delta);
            Assert.AreEqual(y, v2.Y, Constants.Delta);
        }
예제 #8
0
        public void CreationFromList()
        {
            var x  = 2.0;
            var y  = 3.0;
            var v2 = new Vect2(new[] { x, y });

            Assert.AreEqual(x, v2.X, Constants.Delta);
            Assert.AreEqual(y, v2.Y, Constants.Delta);
        }
예제 #9
0
 public Vertex(Vect2 texCoord, Vect3 normal, Vect3 position)
 {
     TexCoordX = (float)texCoord.X;
     TexCoordY = (float)texCoord.Y;
     NormalX   = (float)normal.X;
     NormalY   = (float)normal.Y;
     NormalZ   = (float)normal.Z;
     PositionX = (float)position.X;
     PositionY = (float)position.Y;
     PositionZ = (float)position.Z;
 }
예제 #10
0
        public void Valid_CalcLength_Result()
        {
            //Arrange
            var vector   = new Vect2(10, 20);
            var expected = 22;

            //Act
            var actual = Vect2.CalcLength(vector);

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #11
0
        public void SwizzleVect3()
        {
            var v2 = new Vect2(2.0, 3.0);
            var v3 = new Vect3(2.0, 3.0, 5.0);
            var v4 = new Vect4(2.0, 3.0, 5.0, 7.0);

            Assert.AreEqual(v2, v3.Swizzle.XY);
            Assert.AreEqual(v2, v4.Swizzle.XY);

            Assert.AreEqual(new Vect3(2.0, 2.0, 2.0), v3.Swizzle.XXX);
            Assert.AreEqual(new Vect3(2.0, 2.0, 2.0), v4.Swizzle.XXX);
        }
예제 #12
0
    public void Clear(Vect2 pp)
    {
        pointsHandler.Clear(pp);
        Transform tr = points[pp.x,pp.y].GetTransform();
        for(int i=0; i<this.points.GetLength(0); i++)
            for(int j=0; j<this.points.GetLength(1); j++)

                if (this.points[i,j]!=null)
                    if (this.points[i,j].directions.Count>0)
                    {
                        this.points[i,j].directions.Remove(tr);
                    }
    }
예제 #13
0
        public void Valid_DotProduct_Result()
        {
            //Arrange
            var start    = new Vect2(41, 14);
            var end      = new Vect2(63, 99);
            var actual   = 0.0m;
            var expected = 3969;

            //Act
            actual = Vect2.DotProduct(start, end);

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #14
0
 public void CreationFromListTooLong()
 {
     try
     {
         var v = new Vect2(new[] { 2.0, 3.0, 5.0 });
         Assert.Fail(); // If it gets to this line, no exception was thrown
     }
     catch (ArgumentException)
     {
     }
     catch (Exception)
     {
         Assert.Fail();
     }
 }
예제 #15
0
        public void LengthResult()
        {
            var v2 = new Vect2(2.0, 3.0);

            Assert.AreEqual(13.0, v2.LengthSquared, Delta);
            Assert.AreEqual(3.60555127546, v2.Length, Delta);

            var v3 = new Vect3(2.0, 3.0, 5.0);

            Assert.AreEqual(38, v3.LengthSquared, Delta);
            Assert.AreEqual(6.16441400297, v3.Length, Delta);

            var v4 = new Vect4(2.0, 3.0, 5.0, 7.0);

            Assert.AreEqual(87, v4.LengthSquared, Delta);
            Assert.AreEqual(9.32737905308, v4.Length, Delta);
        }
예제 #16
0
        public void Equality()
        {
            var a = new Vect2(2.0, 3.0);
            var b = new Vect2(2.0, 3.0);
            var c = new Vect2(3.0, 4.0);
            var d = a;

            Assert.IsTrue(a.Equals(b));
            Assert.IsFalse(a.Equals(c));
            Assert.IsTrue(a.Equals(d));
            Assert.AreEqual(a, b);
            Assert.AreNotEqual(a, c);
            Assert.AreEqual(a, d);
            Assert.IsTrue(a == b);
            Assert.IsTrue(a != c);
            Assert.IsTrue(a != null);
        }
예제 #17
0
    public void DrawConnections(Vect2[] arrayOfDir,int numbersInColumn,Vector2 borders, Vector2 elementSize, Vector3 start)
    {
        for(int i=0; i< numbersInColumn; i++)
                for( int j = 0; j<numbersInColumn; j++)
                {
                    for(int k=0; k< arrayOfDir[j+i*numbersInColumn].directions.Count; k++)
                    {
                        //print("From "+new Vect2(i, j)+" To: "+arrayOfDir[j+i*numbersInColumn].directions[k]);

                        GameObject[] connection = ConnectTwoDot ( new Vect2(i, j),
                                                                  arrayOfDir[j+i*numbersInColumn].directions[k],
                                                                  borders,
                                                                  elementSize,
                                                                  start);
                        this.connectors.Add(connection);
                    }
            }
    }
예제 #18
0
 public Vertex(Vect3 position, Color color)
 {
     Position = position;
     Color    = color;
     Texture  = Vect2.Zero;
 }
예제 #19
0
 public void ComputeFreePosition(Vect2[,] array,Vect2 vect)
 {
 }
예제 #20
0
 public Vect2Container(Vect2[] v)
 {
     this.pos = v;
 }
예제 #21
0
 private Vect2[] generateNewVect2(int height)
 {
     Vect2[] temp = new Vect2[height*height];
             for (int i = 0; i< height;i++)
                 for (int j = 0; j< height;j++)
                     temp[i*height+j] = new Vect2(i,j);
     return temp;
 }
예제 #22
0
 private GameObject[] ConnectTwoDot(Vect2 point1, Vect2 point2, Vector2 borders, Vector2 elementSize, Vector3 start)
 {
     Vector3 v1,v2;
     v1 = selectedListOfObjects[point1.x+this.matrixDemension*point1.y].transform.position;
     v2 = selectedListOfObjects[point2.x+this.matrixDemension*point2.y].transform.position;
     //v1 = new Vector3(point1.x*(elementSize.x+borders.x) + start.x,point1.y* -(elementSize.y+borders.y) +start.y,0f);
     //v2 = new Vector3(point2.x*(elementSize.x+borders.x) + start.x,point2.y* -(elementSize.y+borders.y) +start.y,0f);
     return  GraphicHelper.ConnectTwoPointToLineByDots(v1,v2,new Vector3(0.1f,0.1f,0.001f),80);
 }
예제 #23
0
 public PointPathGenerator(Vect2[,] array)
 {
 }
예제 #24
0
 public Vector3 Convert(Vector3[,] field,Vect2 target)
 {
     return	field[target.x,target.y];
 }
예제 #25
0
    private void DrawConnections(Vect2 startPoint, List<Vect2> connections)
    {
        Vector3 start  = pointsHandler.Convert(this.field,startPoint);
        Vect2[] conn = connections.ToArray();
        for(int i=0; i<connections.Count; i++)
        {			Vector3 target = pointsHandler.Convert(this.field,connections[i]);
            GameObject connection = ConnectTwoPoints(start,target,Singlton.settings.graphic.connectorPrefab);
            connection.GetComponent<OnAction>().pointStart = startPoint;
            connection.GetComponent<OnAction>().pointEnd = connections[i];

        }
    }
예제 #26
0
 public Vertex(Vect3 position, Color color, Vect2 texture)
 {
     Position = position;
     Color    = color;
     Texture  = texture;
 }
예제 #27
0
 public Point GetPoint(Vect2 pp)
 {
     return points[pp.x,pp.y];
 }
예제 #28
0
 public void Clear(Vect2 pp)
 {
     for( int i=0; i<arrayGraph.GetLength(0); i++)
     {
         for (int j=0; j<arrayGraph.GetLength(1); j++)
         {
              //ArraysHadler<Vect2>.GetOneDimIndex(i*arrayGraph.GetLength(1)+j)
             if (arrayGraph[i,j].directions.Count>0) arrayGraph[i,j].directions.Remove(pp);
         }
     }
     arrayGraph[pp.x,pp.y].directions.Clear();
     //arrayGraph[pp.x,pp.y] = null;
 }