1#ifndef __FIBER_GRID_REGULAR_TOPOLOGY_HPP
2#define __FIBER_GRID_REGULAR_TOPOLOGY_HPP
5#include <vector/MultiIndex.hpp>
16namespace RegularTopology
27 for(
Dims_t i=0; i<Dims; i++)
105template <Dims_t Dims>
120template <Dims_t Dims>
151template <Dims_t Dims>
155 assert( Vertex < NumberOfVertices );
184using namespace RegularTopology;
valarray< size_t > size() const
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Identify the edges on a skeleton within a Grid.
Definition Edges.hpp:35
index_t BitIndex() const
From this given multiindex which is supposed to have index values of either 0 or 1 in each direction,...
Definition MultiIndex.hpp:489
static MultiIndex Axis(unsigned int orientation) noexcept
Return a MultiIndex that points just in the given orientation.
Definition MultiIndex.hpp:469
std::pair< MultiIndex< Dims >, MultiIndex< Dims > > ComputeEdgeVertices(index_t EdgeIndex, const MultiIndex< Dims > &NumberOfVertices)
Compute the both vertices that correspond to a certain edge, where the edge is linearly numbered over...
Definition RegularTopology.hpp:122
void ComputeFirstEdgeVertex(MultiIndex< Dims > &FirstVertex, int &Orientation, index_t EdgeIndex, const MultiIndex< Dims > &NumberOfVertices)
Given a linear index of an edge (the edge ID) and the multidimensional number of vertices,...
Definition RegularTopology.hpp:75
index_t ComputeEdgeIDfromVertexAndOrientation(const MultiIndex< Dims > &Vertex, int Orientation, const MultiIndex< Dims > &NumberOfVertices)
Given a vertex and an orientation (i.e.
Definition RegularTopology.hpp:152
index_t NumberOfEdges(const MultiIndex< Dims > &NumberOfVertices)
Compute the number of edges on a regular grid that consists of the given number of vertices.
Definition RegularTopology.hpp:24
int EdgeOrientation(index_t EdgeIndex, const MultiIndex< Dims > &NumberOfVertices)
Compute the orientation of a given edge index in a regular grid, given the number of vertices in the ...
Definition RegularTopology.hpp:46
MultiIndex< Dims > ComputeSecondEdgeVertex(const MultiIndex< Dims > &Vertex, int Orientation)
Given the vertex of an edge and an orientation (0,1,2), return the second vertex of the given edge.
Definition RegularTopology.hpp:106
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
IndexTypeConfig< sizeof(void *)>::index_t index_t
Define the index type as according to the size of a pointer, i.e.
Definition Index.hpp:22
A helper class to be used for multilinear index construction.
Definition MultiIndex.hpp:54
Convenience class to provide an input slot for selection a coordinate orientation along the X,...
Definition XYZOrientation.hpp:17