Package WildMagic.LibImagics.Extraction
Class ExtractSurfaceCubes.VETable
- java.lang.Object
-
- WildMagic.LibImagics.Extraction.ExtractSurfaceCubes.VETable
-
- Enclosing class:
- ExtractSurfaceCubes
protected class ExtractSurfaceCubes.VETable extends java.lang.Object
Vertex-edge table to support mesh topology.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ExtractSurfaceCubes.VETable.Vertex
Vertex class which stores the coordinates of an edge-vertex along with the indices of adjacent vertices which comprise the edges intersected by the level surface.
-
Field Summary
Fields Modifier and Type Field Description protected ExtractSurfaceCubes.VETable.Vertex[]
m_akVertex
internal data
-
Constructor Summary
Constructors Constructor Description VETable()
Allocate a table for all possible edge vertices.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vector3f
get(int i)
Access the specified edge vertex.ExtractSurfaceCubes.Triangle
getNextTriangle()
Loop through all edge connections extracting triangles.float
getX(int i)
Access the x sample space coordinates for the specified edge vertex.float
getY(int i)
Access the y sample space coordinates for the specified edge vertex.float
getZ(int i)
Access the z sample space coordinates for the specified edge vertex.void
insert(int i, float x, float y, float z)
Insert a vertex along the specified edge.void
insert(int i0, int i1)
Insert an edge connecting the specified vertices.void
Insert(int i0, int i1)
void
Insert(int i, Vector3f P)
private boolean
remove(TriangleKey tri)
void
removeTriangles(java.util.Vector<Vector3f> vertices, java.util.Vector<TriangleKey> triangles)
protected void
removeVertex(int i)
Mark the specified edge vertex as no longer being used to create triangles.
-
-
-
Field Detail
-
m_akVertex
protected ExtractSurfaceCubes.VETable.Vertex[] m_akVertex
internal data
-
-
Method Detail
-
get
public Vector3f get(int i)
Access the specified edge vertex.- Parameters:
i
- int index of the specific edge vertex- Returns:
- Vector3f sample space coordinates of the stored vertex
-
getNextTriangle
public ExtractSurfaceCubes.Triangle getNextTriangle()
Loop through all edge connections extracting triangles.- Returns:
- Triangle new index containing the indices into the array of edge vertices, one index for each vertex in the triangle.
-
getX
public float getX(int i)
Access the x sample space coordinates for the specified edge vertex.- Parameters:
i
- int index of the specified edge vertex- Returns:
- float x sample space coordinate for vertex
-
getY
public float getY(int i)
Access the y sample space coordinates for the specified edge vertex.- Parameters:
i
- int index of the specified edge vertex- Returns:
- float y sample space coordinate for vertex
-
getZ
public float getZ(int i)
Access the z sample space coordinates for the specified edge vertex.- Parameters:
i
- int index of the specified edge vertex- Returns:
- float z sample space coordinate for vertex
-
insert
public void insert(int i, float x, float y, float z)
Insert a vertex along the specified edge.- Parameters:
i
- int index indicating an edge in the voxelx
- float x sample space coordinates for the vertexy
- float y sample space coordinates for the vertexz
- float z sample space coordinates for the vertex
-
insert
public void insert(int i0, int i1)
Insert an edge connecting the specified vertices.- Parameters:
i0
- int index indicating one edge in the voxeli1
- int index indicating second edge in the voxel
-
Insert
public void Insert(int i0, int i1)
-
Insert
public void Insert(int i, Vector3f P)
-
removeTriangles
public void removeTriangles(java.util.Vector<Vector3f> vertices, java.util.Vector<TriangleKey> triangles)
-
removeVertex
protected void removeVertex(int i)
Mark the specified edge vertex as no longer being used to create triangles.- Parameters:
i
- int index of the edge vertex
-
remove
private boolean remove(TriangleKey tri)
-
-