/** * Gets the neighbours of this triangle. If there is no neighbour triangle, * the array element is <code>null</code> * * @return an array containing the 3 neighbours of this triangle */ public QuadEdgeTriangle[] getNeighbours() { QuadEdgeTriangle[] neigh = new QuadEdgeTriangle[3]; for (int i = 0; i < 3; i++) { neigh[i] = (QuadEdgeTriangle) getEdge(i).sym().getData(); } return neigh; }
public QuadEdgeTriangle getAdjacentTriangleAcrossEdge(int edgeIndex) { return (QuadEdgeTriangle) getEdge(edgeIndex).sym().getData(); }
/** * Gets the triangles which are adjacent (include) to a * given vertex of this triangle. * * @param vertexIndex the vertex to query * @return a list of the vertex-adjacent triangles */ public List getTrianglesAdjacentToVertex(int vertexIndex) { // Assert: isVertex List adjTris = new ArrayList(); QuadEdge start = getEdge(vertexIndex); QuadEdge qe = start; do { QuadEdgeTriangle adjTri = (QuadEdgeTriangle) qe.getData(); if (adjTri != null) { adjTris.add(adjTri); } qe = qe.oNext(); } while (qe != start); return adjTris; }
private void process(QuadEdgeTriangle currTri, TraversalVisitor visitor) { currTri.getNeighbours(); for (int i = 0; i < 3; i++) { QuadEdgeTriangle neighTri = (QuadEdgeTriangle) currTri.getEdge(i).sym().getData(); if (neighTri == null) continue; if (visitor.visit(currTri, i, neighTri)) triQueue.addLast(neighTri); } }
/** * Gets the neighbours of this triangle. If there is no neighbour triangle, * the array element is <code>null</code> * * @return an array containing the 3 neighbours of this triangle */ public QuadEdgeTriangle[] getNeighbours() { QuadEdgeTriangle[] neigh = new QuadEdgeTriangle[3]; for (int i = 0; i < 3; i++) { neigh[i] = (QuadEdgeTriangle) getEdge(i).sym().getData(); } return neigh; }
/** * Gets the triangles which are adjacent (include) to a * given vertex of this triangle. * * @param vertexIndex the vertex to query * @return a list of the vertex-adjacent triangles */ public List getTrianglesAdjacentToVertex(int vertexIndex) { // Assert: isVertex List adjTris = new ArrayList(); QuadEdge start = getEdge(vertexIndex); QuadEdge qe = start; do { QuadEdgeTriangle adjTri = (QuadEdgeTriangle) qe.getData(); if (adjTri != null) { adjTris.add(adjTri); } qe = qe.oNext(); } while (qe != start); return adjTris; }
public QuadEdgeTriangle getAdjacentTriangleAcrossEdge(int edgeIndex) { return (QuadEdgeTriangle) getEdge(edgeIndex).sym().getData(); }
private void process(QuadEdgeTriangle currTri, TraversalVisitor visitor) { currTri.getNeighbours(); for (int i = 0; i < 3; i++) { QuadEdgeTriangle neighTri = (QuadEdgeTriangle) currTri.getEdge(i).sym().getData(); if (neighTri == null) continue; if (visitor.visit(currTri, i, neighTri)) triQueue.addLast(neighTri); } }
QuadEdgeTriangle newBorderTriangleAfterRemovedTriangle = (QuadEdgeTriangle) newBorderEdgeAfterRemovedEdge.getData(); QuadEdge newBorderEdgeBeforeRemovedEdge = borderTriangleToRemove.getEdge(indexBeforeRemovedEdge).sym(); QuadEdgeTriangle newBorderTriangleBeforeRemovedTriangle = (QuadEdgeTriangle) newBorderEdgeBeforeRemovedEdge.getData();
QuadEdgeTriangle newBorderTriangle = (QuadEdgeTriangle) newBorderEdge.getData();