public class Tet
extends java.lang.Object
Constructor and Description |
---|
Tet(Tetrahedron tetra) |
Tet(Vertex[] corners) |
Tet(Vertex v0,
Vertex v1,
Vertex v2,
Vertex v3) |
Modifier and Type | Method and Description |
---|---|
int |
apex(Tet tet)
Returns index of a vertex facing tetrahedron tet
|
java.util.ArrayList<Tet> |
breadthFirstTetrahedra(int maxDepth) |
java.util.ArrayList<Vertex> |
breadthFirstVertices(int maxDepth) |
double |
circumRadius()
Calculate the radius of the circumsphere.
|
Tet |
clone() |
Triangle |
commonFace(Tet t) |
void |
fromSceneEdges(J3DScene scene) |
void |
fromSceneFace(J3DScene scene,
int i) |
void |
fromSceneFaces(J3DScene scene) |
int |
getAlph() |
Sphere |
getCircumSphere()
Returns the sphere circumscribing this tetrahedron
|
double |
getCircumSphereRadius()
Returns the radius of the sphere circumscribing this tetrahedron
|
Edge[] |
getCommonEdges(Tet t) |
Vertex |
getCorner(int i) |
Vertex[] |
getCornerPair(Vertex a,
Vertex b)
Returns the pair of vertices of this tetrahedron other than a and b
|
int |
getCount() |
java.util.Set<Edge> |
getEdges() |
void |
getEdgeSharingTetrahedra(Vertex a,
Vertex b,
java.util.HashSet<Tet> processedTets,
java.util.HashSet<Vertex> processedVers)
Returns all tetrahedra sharing the edge of this tetrahedron between vertices a and b
|
java.util.List<Tet> |
getFaceSharingTetrahedra()
Returns face sharing tetrahedra - big tetrahedra are omitted
|
boolean |
getFlag() |
java.util.List<Tri> |
getListOfTris() |
Tet |
getNeighbor(int i) |
Tet |
getNeighbour(int i) |
Vertex |
getOppVertex(Tet tet)
Returns the vertex of tetrahedron TET not in this tetrahedron.
|
Vertex |
getOppVertexSlow(Tet tet)
Returns the vertex of tetrahedron TET not in this tetrahedron.
|
Tri |
getTri(int i) |
Tri |
getTri(Vertex v) |
Tri[] |
getTris() |
void |
getVertexSharingTetrahedra(Vertex a,
double alpha,
java.util.HashSet<Tet> alphaTets,
java.util.HashSet<Tet> processedTets,
java.util.HashSet<Vertex> processedVers)
Returns all tetrahedra sharing a given vertex a of this tetrahedron
|
double |
getVolume()
Get the volume of the tetrahedron.
|
boolean |
hasEdge(Edge e) |
int |
hashCode() |
boolean |
hasNeighbor(Tet t) |
boolean |
hasVertex(Vertex v) |
int |
indexOf_slow(Vertex v) |
int |
indexOf(Vertex v) |
int |
indexOf(Vertex a,
Vertex b,
Vertex c) |
boolean |
insideCircumsphere(Point p) |
boolean |
insideFace(int face,
Point p) |
boolean |
isAlive() |
boolean |
isAlpha(double alpha)
returns TRUE if this terahedron is in the alpha complex
|
boolean |
isBig()
Returns TRUE if one of the corners is a big point - there are 4 big points with id's 0, 1, 2 , 3
|
boolean |
isConvex(Tet tet)
returns true if this tetrahedron and its neighbor tet form a convex set.
|
boolean |
isFlat() |
void |
killEdges() |
int |
nrRotating() |
void |
removeEdge(Edge e) |
void |
reviveEdges() |
void |
setAlive(boolean dAlive) |
void |
setAlph(int i) |
void |
setCircumSphere() |
void |
setEdge(Edge e) |
void |
setFlag(boolean flag) |
void |
setTri(Tri t,
int i) |
protected void |
sortCorners()
Sorts the corners while maintaining that corners[i] is not on the shared
face between
this and neighbors[i]. |
void |
toConsole() |
void |
toConsoleNeighbors() |
void |
toSceneEdges(J3DScene scene,
java.awt.Color clr,
double width) |
void |
toSceneEdges(J3DScene scene,
java.awt.Color clr,
double width,
double bigWidth) |
Shape |
toSceneFace(J3DScene scene,
int i,
java.awt.Color clr) |
void |
toSceneFaces(J3DScene scene,
java.awt.Color clr) |
java.lang.String |
toString() |
public Tet(Vertex[] corners)
public Tet(Tetrahedron tetra)
public Tet clone()
clone
in class java.lang.Object
public void setEdge(Edge e)
public void removeEdge(Edge e)
public void setTri(Tri t, int i)
public Tri getTri(int i)
public Tri[] getTris()
public Vertex getCorner(int i)
public Tet getNeighbor(int i)
public boolean getFlag()
public void setFlag(boolean flag)
public Vertex[] getCornerPair(Vertex a, Vertex b)
public Sphere getCircumSphere()
public double getCircumSphereRadius()
public void setCircumSphere()
public double circumRadius()
public double getVolume()
public void setAlph(int i)
public int getAlph()
public boolean hasVertex(Vertex v)
public boolean hasEdge(Edge e)
public boolean hasNeighbor(Tet t)
public boolean isAlive()
public void setAlive(boolean dAlive)
public boolean isBig()
public boolean isFlat()
public boolean isConvex(Tet tet)
public boolean isAlpha(double alpha)
public int getCount()
public int nrRotating()
public Vertex getOppVertexSlow(Tet tet)
public Vertex getOppVertex(Tet tet)
public java.util.List<Tet> getFaceSharingTetrahedra()
public Tet getNeighbour(int i)
public void getEdgeSharingTetrahedra(Vertex a, Vertex b, java.util.HashSet<Tet> processedTets, java.util.HashSet<Vertex> processedVers)
public void getVertexSharingTetrahedra(Vertex a, double alpha, java.util.HashSet<Tet> alphaTets, java.util.HashSet<Tet> processedTets, java.util.HashSet<Vertex> processedVers)
public java.util.Set<Edge> getEdges()
public void killEdges()
public void reviveEdges()
public boolean insideFace(int face, Point p)
public boolean insideCircumsphere(Point p)
public int apex(Tet tet)
public int indexOf(Vertex v)
public int indexOf_slow(Vertex v)
protected final void sortCorners()
this
and neighbors[i]. Uses 5 comparisons which is optimal.public java.lang.String toString()
toString
in class java.lang.Object
public void toConsole()
public void toConsoleNeighbors()
public void fromSceneEdges(J3DScene scene)
public void toSceneEdges(J3DScene scene, java.awt.Color clr, double width)
public void toSceneEdges(J3DScene scene, java.awt.Color clr, double width, double bigWidth)
public void toSceneFaces(J3DScene scene, java.awt.Color clr)
public void fromSceneFaces(J3DScene scene)
public void fromSceneFace(J3DScene scene, int i)
public java.util.ArrayList<Tet> breadthFirstTetrahedra(int maxDepth)
public java.util.List<Tri> getListOfTris()
public java.util.ArrayList<Vertex> breadthFirstVertices(int maxDepth)
public int hashCode()
hashCode
in class java.lang.Object