ProGAL.geom3d.complex.alphaComplex
Class AlphaComplex

java.lang.Object
  extended by ProGAL.geom3d.complex.alphaComplex.AlphaFiltration
      extended by ProGAL.geom3d.complex.alphaComplex.AlphaComplex
All Implemented Interfaces:
SimplicialComplex
Direct Known Subclasses:
ProteinComplex

public class AlphaComplex
extends AlphaFiltration
implements SimplicialComplex

An alpha complex for a set of d-dimensional points and a real number alpha is a subset of the Delaunay complex where all simplices that can be enclosed by an alpha-probe (a hypersphere of radius alpha), without the probe enclosing any points, are removed.

Author:
R. Fonseca

Constructor Summary
AlphaComplex(java.util.List<Point> pl, double alpha)
          Build the alpha-complex of the specified point-list.
AlphaComplex(RegularComplex d3d, double alpha)
          Build the alpha-complex of the specified Delaunay complex.
 
Method Summary
 void getAllCavities(java.util.ArrayList<CTetrahedron> tetras, int lowerBound, J3DScene scene)
           
 void getAllCavityPaths(java.util.ArrayList<CTetrahedron> tetras, J3DScene scene)
           
 java.util.ArrayList<CTetrahedron> getAllDeepestCavityTetrahedra(int depthBound)
           
 java.util.List<CEdge> getAllEdges()
           
 java.util.List<Simplex> getAllSimplices()
           
 double getAlpha()
           
 void getCavity(CTetrahedron t, int lowerBound, J3DScene scene)
           
 void getCavityPath(CTetrahedron deep, J3DScene scene)
           
 CTetrahedron getDeepestCavityTetrahedron()
           
 int getDepth(Simplex s)
          Return the depth of simplex from the surface of the alpha complex.
 java.util.List<CEdge> getEdges()
           
 java.util.List<Simplex> getSimplices()
           
 java.util.List<CTetrahedron> getTetrahedra()
           
 java.util.List<CTriangle> getTriangles()
           
 void getVoids(J3DScene scene)
           
static void main(java.lang.String[] args)
           
 void setAlpha(double alpha)
           
 
Methods inherited from class ProGAL.geom3d.complex.alphaComplex.AlphaFiltration
getAlphaShape, getAttached, getBettiNumbers, getBettiPersistence, getDim, getEdges, getInAlpha, getOnCH, getPairSimplices, getSimplices, getSurfaceTriangles, getTetrahedra, getTetrahedra, getTriangles, getVertexHull, getVertices
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ProGAL.geom3d.complex.SimplicialComplex
getVertices
 

Constructor Detail

AlphaComplex

public AlphaComplex(java.util.List<Point> pl,
                    double alpha)
Build the alpha-complex of the specified point-list. Note that an entire Delaunay complex is built as part of this constructor.


AlphaComplex

public AlphaComplex(RegularComplex d3d,
                    double alpha)
Build the alpha-complex of the specified Delaunay complex.

Method Detail

getAlpha

public double getAlpha()

getEdges

public java.util.List<CEdge> getEdges()
Specified by:
getEdges in interface SimplicialComplex
Overrides:
getEdges in class AlphaFiltration

getTriangles

public java.util.List<CTriangle> getTriangles()
Specified by:
getTriangles in interface SimplicialComplex
Overrides:
getTriangles in class AlphaFiltration

getTetrahedra

public java.util.List<CTetrahedron> getTetrahedra()
Specified by:
getTetrahedra in interface SimplicialComplex
Overrides:
getTetrahedra in class AlphaFiltration

getSimplices

public java.util.List<Simplex> getSimplices()
Overrides:
getSimplices in class AlphaFiltration

getAllSimplices

public java.util.List<Simplex> getAllSimplices()

getAllEdges

public java.util.List<CEdge> getAllEdges()

getDepth

public int getDepth(Simplex s)
Return the depth of simplex from the surface of the alpha complex. Note that a depth is returned for all simplices in the Delaunay complex. The depth of exposed simplices not in the alpha complex is -1. The depth of all other k-simplices (including simplices in voids) is the smallest depth of adjacent k-simplices plus one.


setAlpha

public void setAlpha(double alpha)

getVoids

public void getVoids(J3DScene scene)

getDeepestCavityTetrahedron

public CTetrahedron getDeepestCavityTetrahedron()

getAllDeepestCavityTetrahedra

public java.util.ArrayList<CTetrahedron> getAllDeepestCavityTetrahedra(int depthBound)

getCavity

public void getCavity(CTetrahedron t,
                      int lowerBound,
                      J3DScene scene)

getAllCavities

public void getAllCavities(java.util.ArrayList<CTetrahedron> tetras,
                           int lowerBound,
                           J3DScene scene)

getAllCavityPaths

public void getAllCavityPaths(java.util.ArrayList<CTetrahedron> tetras,
                              J3DScene scene)

getCavityPath

public void getCavityPath(CTetrahedron deep,
                          J3DScene scene)

main

public static void main(java.lang.String[] args)