Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::Polyhedron< dim, order > Struct Template Reference

#include <Polyhedron.h>

Inheritance diagram for model::Polyhedron< dim, order >:
Collaboration diagram for model::Polyhedron< dim, order >:

Public Types

using KeyType = PolyhedronKey<dim, order>
using CompareType = std::less<KeyType>
using VectorDim = Eigen::Matrix<double, dim, 1>
using SimplexType = Simplex<dim, order>
using SimplexContainerType = std::set<const SimplexType *>
using MeshFacesContainerType = std::map<size_t, std::shared_ptr<Polyhedron<dim, dim - 1>>>
Public Types inherited from model::PolyhedralChildren< dim, order, enabled >
using Child = Polyhedron<dim, order - 1>
using Children = std::map<PolyhedronKey<dim, order - 1>, std::shared_ptr<Child>>
Public Types inherited from model::PolyhedralParents< dim, order, enabled >
using Parent = Polyhedron<dim, order + 1>

Public Member Functions

 Polyhedron (PolyhedronFactory< dim, order > &factory, const KeyType &id)
const SimplexContainerType & simplices () const
SimplexContainerType & simplices ()
const MeshFacesContainerType & faces () const
MeshFacesContainerType & faces ()
bool isExternal () const
void initialize (const SimplexType *simplex)
const SimplexContainerType & internalSimplices () const
const std::vector< const Simplex< dim, 0 > * > & convexHull () const
void finalize ()
VectorDim outNormal () const
VectorDim outNormal (const int &regionID) const
const VectorDim & center () const
Plane< dim > asPlane () const
VectorDim outNormal (const std::set< size_t > &ids) const
void update ()
Public Member Functions inherited from model::PolyhedralFaceData< dim, order, face >
template<typename Key>
 PolyhedralFaceData (const Key &)
Public Member Functions inherited from model::PolyhedralRegionData< dim, order, region >
template<typename Key>
 PolyhedralRegionData (const Key &)

Public Attributes

const KeyType key
PolyhedronFactory< dim, order > & cellFactory
Public Attributes inherited from model::PolyhedralChildren< dim, order, enabled >
Children children
Public Attributes inherited from model::PolyhedralParents< dim, order, enabled >
std::map< PolyhedronKey< dim, order+1 >, std::weak_ptr< Parent > > parents

Detailed Description

template<int dim, int order>
struct model::Polyhedron< dim, order >

Definition at line 108 of file Polyhedron.h.

Member Typedef Documentation

◆ CompareType

template<int dim, int order>
using model::Polyhedron< dim, order >::CompareType = std::less<KeyType>

Definition at line 117 of file Polyhedron.h.

◆ KeyType

template<int dim, int order>
using model::Polyhedron< dim, order >::KeyType = PolyhedronKey<dim, order>

Definition at line 116 of file Polyhedron.h.

◆ MeshFacesContainerType

template<int dim, int order>
using model::Polyhedron< dim, order >::MeshFacesContainerType = std::map<size_t, std::shared_ptr<Polyhedron<dim, dim - 1>>>

Definition at line 121 of file Polyhedron.h.

◆ SimplexContainerType

template<int dim, int order>
using model::Polyhedron< dim, order >::SimplexContainerType = std::set<const SimplexType *>

Definition at line 120 of file Polyhedron.h.

◆ SimplexType

template<int dim, int order>
using model::Polyhedron< dim, order >::SimplexType = Simplex<dim, order>

Definition at line 119 of file Polyhedron.h.

◆ VectorDim

template<int dim, int order>
using model::Polyhedron< dim, order >::VectorDim = Eigen::Matrix<double, dim, 1>

Definition at line 118 of file Polyhedron.h.

Constructor & Destructor Documentation

◆ Polyhedron()

template<int dim, int order>
model::Polyhedron< dim, order >::Polyhedron ( PolyhedronFactory< dim, order > & factory,
const KeyType & id )
inline

