8 const int &localNeighborId,
10 int decimation)
const {
12 const auto &p = this->vertexCoords_[vertexId];
18 if(dimensionality_ == 2) {
19 if((nbvoxels_[Di_] % decimation) and (p[0] + decimation > nbvoxels_[Di_])) {
20 shiftX = nbvoxels_[0] % decimation;
22 if((nbvoxels_[Dj_] % decimation) and (p[1] + decimation > nbvoxels_[Dj_])) {
23 shiftY = nbvoxels_[1] % decimation;
25 }
else if(dimensionality_ == 3) {
26 if((nbvoxels_[0] % decimation) and (p[0] + decimation > nbvoxels_[0])) {
27 shiftX = nbvoxels_[0] % decimation;
29 if((nbvoxels_[1] % decimation) and (p[1] + decimation > nbvoxels_[1])) {
30 shiftY = nbvoxels_[1] % decimation;
32 if((nbvoxels_[2] % decimation) and (p[2] + decimation > nbvoxels_[2])) {
33 shiftZ = nbvoxels_[2] % decimation;
37 switch(vertexPositions_[vertexId]) {
38 case VertexPosition::CENTER_3D:
42 case VertexPosition::FRONT_FACE_3D:
46 case VertexPosition::BACK_FACE_3D:
50 case VertexPosition::TOP_FACE_3D:
54 case VertexPosition::BOTTOM_FACE_3D:
58 case VertexPosition::LEFT_FACE_3D:
62 case VertexPosition::RIGHT_FACE_3D:
66 case VertexPosition::TOP_FRONT_EDGE_3D:
70 case VertexPosition::BOTTOM_FRONT_EDGE_3D:
74 case VertexPosition::LEFT_FRONT_EDGE_3D:
78 case VertexPosition::RIGHT_FRONT_EDGE_3D:
82 case VertexPosition::TOP_BACK_EDGE_3D:
86 case VertexPosition::BOTTOM_BACK_EDGE_3D:
90 case VertexPosition::LEFT_BACK_EDGE_3D:
94 case VertexPosition::RIGHT_BACK_EDGE_3D:
98 case VertexPosition::TOP_LEFT_EDGE_3D:
102 case VertexPosition::TOP_RIGHT_EDGE_3D:
106 case VertexPosition::BOTTOM_LEFT_EDGE_3D:
110 case VertexPosition::BOTTOM_RIGHT_EDGE_3D:
114 case VertexPosition::TOP_LEFT_FRONT_CORNER_3D:
118 case VertexPosition::TOP_RIGHT_FRONT_CORNER_3D:
122 case VertexPosition::BOTTOM_LEFT_FRONT_CORNER_3D:
126 case VertexPosition::BOTTOM_RIGHT_FRONT_CORNER_3D:
130 case VertexPosition::TOP_LEFT_BACK_CORNER_3D:
134 case VertexPosition::TOP_RIGHT_BACK_CORNER_3D:
138 case VertexPosition::BOTTOM_LEFT_BACK_CORNER_3D:
142 case VertexPosition::BOTTOM_RIGHT_BACK_CORNER_3D:
146 case VertexPosition::CENTER_2D:
150 case VertexPosition::TOP_EDGE_2D:
154 case VertexPosition::BOTTOM_EDGE_2D:
158 case VertexPosition::LEFT_EDGE_2D:
162 case VertexPosition::RIGHT_EDGE_2D:
166 case VertexPosition::TOP_LEFT_CORNER_2D:
170 case VertexPosition::TOP_RIGHT_CORNER_2D:
174 case VertexPosition::BOTTOM_LEFT_CORNER_2D:
178 case VertexPosition::BOTTOM_RIGHT_CORNER_2D:
182 case VertexPosition::CENTER_1D:
184 : vertexId - decimation);
186 case VertexPosition::LEFT_CORNER_1D:
187 neighborId = vertexId + decimation;
189 case VertexPosition::RIGHT_CORNER_1D:
190 neighborId = vertexId - decimation;