toxi.volume
Class HashIsoSurface

java.lang.Object
  extended by toxi.volume.HashIsoSurface
All Implemented Interfaces:
IsoSurface

public class HashIsoSurface
extends java.lang.Object
implements IsoSurface

HashMap based implementation of the IsoSurface interface. More memory efficient than ArrayIsoSurface and so better suited for very high-resolution volumes.


Field Summary
 float isoValue
           
 
Constructor Summary
HashIsoSurface(VolumetricSpace volume)
          Creates a new instance using the expected default vertex density of 50%.
HashIsoSurface(VolumetricSpace volume, float density)
          Creates a new instance using the given expected vertex density.
 
Method Summary
 toxi.geom.mesh.Mesh3D computeSurfaceMesh(toxi.geom.mesh.Mesh3D mesh, float iso)
          Computes the surface mesh for the given iso value.
 void reset()
          Resets mesh vertices to default positions and clears face index.
 void setExpectedDensity(float density)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isoValue

public float isoValue
Constructor Detail

HashIsoSurface

public HashIsoSurface(VolumetricSpace volume)
Creates a new instance using the expected default vertex density of 50%.

Parameters:
volume -
See Also:
setExpectedDensity(float)

HashIsoSurface

public HashIsoSurface(VolumetricSpace volume,
                      float density)
Creates a new instance using the given expected vertex density.

Parameters:
volume -
See Also:
setExpectedDensity(float)
Method Detail

computeSurfaceMesh

public toxi.geom.mesh.Mesh3D computeSurfaceMesh(toxi.geom.mesh.Mesh3D mesh,
                                                float iso)
Description copied from interface: IsoSurface
Computes the surface mesh for the given iso value. An existing mesh container can be reused (will be cleared) or created automatically (if null). In the latter case a simple TriangleMesh instance is created.

Specified by:
computeSurfaceMesh in interface IsoSurface
Parameters:
mesh - existing mesh container or null
iso - surface iso value
Returns:
Mesh3D instance

reset

public void reset()
Resets mesh vertices to default positions and clears face index. Needs to be called inbetween successive calls to computeSurfaceMesh(Mesh3D, float).

Specified by:
reset in interface IsoSurface

setExpectedDensity

public void setExpectedDensity(float density)