97 hasMPISupport_ =
true;
113 template <
typename dataType,
typename triangulationType>
114 int buildField(
const triangulationType &triangulation);
120 template <
typename dataType,
typename triangulationType>
121 bool compare(
const triangulationType &triangulation,
124 float &weightValue)
const;
135 const size_t mTime) {
142 template <
typename dataType>
144#ifndef TTK_ENABLE_KAMIKAZE
147 "Attempting to access vector before setting input vector field");
152 const dataType *dataArray
154 result[0] =
static_cast<float>(dataArray[3 * vertex + 0]);
155 result[1] =
static_cast<float>(dataArray[3 * vertex + 1]);
156 result[2] =
static_cast<float>(dataArray[3 * vertex + 2]);
165 if(data !=
nullptr) {
182 }
else if(dim == 3) {
206 template <
typename triangulationType>
208 const triangulationType &triangulation)
const;
213 template <
typename dataType,
typename triangulationType>
215 const triangulationType &triangulation)
const;
228 template <
typename triangulationType>
230 const triangulationType &triangulation,
231 bool isReverse =
false)
const;
236 template <
typename dataType,
typename triangulationType>
238 std::vector<Cell> &vpath,
239 const triangulationType &triangulation,
240 const bool stopOnCycle)
const;
246 template <
typename dataType,
typename triangulationType>
248 std::vector<Cell> &vpath,
249 const triangulationType &triangulation,
250 std::vector<char> &previousDescPaths,
251 std::vector<char> &previousAscPaths)
const;
256 template <
typename dataType,
typename triangulationType>
258 std::vector<Cell> &vpath,
259 const triangulationType &triangulation,
260 const bool stopOnCycle)
const;
266 template <
typename dataType,
typename triangulationType>
268 std::vector<Cell> &vpath,
269 const triangulationType &triangulation,
270 std::vector<char> &previousDescPaths,
271 std::vector<char> &previousAscPaths)
const;
277 template <
typename triangulationType>
280 const std::vector<bool> &isVisited,
281 std::vector<Cell> *
const vpath,
282 const triangulationType &triangulation,
283 const bool stopIfMultiConnected =
false,
284 const bool enableCycleDetector
291 template <
typename triangulationType>
295 const std::vector<bool> &isVisited,
296 std::vector<Cell> *
const vpath,
297 const triangulationType &triangulation)
const;
302 template <
typename triangulationType>
305 const triangulationType &triangulation,
306 std::vector<Cell> *
const wall =
nullptr,
307 std::vector<SimplexId> *
const saddles
313 template <
typename triangulationType>
316 const triangulationType &triangulation,
317 std::vector<Cell> *
const wall =
nullptr,
318 std::vector<SimplexId> *
const saddles
326 template <
typename dataType,
typename triangulationType>
329 const triangulationType &triangulation)
const;
336 template <
typename dataType,
typename triangulationType>
339 const triangulationType &triangulation)
const;
349 template <
typename dataType,
typename triangulationType>
351 const std::array<std::vector<SimplexId>, 4> &criticalCellsByDim,
352 std::vector<std::array<float, 3>> &points,
353 std::vector<char> &cellDimensions,
354 std::vector<SimplexId> &cellIds,
355 std::vector<char> &isOnBoundary,
356 std::vector<SimplexId> &PLVertexIdentifiers,
357 const triangulationType &triangulation)
const;
363 template <
typename dataType,
typename triangulationType>
365 std::vector<char> &cellDimensions,
366 std::vector<SimplexId> &cellIds,
367 std::vector<char> &isOnBoundary,
368 std::vector<SimplexId> &PLVertexIdentifiers,
369 const triangulationType &triangulation)
const;
374 template <
typename triangulationType>
376 std::array<std::vector<SimplexId>, 4> &criticalCellsByDim,
377 const triangulationType &triangulation)
const;
383 void setCellToGhost(
const int cellDim,
const SimplexId cellId);
390 const std::array<std::vector<SimplexId>, 4> &criticalCellsByDim,
391 const SimplexId *
const ascendingManifold,
392 const SimplexId *
const descendingManifold,
393 std::vector<SimplexId> &manifoldSize)
const;
398 template <
typename triangulationType>
400 std::vector<char> &points_pairOrigins,
401 std::vector<char> &cells_pairTypes,
402 std::vector<SimplexId> &cellsIds,
403 std::vector<char> &cellsDimensions,
404 const triangulationType &triangulation)
const;
410 using outwardStarType = std::array<std::vector<CellOutExt>, 4>;
421 template <
typename dataType,
typename triangulationType>
422 inline void OutwardStar(outwardStarType &os,
424 const triangulationType &triangulation)
const;
435 std::pair<size_t, SimplexId>
436 numUnpairedFaces(
const CellOutExt &c,
const outwardStarType &ls)
const;
437 std::pair<size_t, SimplexId>
439 const outwardStarType &ls)
const;
440 std::pair<size_t, SimplexId>
442 const outwardStarType &ls)
const;
450 template <
typename triangulationType>
453 const triangulationType &triangulation);
461 template <
typename dataType,
typename triangulationType>
462 int processOutwardStars(
const triangulationType &triangulation);
473 template <
typename dataType,
typename triangulationType>
475 const triangulationType &triangulation)
const;
480 template <
typename triangulationType>
482 const triangulationType &triangulation)
const;
487 template <
typename triangulationType>
489 const triangulationType &triangulation)
const;
494 template <
typename triangulationType>
496 const triangulationType &triangulation)
const;
501 template <
typename triangulationType>
503 const std::vector<Cell> &vpath,
504 const triangulationType &triangulation)
const;
509 template <
typename triangulationType>
511 const std::vector<Cell> &vpath,
512 const triangulationType &triangulation)
const;