Ejemplo n.º 1
0
 public SplitShellWithCurves(Shell shell, Path closedBorder, double precision)
 {
     this.shell        = shell;
     this.closedBorder = closedBorder;
     faceOcttree       = new OctTree <Face>(shell.GetExtent(precision), precision);
     for (int i = 0; i < shell.Faces.Length; i++)
     {
         faceOcttree.AddObject(shell.Faces[i]);
     }
     this.precision = precision;
 }
Ejemplo n.º 2
0
        private Vertex VertexFromPoint(OctTree <Vertex> verticesOctTree, GeoPoint closeTo)
        {
            Vertex[] close = verticesOctTree.GetObjectsFromPoint(closeTo);
            for (int i = 0; i < close.Length; i++)
            {
                if ((close[i].Position | closeTo) == 0.0)
                {
                    return(close[i]);
                }
            }
            Vertex res = new Vertex(closeTo);

            verticesOctTree.AddObject(res);
            return(res);
        }