Ejemplo n.º 1
0
        public void BuildFromGrid2(CartGridData pointStripList)
        {
            int minStripLen = GetMinStripLength(pointStripList);
            int id          = 0;
            var vertexGrid  = new PlyVertex[pointStripList.Count, minStripLen];

            for (int i = 0; i < pointStripList.Count; i++)
            {
                for (int j = 0; j < minStripLen; j++)
                {
                    vertexGrid[i, j] = new PlyVertex(pointStripList[i][j], id++);
                    _vertices.Add(vertexGrid[i, j]);
                }
            }
            for (int i = 0; i < pointStripList.Count - 1; i++)
            {
                for (int j = 0; j < minStripLen - 1; j++)
                {
                    var indices1 = new List <int>()
                    {
                        vertexGrid[i, j].ID, vertexGrid[i, j + 1].ID, vertexGrid[i + 1, j].ID
                    };
                    _faces.Add(new PlyFace(indices1));
                    var indices2 = new List <int>()
                    {
                        vertexGrid[i, j + 1].ID, vertexGrid[i + 1, j + 1].ID, vertexGrid[i + 1, j].ID
                    };
                    _faces.Add(new PlyFace(indices2));
                }
            }
        }
Ejemplo n.º 2
0
        public void CartDataTest_filenameok()
        {
            var filename = "filename1.csv";
            var cd       = new CartGridData(filename);

            Assert.AreEqual(filename, cd.FileName);
        }
Ejemplo n.º 3
0
        public void CartDataTest_lengthok()
        {
            var filename = "filename1.csv";
            var cd       = new CartGridData(filename);
            var cart     = new CartData();

            cd.Add(cart);
            cd.Add(cart);
            cd.Add(cart);
            Assert.AreEqual(3, cd.Count);
        }
Ejemplo n.º 4
0
        public void CartDataTest_Addrange()
        {
            var filename = "filename1.csv";
            var cd       = new CartGridData(filename);
            var cart     = new CartData();
            var list     = new List <ICartData>();

            list.Add(cart);
            list.Add(cart);
            list.Add(cart);
            cd.AddRange(list);
            Assert.AreEqual(3, cd.Count);
        }
Ejemplo n.º 5
0
        int GetMinStripLength(CartGridData pointStripList)
        {
            int minStripLen = int.MaxValue;

            foreach (var strip in pointStripList)
            {
                if (strip.Count < minStripLen)
                {
                    minStripLen = strip.Count;
                }
            }
            return(minStripLen);
        }
Ejemplo n.º 6
0
        static void SavePly(CartGridData map, string fileName, IProgress <int> progress)
        {
            try
            {
                var outputFilename = BuildFileName(fileName, "", ".ply");
                Debug.WriteLine("writing PLY file " + fileName);
                var plyF = new PlyFile();
                plyF.BuildFromGrid2(map);
                plyF.SaveAscii(outputFilename);

                Debug.WriteLine("finished writing ply file");
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 7
0
        public void BuildFromGrid(CartGridData pointStripList)
        {
            Debug.WriteLine("building ply file");

            //find minimum strip length


            int minStripLen = GetMinStripLength(pointStripList);
            //add triangles to list of faces

            var triList = new List <Triangle>();

            for (int i = 0; i < pointStripList.Count - 1; i++)
            {
                for (int j = 0; j < minStripLen - 1; j++)
                {
                    Triangle t1 = new Triangle(pointStripList[i][j], pointStripList[i][j + 1], pointStripList[i + 1][j]);
                    Triangle t2 = new Triangle(pointStripList[i][j + 1], pointStripList[i + 1][j + 1], pointStripList[i + 1][j]);

                    triList.Add(t1);
                    triList.Add(t2);
                }
            }
            int vertCount = 0;

            foreach (var tri in triList)
            {
                var indexList = new List <int>();
                foreach (var vt in tri.Vertices)
                {
                    var plyvert = new PlyVertex(vt, tri.Normal);
                    plyvert.ID = vertCount++;
                    indexList.Add(plyvert.ID);
                    _vertices.Add(plyvert);
                }
                var face = new PlyFace(indexList);
                _faces.Add(face);
            }


            Debug.WriteLine("triangles:{0} ", _faces.Count);
            Debug.WriteLine("Vertices:{0} ", _vertices.Count);
        }
Ejemplo n.º 8
0
        public void BuildFromGrid(CartGridData pointStripList)
        {
            int maxCount = GetMinStripLength(pointStripList);

            for (int i = 0; i < pointStripList.Count - 1; i++)
            {
                for (int j = 0; j < maxCount - 1; j++)
                {
                    var p1 = new Vector3(pointStripList[i][j]);
                    var p2 = new Vector3(pointStripList[i][j + 1]);
                    var p3 = new Vector3(pointStripList[i + 1][j]);
                    var p4 = new Vector3(pointStripList[i + 1][j + 1]);

                    var t1 = new Triangle(p1, p2, p3);
                    var t2 = new Triangle(p2, p4, p3);

                    this.Add(t1);
                    this.Add(t2);
                }
            }
            getBoundingBox();
        }
Ejemplo n.º 9
0
 public CartGridDataSet(string filename) : base(filename)
 {
     CartGridData = new CartGridData();
 }
Ejemplo n.º 10
0
        public void CartDataTest_defCtor()
        {
            var cd = new CartGridData();

            Assert.IsNotNull(cd);
        }