コード例 #1
0
        static void decode_path(Finder f, long path_id)
        {
            path_units = f.GetPathUnits(path_id);
            //Console.WriteLine("Path units : {0}", path_units);
            //Console.ReadLine();
            long count = f.GetPathCurveCount(path_id);
            //Console.Write("Number of Path Curves: ");
            //Console.WriteLine(count);
            for (long i = 0; i < count; ++i)
            {
                //include else statement for GetPathArc and code for it as well
                bool isArc;
                long cve_id = f.GetPathCurveNext(path_id, i, out isArc);
                if(!isArc)
                {
                    long count2 = f.GetPathPolylinePointCount(cve_id);
                    for (int j = 0; j < count2; ++j)
                    {
                        double x, y, z;
                        f.GetPathPolylinePointNext(cve_id, j, out x, out y, out z);
                        if (happenedOnce)
                        {
                            calc_min_max_vertices(x, y, z);
                        }
                        else
                        {
                            xmin = xmax = x;
                            ymin = ymax = y;
                            zmin = zmax = z;
                            happenedOnce = true;
                        }
                    }
                }
                //NEED LOGIC TO HANDLE ARCS AND COMPUTE X,Y,Z
                //MAXES AND MINS FROM THE DATA
                 //(for now ignore arcs says Professor Hardwick)
                else
                {
                    /*double x;
                    double y;
                    double z;
                    double cx;
                    double cy;
                    double cz;
                    double radius;
                    bool ccw;
                    f.GetPathArc(cve_id, out x, out y, out z, out cx, out cy, out cz, out radius, out ccw);*/

                    //How do i figure out where the arc exists? I only have the end point.
                    //(Maybe use last point from polyline code as starting point?)
                    Console.WriteLine("isArc");
                    //This readline is here to halt the output so that
                    //I can see if one of these arcs ever exists in any
                    //of my test cases.
                    //Console.ReadLine();
                }
            }
        }