template<>
Rodin::Geometry::Mesh<Context::Sequential>::Builder class

Class used to build Mesh<Context::Sequential> instances.

Constructors, destructors, conversion operators

Builder() defaulted
Default constructor.
Builder(const Builder&) deleted
Deleted copy constructor.
Builder(Builder&&) defaulted
Move constructor.

Public functions

auto operator=(const Builder&) -> Builder& deleted
Deleted copy assignment.
auto operator=(Builder&&) -> Builder& defaulted
Move assignment.
auto reserve(size_t d, size_t count) -> Builder&
Reserves memory accross the data structure for the polytopes of the given dimension.
auto initialize(size_t sdim) -> Builder&
Initializes construction of the mesh object.
auto nodes(size_t n) -> Builder&
Sets the number of nodes in the mesh.
template<size_t Size>
auto vertex(const Real(&data)[Size]) -> Builder&
Adds vertex with coordinates given by the fixed size array.
auto vertex(std::initializer_list<Real> l) -> Builder&
Adds vertex with coordinates given by the initializer list.
auto vertex(const Real* data) -> Builder&
Adds vertex with coordinates given by the array pointer.
auto vertex(const Eigen::Map<const Math::Vector<Real>>& x) -> Builder&
Adds vertex with coordinates given by the mapped memory.
auto vertex(Math::Vector<Real>&& x) -> Builder&
Adds vertex with coordinates given by the vector.
auto vertex(const Math::Vector<Real>& x) -> Builder&
Adds vertex with coordinates given by the vector.
auto attribute(const std::pair<size_t, Index>& p, Attribute attr) -> Builder&
Sets the attribute of the given polytope.
auto polytope(Polytope::Type t, std::initializer_list<Index> vs) -> Builder&
Adds polytope defined by the given vertices.
auto polytope(Polytope::Type t, const IndexArray& vs) -> Builder&
Adds polytope defined by the given vertices.
auto polytope(Polytope::Type t, IndexArray&& vs) -> Builder&
Adds polytope defined by the given vertices.
auto finalize() -> Mesh
Finalizes construction of the Mesh<Context::Sequential> object.

Function documentation

template<> template<size_t Size>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(const Real(&data)[Size])

Adds vertex with coordinates given by the fixed size array.

template<>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(std::initializer_list<Real> l)

Adds vertex with coordinates given by the initializer list.

template<>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(const Real* data)

Adds vertex with coordinates given by the array pointer.

template<>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(const Eigen::Map<const Math::Vector<Real>>& x)

Adds vertex with coordinates given by the mapped memory.

template<>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(Math::Vector<Real>&& x)

Adds vertex with coordinates given by the vector.

template<>
Builder& Rodin::Geometry::Mesh<Context::Sequential>::Builder::vertex(const Math::Vector<Real>& x)

Adds vertex with coordinates given by the vector.

This method requires nodes(size_t) to be called beforehand.