Skip to content

Commit

Permalink
hybrid between old and LUT implicit triangulation
Browse files Browse the repository at this point in the history
  • Loading branch information
JonasLukasczyk committed Sep 14, 2023
1 parent 396d71a commit bd4d638
Show file tree
Hide file tree
Showing 2 changed files with 312 additions and 193 deletions.
328 changes: 189 additions & 139 deletions core/base/implicitTriangulation/ImplicitTriangulation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -357,144 +357,6 @@ bool ImplicitTriangulation::TTK_TRIANGULATION_INTERNAL(isTriangleOnBoundary)(
return false;
}

template <typename Derived>
int ImplicitTriangulationCRTP<Derived>::TTK_TRIANGULATION_INTERNAL(
getVertexNeighbor)(const SimplexId &vertexId,
const int &localNeighborId,
SimplexId &neighborId) const {

#ifndef TTK_ENABLE_KAMIKAZE
if(localNeighborId < 0
or localNeighborId >= getVertexNeighborNumber(vertexId))
return -1;
#endif // !TTK_ENABLE_KAMIKAZE

switch(this->underlying().getVertexPosition(vertexId)) {
case VertexPosition::CENTER_3D:
neighborId = vertexId + this->vertexNeighborABCDEFGH_[localNeighborId];
break;
case VertexPosition::FRONT_FACE_3D:
neighborId = vertexId + this->vertexNeighborABCD_[localNeighborId];
break;
case VertexPosition::BACK_FACE_3D:
neighborId = vertexId + this->vertexNeighborEFGH_[localNeighborId];
break;
case VertexPosition::TOP_FACE_3D:
neighborId = vertexId + this->vertexNeighborAEFB_[localNeighborId];
break;
case VertexPosition::BOTTOM_FACE_3D:
neighborId = vertexId + this->vertexNeighborGHDC_[localNeighborId];
break;
case VertexPosition::LEFT_FACE_3D:
neighborId = vertexId + this->vertexNeighborAEGC_[localNeighborId];
break;
case VertexPosition::RIGHT_FACE_3D:
neighborId = vertexId + this->vertexNeighborBFHD_[localNeighborId];
break;
case VertexPosition::TOP_FRONT_EDGE_3D: // ab
neighborId = vertexId + this->vertexNeighborAB_[localNeighborId];
break;
case VertexPosition::BOTTOM_FRONT_EDGE_3D: // cd
neighborId = vertexId + this->vertexNeighborCD_[localNeighborId];
break;
case VertexPosition::LEFT_FRONT_EDGE_3D: // ac
neighborId = vertexId + this->vertexNeighborAC_[localNeighborId];
break;
case VertexPosition::RIGHT_FRONT_EDGE_3D: // bd
neighborId = vertexId + this->vertexNeighborBD_[localNeighborId];
break;
case VertexPosition::TOP_BACK_EDGE_3D: // ef
neighborId = vertexId + this->vertexNeighborEF_[localNeighborId];
break;
case VertexPosition::BOTTOM_BACK_EDGE_3D: // gh
neighborId = vertexId + this->vertexNeighborGH_[localNeighborId];
break;
case VertexPosition::LEFT_BACK_EDGE_3D: // eg
neighborId = vertexId + this->vertexNeighborEG_[localNeighborId];
break;
case VertexPosition::RIGHT_BACK_EDGE_3D: // fh
neighborId = vertexId + this->vertexNeighborFH_[localNeighborId];
break;
case VertexPosition::TOP_LEFT_EDGE_3D: // ae
neighborId = vertexId + this->vertexNeighborAE_[localNeighborId];
break;
case VertexPosition::TOP_RIGHT_EDGE_3D: // bf
neighborId = vertexId + this->vertexNeighborBF_[localNeighborId];
break;
case VertexPosition::BOTTOM_LEFT_EDGE_3D: // cg
neighborId = vertexId + this->vertexNeighborCG_[localNeighborId];
break;
case VertexPosition::BOTTOM_RIGHT_EDGE_3D: // dh
neighborId = vertexId + this->vertexNeighborDH_[localNeighborId];
break;
case VertexPosition::TOP_LEFT_FRONT_CORNER_3D: // a
neighborId = vertexId + this->vertexNeighborA_[localNeighborId];
break;
case VertexPosition::TOP_RIGHT_FRONT_CORNER_3D: // b
neighborId = vertexId + this->vertexNeighborB_[localNeighborId];
break;
case VertexPosition::BOTTOM_LEFT_FRONT_CORNER_3D: // c
neighborId = vertexId + this->vertexNeighborC_[localNeighborId];
break;
case VertexPosition::BOTTOM_RIGHT_FRONT_CORNER_3D: // d
neighborId = vertexId + this->vertexNeighborD_[localNeighborId];
break;
case VertexPosition::TOP_LEFT_BACK_CORNER_3D: // e
neighborId = vertexId + this->vertexNeighborE_[localNeighborId];
break;
case VertexPosition::TOP_RIGHT_BACK_CORNER_3D: // f
neighborId = vertexId + this->vertexNeighborF_[localNeighborId];
break;
case VertexPosition::BOTTOM_LEFT_BACK_CORNER_3D: // g
neighborId = vertexId + this->vertexNeighborG_[localNeighborId];
break;
case VertexPosition::BOTTOM_RIGHT_BACK_CORNER_3D: // h
neighborId = vertexId + this->vertexNeighborH_[localNeighborId];
break;
case VertexPosition::CENTER_2D:
neighborId = vertexId + this->vertexNeighbor2dABCD_[localNeighborId];
break;
case VertexPosition::TOP_EDGE_2D:
neighborId = vertexId + this->vertexNeighbor2dAB_[localNeighborId];
break;
case VertexPosition::BOTTOM_EDGE_2D:
neighborId = vertexId + this->vertexNeighbor2dCD_[localNeighborId];
break;
case VertexPosition::LEFT_EDGE_2D:
neighborId = vertexId + this->vertexNeighbor2dAC_[localNeighborId];
break;
case VertexPosition::RIGHT_EDGE_2D:
neighborId = vertexId + this->vertexNeighbor2dBD_[localNeighborId];
break;
case VertexPosition::TOP_LEFT_CORNER_2D: // a
neighborId = vertexId + this->vertexNeighbor2dA_[localNeighborId];
break;
case VertexPosition::TOP_RIGHT_CORNER_2D: // b
neighborId = vertexId + this->vertexNeighbor2dB_[localNeighborId];
break;
case VertexPosition::BOTTOM_LEFT_CORNER_2D: // c
neighborId = vertexId + this->vertexNeighbor2dC_[localNeighborId];
break;
case VertexPosition::BOTTOM_RIGHT_CORNER_2D: // d
neighborId = vertexId + this->vertexNeighbor2dD_[localNeighborId];
break;
case VertexPosition::CENTER_1D:
neighborId = (localNeighborId == 0 ? vertexId + 1 : vertexId - 1);
break;
case VertexPosition::LEFT_CORNER_1D:
neighborId = vertexId + 1;
break;
case VertexPosition::RIGHT_CORNER_1D:
neighborId = vertexId - 1;
break;
default:
neighborId = -1;
break;
}

return 0;
}

