Example #1
0
        private static void CellEdges()
        {
            vtkTriangle triangle = vtkTriangle.New();

            triangle.GetPoints().SetPoint(0, 1.0, 0.0, 0.0);
            triangle.GetPoints().SetPoint(1, 0.0, 0.0, 0.0);
            triangle.GetPoints().SetPoint(2, 0.0, 1.0, 0.0);
            triangle.GetPointIds().SetId(0, 0);
            triangle.GetPointIds().SetId(1, 1);
            triangle.GetPointIds().SetId(2, 2);

            Console.WriteLine("The cell has " + triangle.GetNumberOfEdges() + " edges.");

            for (int i = 0; i < triangle.GetNumberOfEdges(); i++)
            {
                vtkCell edge = triangle.GetEdge(i);

                vtkIdList pointIdList = edge.GetPointIds();
                Console.WriteLine("Edge " + i + " has " + pointIdList.GetNumberOfIds() + " points.");

                for (int p = 0; p < pointIdList.GetNumberOfIds(); p++)
                {
                    Console.WriteLine("Edge " + i + " uses point " + pointIdList.GetId(p));
                }
            }
        }
        public static List <List <double[]> > ReadPolyDataList(this string vtpFileName)
        {
            vtkPolyData polyData = ReadPolyData(vtpFileName);

            List <List <double[]> > ret = new List <List <double[]> >();

            for (int cellIdx = 0; cellIdx < polyData.GetNumberOfCells(); ++cellIdx)
            {
                List <double[]> list = new List <double[]>();
                ret.Add(list);

                vtkCell cell = polyData.GetCell(cellIdx);
                for (int i = 0; i < cell.GetNumberOfPoints(); ++i)
                {
                    list.Add(cell.GetPoints().GetPoint(i));
                }
            }

            polyData.Dispose();

            return(ret);
        }