/// search for overlap with a MillingCutter c positioned at cl, return found objects public LinkedList <Triangle> search_cutter_overlap(MillingCutter c, CLPoint cl) { double r = c.getRadius(); // build a bounding-box at the current CL Bbox bb = new Bbox(cl.x - r, cl.x + r, cl.y - r, cl.y + r, cl.z, cl.z + c.getLength()); return(this.search(bb)); }
/// set the MillingCutter to use public virtual void setCutter(MillingCutter c) { cutter = c; foreach (Operation op in subOp) { op.setCutter(cutter); } }
/// add a MillingCutter to this CompositeCutter /// the cutter is valid from the previous radius out to the given radius /// and its axial offset is given by zoffset // add cutter c which is valid until radius=r and height=z with z-offset zoff public void addCutter(MillingCutter c, double r, double h, double zoff) { radiusvec.Add(r); heightvec.Add(h); cutter.Add(c); zoffset.Add(zoff); if (r > radius) { radius = r; diameter = 2 * r; } // update length also? }