v0.14.0 |
merge node from two bit levels More...
#include <src/interfaces/PrismsFromSurfaceInterface.hpp>
Public Types | |
enum | SwapType { NO_SWAP = 0, SWAP_TRI_NODE_ORDER = 1, SWAP_TOP_AND_BOT_TRI = 2 } |
List of types of node swapping performed on a created prism Node swapping is required to satisfy the canonical ordering for the prism in case the surface normal is pointing inwards rather than outwards Currently supported options (assuming canonical ordering of nodes 0-5): NO_SWAP : node swapping is not performed SWAP_TRI_NODE_ORDER : swap the order of nodes on prism's triangle faces (1 <-> 2, 4 <-> 5) SWAP_TOP_AND_BOT_TRI : swap nodes between the top and the bottom triangles (0 <-> 3, 1 <-> 4, 2 <-> 5) More... | |
Public Member Functions | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
PrismsFromSurfaceInterface (const MoFEM::Core &core) | |
MoFEMErrorCode | createPrisms (const Range &ents, const SwapType swap_type, Range &prisms, int verb=-1) |
Make prisms from triangles. More... | |
DEPRECATED MoFEMErrorCode | createPrisms (const Range &ents, Range &prisms, int verb=-1) |
MoFEMErrorCode | seedPrismsEntities (Range &prisms, const BitRefLevel &bit, int verb=-1) |
Seed prism entities by bit level. More... | |
MoFEMErrorCode | createPrismsFromPrisms (const Range &prisms, bool from_down, Range &out_prisms, int verb=-1) |
Make prisms by extruding top or bottom prisms. More... | |
MoFEMErrorCode | setThickness (const Range &prisms, const double director3[], const double director4[]) |
MoFEMErrorCode | setNormalThickness (const Range &prisms, double thickness3, double thickness4) |
MoFEMErrorCode | updateMeshestByEdgeBlock (const Range &prisms) |
Add quads to bockset. More... | |
MoFEMErrorCode | updateMeshestByTriBlock (const Range &prisms) |
Add prism to bockset. More... | |
Public Member Functions inherited from MoFEM::UnknownInterface | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface reference to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Public Attributes | |
MoFEM::Core & | cOre |
std::map< EntityHandle, EntityHandle > | createdVertices |
Additional Inherited Members | |
Static Public Member Functions inherited from MoFEM::UnknownInterface | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. More... | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. More... | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. More... | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. More... | |
merge node from two bit levels
Definition at line 15 of file PrismsFromSurfaceInterface.hpp.
List of types of node swapping performed on a created prism Node swapping is required to satisfy the canonical ordering for the prism in case the surface normal is pointing inwards rather than outwards Currently supported options (assuming canonical ordering of nodes 0-5): NO_SWAP : node swapping is not performed SWAP_TRI_NODE_ORDER : swap the order of nodes on prism's triangle faces (1 <-> 2, 4 <-> 5) SWAP_TOP_AND_BOT_TRI : swap nodes between the top and the bottom triangles (0 <-> 3, 1 <-> 4, 2 <-> 5)
Enumerator | |
---|---|
NO_SWAP | |
SWAP_TRI_NODE_ORDER | |
SWAP_TOP_AND_BOT_TRI |
Definition at line 37 of file PrismsFromSurfaceInterface.hpp.
|
inline |
Definition at line 21 of file PrismsFromSurfaceInterface.hpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::createPrisms | ( | const Range & | ents, |
const SwapType | swap_type, | ||
Range & | prisms, | ||
int | verb = -1 |
||
) |
Make prisms from triangles.
ents | Range of triangles |
swap_type | Defines how the nodes of the created prism are swapped (required for canonical ordering if the surface normal is pointing inwards) |
prisms | Returned range of prisms |
verb | Verbosity level |
Definition at line 22 of file PrismsFromSurfaceInterface.cpp.
DEPRECATED MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::createPrisms | ( | const Range & | ents, |
Range & | prisms, | ||
int | verb = -1 |
||
) |
Definition at line 15 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::createPrismsFromPrisms | ( | const Range & | prisms, |
bool | from_down, | ||
Range & | out_prisms, | ||
int | verb = -1 |
||
) |
Make prisms by extruding top or bottom prisms.
prisms | Input prisms |
from_down | Use top or down face, if true from f3 |
out_prisms | Returned prisms entities |
verb | Verbosity level |
Definition at line 143 of file PrismsFromSurfaceInterface.cpp.
|
virtual |
Implements MoFEM::UnknownInterface.
Definition at line 9 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::seedPrismsEntities | ( | Range & | prisms, |
const BitRefLevel & | bit, | ||
int | verb = -1 |
||
) |
Seed prism entities by bit level.
prisms | Range of entities |
bit | BitRefLevel |
verb | Verbosity level |
Definition at line 110 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::setNormalThickness | ( | const Range & | prisms, |
double | thickness3, | ||
double | thickness4 | ||
) |
Set normal thickness
prisms | Range of prisms |
thickness | normal thickness |
Definition at line 195 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::setThickness | ( | const Range & | prisms, |
const double | director3[], | ||
const double | director4[] | ||
) |
Set uniform thickness
prisms | Range of prisms |
director3 | Displacement of face 3 |
director4 | Displacement of face 4 |
Definition at line 161 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::updateMeshestByEdgeBlock | ( | const Range & | prisms | ) |
Add quads to bockset.
If quad is adjacent to extruded edge, is added to given blockset
prisms |
Definition at line 260 of file PrismsFromSurfaceInterface.cpp.
MoFEMErrorCode MoFEM::PrismsFromSurfaceInterface::updateMeshestByTriBlock | ( | const Range & | prisms | ) |
Add prism to bockset.
If prism is adjacent to extruded triangle, is added to given blockset
prisms |
Definition at line 287 of file PrismsFromSurfaceInterface.cpp.
MoFEM::Core& MoFEM::PrismsFromSurfaceInterface::cOre |
Definition at line 20 of file PrismsFromSurfaceInterface.hpp.
std::map<EntityHandle, EntityHandle> MoFEM::PrismsFromSurfaceInterface::createdVertices |
Definition at line 24 of file PrismsFromSurfaceInterface.hpp.