assert lowerLeftZ >= scheduleModel.getFilterStart(filter);  lowerLeftZ *= heightScale;
lowerLeftZ = lowerLeftZ * heightScale;
    private void createSliceShape(Trace trace, Layout layout)             throws Exception  {        //don't do anything for file reader and writer traces        if (spaceTime.partitioner.isIO(trace))            return;                fw.write("//-------------------------------------------\n");        fw.write("// Objects for " + trace + "\n");        for (int i = 0; i < trace.getFilterNodes().length; i++) {            FilterTraceNode filter = trace.getFilterNodes()[i];            RawTile tile = layout.getTile(filter);            int lowerLeftX = getLowerLeftX(tile);            int lowerLeftY = getLowerLeftY(tile);             /* double lowerLeftZ = (double)scheduleModel.getFilterStart(filter) *                heightScale; */            double upperLeftZ = (double)scheduleModel.getFilterEnd(filter) *                heightScale;            double lowerLeftZ =                  (double)(scheduleModel.getFilterEnd(filter) -                         spaceTime.partitioner.getFilterWorkSteadyMult(filter));                        assert lowerLeftZ >= scheduleModel.getFilterStart(filter);                        lowerLeftZ *= heightScale;                        fw.write("box {\n");            //create the coordinates of box in the following form:            //2 points: <lower_left>, <upper_right>            //where each point has <L/R, height, top/bottom> or <X, Z, Y>            fw.write("  <" + lowerLeftX + ", " + lowerLeftZ + ", " + lowerLeftY + ">, " +                    "<" + (lowerLeftX + 1) + ", " + (upperLeftZ) + ", " + (lowerLeftY + 1) + ">\n");                        fw.write("  pigment {" + colorName.get(trace) + "}\n");            fw.write("}\n");        }    }