const vector<vector<SimplexId>> *
ImplicitTriangulation::TTK_TRIANGULATION_INTERNAL(getVertexNeighbors)() {
if(vertexNeighborList_.empty()) {
Expand Down Expand Up @@ -2725,6 +2587,194 @@ const vector<vector<SimplexId>> *
}

int ImplicitTriangulation::preconditionVertexNeighborsInternal() {
if(dimensionality_ == 3) {
constexpr std::array<std::array<ttk::SimplexId, 3>, 64 * 14> localLUT{
{{0, -1, -1}, {1, -1, -1}, {0, 0, -1}, {1, 0, -1}, {0, -1, 0},
{1, -1, 0}, {1, 0, 0}, {-1, 0, 1}, {0, 0, 1}, {-1, 0, 0},
{-1, 1, 0}, {0, 1, 0}, {-1, 1, 1}, {0, 1, 1}, {0, -1, -1},
{1, -1, -1}, {0, 0, -1}, {1, 0, -1}, {0, -1, 0}, {1, -1, 0},
{1, 0, 0}, {0, 1, 0}, {0, 1, 1}, {0, 0, 1}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {-1, 0, 0}, {-1, 1, 0},
{0, 1, 0}, {-1, 0, 1}, {0, 0, 1}, {-1, 1, 1}, {0, 1, 1},
{0, 0, -1}, {0, -1, -1}, {0, -1, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {-1, 0, 0}, {-1, 1, 0}, {0, 1, 0}, {-1, 0, 1},
{0, 0, 1}, {-1, 1, 1}, {0, 1, 1}, {1, 0, 0}, {1, 0, -1},
{0, 0, -1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {0, 1, 1}, {0, 0, -1},
{1, 0, -1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {-1, 0, 0},
{-1, 1, 0}, {0, 1, 0}, {-1, 0, 1}, {0, 0, 1}, {-1, 1, 1},
{0, 1, 1}, {0, 0, -1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, -1, -1}, {1, -1, -1}, {0, 0, -1},
{1, 0, -1}, {0, -1, 0}, {1, -1, 0}, {1, 0, 0}, {-1, 0, 0},
{-1, 0, 1}, {0, 0, 1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, -1, -1}, {1, -1, -1}, {0, 0, -1}, {1, 0, -1},
{0, -1, 0}, {1, -1, 0}, {1, 0, 0}, {0, 0, 1}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, -1, 0}, {-1, 0, 0}, {-1, 0, 1}, {0, 0, 1}, {0, -1, -1},
{0, 0, -1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {-1, 0, 0},
{-1, 1, 0}, {0, 1, 0}, {-1, 0, 1}, {0, 0, 1}, {-1, 1, 1},
{0, 1, 1}, {0, -1, 0}, {1, -1, 0}, {1, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, -1, 0}, {1, -1, 0},
{1, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {-1, 0, 0}, {-1, 1, 0}, {0, 1, 0},
{-1, 0, 1}, {0, 0, 1}, {-1, 1, 1}, {0, 1, 1}, {0, -1, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{-1, 0, 0}, {-1, 1, 0}, {0, 1, 0}, {-1, 0, 1}, {0, 0, 1},
{-1, 1, 1}, {0, 1, 1}, {1, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 0, 0},
{0, 1, 0}, {0, 0, 1}, {0, 1, 1}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {-1, 0, 0}, {-1, 1, 0},
{0, 1, 0}, {-1, 0, 1}, {0, 0, 1}, {-1, 1, 1}, {0, 1, 1},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 1}, {0, 0, 1},
{1, -1, 0}, {1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, -1, 0}, {1, -1, 0}, {1, 0, 0}, {0, 0, 1}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, -1, 0},
{-1, 0, 0}, {-1, 0, 1}, {0, 0, 1}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, -1, -1}, {1, -1, -1},
{0, 0, -1}, {1, 0, -1}, {0, -1, 0}, {1, -1, 0}, {1, 0, 0},
{-1, 0, 0}, {-1, 1, 0}, {0, 1, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, -1, -1}, {1, -1, -1}, {0, 0, -1},
{1, 0, -1}, {0, -1, 0}, {1, -1, 0}, {1, 0, 0}, {0, 1, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, -1}, {-1, 0, 0}, {-1, 1, 0}, {0, 1, 0},
{0, -1, -1}, {0, -1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, -1},
{-1, 0, 0}, {-1, 1, 0}, {0, 1, 0}, {1, 0, -1}, {1, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, -1}, {1, 0, -1},
{1, 0, 0}, {0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, -1}, {-1, 0, 0}, {-1, 1, 0},
{0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, -1, -1}, {1, -1, -1}, {0, 0, -1}, {1, 0, -1}, {0, -1, 0},
{1, -1, 0}, {1, 0, 0}, {-1, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, -1, -1},
{1, -1, -1}, {0, 0, -1}, {1, 0, -1}, {0, -1, 0}, {1, -1, 0},
{1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, -1, -1}, {0, 0, -1},
{0, -1, 0}, {-1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
{0, 0, 0}}};
for(int i = 0; i < 64 * 14; i++) {
neighborIndexLUT_[i] = localLUT[i][0] + localLUT[i][1] * vshift_[0]
+ localLUT[i][2] * vshift_[1];
}
}

// V(abcdefgh)=V(g)+V(d)::{g,h}+V(h)::{g}+V(b)::{c,d,g,h}
this->vertexNeighborABCDEFGH_ = {
-vshift_[0] - vshift_[1], // a
Expand Down Expand Up @@ -3066,7 +3116,7 @@ int ImplicitTriangulation::preconditionVertexNeighborsInternal() {
};

return 0;
}
};

#ifdef TTK_ENABLE_MPI

Expand Down
Loading

0 comments on commit bd4d638

Please sign in to comment.