8#ifndef model_MeshBoundarySegment_H_
9#define model_MeshBoundarySegment_H_
58 template <
int dim,
class T>
61 os<<std::setprecision(15)<<std::scientific<<seg.
P0.transpose()<<
","<<seg.
P1.transpose()<<
"\n";
88 template <
int dim,
class T>
91 for(
const auto& seg : bls)
Class template representing a straight line at the intersection of PlanarMeshFaces.
Eigen::Matrix< double, dim, 1 > VectorDim
std::set< const Polyhedron< dim, dim-1 > * > FaceContainerType
VectorDim regionBoundaryNormal(const int &k) const
const FaceContainerType faces
MeshBoundarySegment(const VectorDim &p0, const VectorDim &p1, const PlanarMeshFaceType *const face)
VectorDim periodicShift() const
MeshBoundarySegment(const VectorDim &p0, const VectorDim &p1, const FaceContainerType &faces_in)
const VectorDim outNormal
FiniteLineSegment< dim > FiniteLineSegmentType
Polyhedron< dim, dim-1 > PlanarMeshFaceType
T & operator<<(T &os, const PeriodicPlanePatchIO< dim > &ds)
Eigen::Matrix< double, dim, 1 > VectorDim
std::vector< std::shared_ptr< MeshBoundarySegment< dim > > > MeshBoundarySegmentContainerType
MeshBoundarySegment< dim > MeshBoundarySegmentType
bool contains(const VectorDim &P) const
const BoundingMeshSegments< dim > & boundingBoxSegments() const
MeshBoundarySegmentType::FaceContainerType FaceContainerType
Eigen::Matrix< double, dim, dim > MatrixDim
std::set< const MeshBoundarySegment< dim > * > containingSegments(const VectorDim &P) const
FiniteLineSegment(const VectorDim &p0, const VectorDim &p1)