@Override
 public void setSurfShapeColor(String id, Color col, double opacity) throws NoSuchShapeException {
   SurfaceShape shape = getSurfShape(id);
   BasicShapeAttributes newAttr = new BasicShapeAttributes(attr);
   newAttr.setOutlineMaterial(new Material(col));
   newAttr.setInteriorMaterial(new Material(col.brighter().brighter()));
   newAttr.setOutlineOpacity(opacity);
   newAttr.setInteriorOpacity(NORM_INSIDE_OPACITY * opacity);
   shape.setAttributes(newAttr);
 }
 @Override
 public void setHighlightOpacity(double opacity) {
   attrHigh.setOutlineOpacity(opacity);
   attrHigh.setInteriorOpacity(HIGHL_INSIDE_OPACITY * opacity);
 }
 @Override
 public void setOpacity(double opacity) {
   attr.setOutlineOpacity(opacity);
   attr.setInteriorOpacity(NORM_INSIDE_OPACITY * opacity);
 }