25#ifndef __BITPIT_INTERFACE_HPP__
26#define __BITPIT_INTERFACE_HPP__
31#include "bitpit_containers.hpp"
55 static std::array<std::array<double, 3>, 3>
evalRotationInverse(
const std::array<std::array<double, 3>, 3> &R);
56 static std::array<std::array<double, 3>, 3>
evalRotationTranspose(
const std::array<std::array<double, 3>, 3> &R);
58 void setOwner(
long owner,
int onwerFace);
63 void setNeigh(
long neigh,
int neighFace);
70 void display(std::ostream &out,
unsigned short int indent)
const;
79 void _initialize(
long owner,
long ownerFace,
long neigh,
long neighFace);
83template<
typename QualifiedInterface>
87 typedef typename ElementHalfFace<QualifiedInterface>::Winding Winding;
107#include "interface.tpp"
The ElementHalfFace class defines element half-faces.
The Element class provides an interface for defining elements.
The Interface class defines the interfaces among cells.
static std::array< std::array< double, 3 >, 3 > evalRotationInverse(const std::array< std::array< double, 3 >, 3 > &R)
void setOwner(long owner, int onwerFace)
void initialize(long id, ElementType type)
void setNeigh(long neigh, int neighFace)
std::array< long, 2 > getOwnerNeigh() const
static std::array< std::array< double, 3 >, 3 > evalRotationTranspose(const std::array< std::array< double, 3 >, 3 > &R)
static std::array< std::array< double, 3 >, 3 > evalRotationToCartesian(std::array< double, 3 > &versor)
void swap(Interface &other) noexcept
static std::array< std::array< double, 3 >, 3 > evalRotationFromCartesian(std::array< double, 3 > &versor)
void display(std::ostream &out, unsigned short int indent) const
Metafunction for generating a pierced vector.
The QualifiedInterfaceHalfEdge class defines interface half-edges.
QualifiedInterface & getInterface() const
QualifiedInterfaceHalfEdge(QualifiedInterface &interface, int edge, Winding winding=Winding::WINDING_NATURAL)