import edu.berkeley.qfat.bind.*;
import edu.berkeley.qfat.geom.*;
import edu.berkeley.qfat.stl.*;
+import edu.berkeley.qfat.voxel.*;
import edu.berkeley.qfat.geom.Point;
import edu.berkeley.qfat.geom.Polygon;
public void hit() {}
}
+ public void marchingCubes() {
+ Mesh mesh = new Mesh(false);
+ mesh.coalesce = true;
+ MarchingCubes.march(new SampledField() {
+ public float getSample(Point p) {
+ double x = p.x;
+ double y = p.y;
+ double z = p.z;
+ x-=0.7;
+ y-=0.7;
+ z-=0.7;
+ return (float)Math.sqrt(x*x+y*y+z*z);
+ }
+ },
+ 0.8, 20, 0.1, mesh);
+ setTile(mesh);
+ //fixupTile();
+ }
+
public void hexBrick(boolean offset, boolean rotated) {
setTile(new Mesh(false));
float width = (float)0.8;
};
fixupTile();
}}});
+ tileMenu.add(new MyMenuItem("Marching Cubes") { public void hit() {
+ marchingCubes();
+ }});
// Finally, add all the menus to the menu bar.
add(tileMenu);