uk.ac.ed.computational_geometry.algorithm.marching_cubes
Class MarchingCubes

java.lang.Object
  extended by uk.ac.ed.computational_geometry.algorithm.marching_cubes.MarchingCubes

public class MarchingCubes
extends Object

User: nix Date: 08-Apr-2005 Time: 11:59:00 To change this template use Options | File Templates.


Nested Class Summary
static class MarchingCubes.Manifold
           
static interface MarchingCubes.ScalarField
           
 
Field Summary
protected  javax.vecmath.Vector3d cube_size
           
protected  HashMap<String,Cube> cubes_mapping
           
static javax.vecmath.Vector3d DEFAULT_CUBE_SIZE
           
protected  MarchingCubes.ScalarField scalar_field
           
protected  HashMap<javax.vecmath.Point3d,Boolean> vertex_mapping
           
 
Constructor Summary
protected MarchingCubes()
           
 
Method Summary
 Cube getCube(int index_x, int index_y, int index_z)
           
 Cube getCube(javax.vecmath.Point3d point)
           
 List<Cube> getCubes(List<javax.vecmath.Point3d> seed_points)
           
 javax.vecmath.Vector3d getCubeSize()
           
static MarchingCubes getEngine(javax.vecmath.Vector3d cube_size, MarchingCubes.ScalarField scalar_field)
           
 List<Cube> getInternalCubes(List<Cube> seed_cubes)
           
 MarchingCubes.Manifold getManifoldLorensen(List<Cube> seed_cubes)
           
static MarchingCubes.Manifold getManifoldLorensen(List<Cube> seed_cubes, MarchingCubes.ScalarField scalar_field)
           
static MarchingCubes.Manifold getManifoldLorensen(javax.vecmath.Vector3d cube_size, MarchingCubes.ScalarField scalar_field, List<Cube> seed_cubes)
           
 MarchingCubes.Manifold getManifoldWyvill(List<Cube> seed_cubes)
           
static MarchingCubes.Manifold getManifoldWyvill(List<Cube> seed_cubes, MarchingCubes.ScalarField scalar_field)
           
static MarchingCubes.Manifold getManifoldWyvill(javax.vecmath.Vector3d cube_size, MarchingCubes.ScalarField scalar_field, List<Cube> seed_cubes)
           
 MarchingCubes.ScalarField getScalar_field()
           
 List<Cube> getSurfaceCubes(List<Cube> seed_cubes)
           
 List<javax.vecmath.Point3d> getSurfaceLorensen(List<Cube> seed_cubes)
           
static List<javax.vecmath.Point3d> getSurfaceLorensen(List<Cube> seed_cubes, MarchingCubes.ScalarField scalar_field)
           
static List<javax.vecmath.Point3d> getSurfaceLorensen(javax.vecmath.Vector3d cube_size, MarchingCubes.ScalarField scalar_field, List<Cube> seed_cubes)
           
 List<javax.vecmath.Point3d> getSurfaceWyvill(List<Cube> seed_cubes)
           
static List<javax.vecmath.Point3d> getSurfaceWyvill(List<Cube> seed_cubes, MarchingCubes.ScalarField scalar_field)
           
static List<javax.vecmath.Point3d> getSurfaceWyvill(javax.vecmath.Vector3d cube_size, MarchingCubes.ScalarField scalar_field, List<Cube> seed_cubes)
           
 boolean isInside(javax.vecmath.Point3d point)
           
protected  void setCubeSize(double cube_size)
           
protected  void setCubeSize(javax.vecmath.Vector3d cube_size)
           
protected  void setScalarField(MarchingCubes.ScalarField scalar_field)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CUBE_SIZE

public static final javax.vecmath.Vector3d DEFAULT_CUBE_SIZE

scalar_field

protected MarchingCubes.ScalarField scalar_field

cube_size

protected javax.vecmath.Vector3d cube_size

vertex_mapping

protected HashMap<javax.vecmath.Point3d,Boolean> vertex_mapping

cubes_mapping

protected HashMap<String,Cube> cubes_mapping
Constructor Detail

MarchingCubes

protected MarchingCubes()
Method Detail

getSurfaceWyvill

public static List<javax.vecmath.Point3d> getSurfaceWyvill(List<Cube> seed_cubes,
                                                           MarchingCubes.ScalarField scalar_field)

getSurfaceWyvill

public static List<javax.vecmath.Point3d> getSurfaceWyvill(javax.vecmath.Vector3d cube_size,
                                                           MarchingCubes.ScalarField scalar_field,
                                                           List<Cube> seed_cubes)

getManifoldWyvill

public static MarchingCubes.Manifold getManifoldWyvill(List<Cube> seed_cubes,
                                                       MarchingCubes.ScalarField scalar_field)

getManifoldWyvill

public static MarchingCubes.Manifold getManifoldWyvill(javax.vecmath.Vector3d cube_size,
                                                       MarchingCubes.ScalarField scalar_field,
                                                       List<Cube> seed_cubes)

getSurfaceLorensen

public static List<javax.vecmath.Point3d> getSurfaceLorensen(List<Cube> seed_cubes,
                                                             MarchingCubes.ScalarField scalar_field)

getSurfaceLorensen

public static List<javax.vecmath.Point3d> getSurfaceLorensen(javax.vecmath.Vector3d cube_size,
                                                             MarchingCubes.ScalarField scalar_field,
                                                             List<Cube> seed_cubes)

getManifoldLorensen

public static MarchingCubes.Manifold getManifoldLorensen(List<Cube> seed_cubes,
                                                         MarchingCubes.ScalarField scalar_field)

getManifoldLorensen

public static MarchingCubes.Manifold getManifoldLorensen(javax.vecmath.Vector3d cube_size,
                                                         MarchingCubes.ScalarField scalar_field,
                                                         List<Cube> seed_cubes)

getEngine

public static MarchingCubes getEngine(javax.vecmath.Vector3d cube_size,
                                      MarchingCubes.ScalarField scalar_field)

getScalar_field

public MarchingCubes.ScalarField getScalar_field()

getCubeSize

public javax.vecmath.Vector3d getCubeSize()

getCube

public Cube getCube(javax.vecmath.Point3d point)

getCube

public Cube getCube(int index_x,
                    int index_y,
                    int index_z)

isInside

public boolean isInside(javax.vecmath.Point3d point)

getCubes

public List<Cube> getCubes(List<javax.vecmath.Point3d> seed_points)

getSurfaceCubes

public List<Cube> getSurfaceCubes(List<Cube> seed_cubes)

getInternalCubes

public List<Cube> getInternalCubes(List<Cube> seed_cubes)

getSurfaceWyvill

public List<javax.vecmath.Point3d> getSurfaceWyvill(List<Cube> seed_cubes)

getManifoldWyvill

public MarchingCubes.Manifold getManifoldWyvill(List<Cube> seed_cubes)

getSurfaceLorensen

public List<javax.vecmath.Point3d> getSurfaceLorensen(List<Cube> seed_cubes)

getManifoldLorensen

public MarchingCubes.Manifold getManifoldLorensen(List<Cube> seed_cubes)

setScalarField

protected void setScalarField(MarchingCubes.ScalarField scalar_field)

setCubeSize

protected void setCubeSize(double cube_size)

setCubeSize

protected void setCubeSize(javax.vecmath.Vector3d cube_size)