Definition at line 124 of file Polyhedron.h.

Member Function Documentation

◆ asPlane()

template<int dim, int order>
requires (order == dim - 1)
Plane< dim > model::Polyhedron< dim, order >::asPlane ( ) const

Definition at line 226 of file Polyhedron.cpp.

◆ center()

template<int dim, int order>
requires (order == dim - 1)
const Eigen::Matrix< double, dim, 1 > & model::Polyhedron< dim, order >::center ( ) const

Definition at line 218 of file Polyhedron.cpp.

◆ convexHull()

template<int dim, int order>
requires (order == dim - 1)
const std::vector< const Simplex< dim, 0 > * > & model::Polyhedron< dim, order >::convexHull ( ) const

Definition at line 99 of file Polyhedron.cpp.

◆ faces() [1/2]

template<int dim, int order>
MeshFacesContainerType & model::Polyhedron< dim, order >::faces ( )
inline

Definition at line 141 of file Polyhedron.h.

◆ faces() [2/2]

template<int dim, int order>
const MeshFacesContainerType & model::Polyhedron< dim, order >::faces ( ) const
inline

Definition at line 136 of file Polyhedron.h.

◆ finalize()

template<int dim, int order>
requires (order == dim - 1)
void model::Polyhedron< dim, order >::finalize ( )
Todo
This function uses ConvexHull and therefore will yield a wrong face boundary for non-convex faces. In order to support non-convex faces we need to have a structure with face edges.

Definition at line 107 of file Polyhedron.cpp.

◆ initialize()

template<int dim, int order>
requires (order == dim - 1)
void model::Polyhedron< dim, order >::initialize ( const SimplexType * simplex)

Definition at line 90 of file Polyhedron.cpp.

◆ internalSimplices()

template<int dim, int order>
const SimplexContainerType & model::Polyhedron< dim, order >::internalSimplices ( ) const
inline

Definition at line 153 of file Polyhedron.h.

◆ isExternal()

template<int dim, int order>
bool model::Polyhedron< dim, order >::isExternal ( ) const
inline

Definition at line 146 of file Polyhedron.h.

◆ outNormal() [1/3]

template<int dim, int order>
requires (order == dim - 1)
Eigen::Matrix< double, dim, 1 > model::Polyhedron< dim, order >::outNormal ( ) const

Definition at line 200 of file Polyhedron.cpp.

◆ outNormal() [2/3]

template<int dim, int order>
requires (order == dim - 1)
Eigen::Matrix< double, dim, 1 > model::Polyhedron< dim, order >::outNormal ( const int & regionID) const

Definition at line 208 of file Polyhedron.cpp.

◆ outNormal() [3/3]

template<int dim, int order>
requires (order == dim)
Polyhedron< dim, order >::VectorDim model::Polyhedron< dim, order >::outNormal ( const std::set< size_t > & ids) const

Definition at line 77 of file Polyhedron.cpp.

◆ simplices() [1/2]

template<int dim, int order>
SimplexContainerType & model::Polyhedron< dim, order >::simplices ( )
inline

Definition at line 132 of file Polyhedron.h.

◆ simplices() [2/2]

template<int dim, int order>
const SimplexContainerType & model::Polyhedron< dim, order >::simplices ( ) const
inline

Definition at line 128 of file Polyhedron.h.

◆ update()

template<int dim, int order>
requires (order == dim)
void model::Polyhedron< dim, order >::update ( )

Definition at line 71 of file Polyhedron.cpp.

Member Data Documentation

◆ cellFactory

template<int dim, int order>
PolyhedronFactory<dim, order>& model::Polyhedron< dim, order >::cellFactory

Definition at line 123 of file Polyhedron.h.

◆ key

template<int dim, int order>
const KeyType model::Polyhedron< dim, order >::key

Definition at line 122 of file Polyhedron.h.


The documentation for this struct was generated from the following files: