|
FEAT 3
Finite Element Analysis Toolbox
|
MeshPart mesh tree node class template. More...
#include <mesh_node.hpp>
Public Types | |
| typedef MeshNode< RootMesh_, MeshPart< RootMesh_ > > | BaseClass |
| base class typedef More... | |
| typedef BaseClass::MeshAtlasType | MeshAtlasType |
| mesh atlas type More... | |
| typedef BaseClass::MeshChartType | MeshChartType |
| mesh chart type More... | |
| typedef MeshPartNode< RootMeshType > | MeshPartNodeType |
| the mesh part node type More... | |
| typedef BaseClass::MeshPartType | MeshPartType |
| mesh part type More... | |
| typedef BaseClass::MeshType | MeshType |
| this mesh type More... | |
| typedef RootMesh_ | RootMeshType |
| the root mesh type, has to be a Mesh More... | |
Public Member Functions | |
| MeshPartNode (std::unique_ptr< MeshPartType > mesh_part) | |
| Constructor. More... | |
| virtual | ~MeshPartNode () |
| virtual destructor More... | |
| void | adapt (bool recursive=true) |
| Adapts this mesh node. More... | |
| bool | adapt_by_name (const String &part_name, bool recursive=false) |
| Adapts this mesh node. More... | |
| MeshPartNodeType * | add_mesh_part (const String &part_name, std::unique_ptr< MeshPartType > mesh_part, const String &chart_name="", const MeshChartType *chart=nullptr) |
| Adds a new mesh-part child node. More... | |
| MeshPartNodeType * | add_mesh_part_node (const String &part_name, std::unique_ptr< MeshPartNodeType > mesh_part_node, const String &chart_name="", const MeshChartType *chart=nullptr) |
| Adds a new mesh-part child node. More... | |
| std::size_t | bytes () const |
| std::unique_ptr< MeshPartNode > | clone_unique () const |
| Creates an independent clone of this object and returns a unique pointer to it. More... | |
| MeshPartType * | find_mesh_part (const String &part_name) |
| Searches this container for a MeshPart. More... | |
| const MeshPartType * | find_mesh_part (const String &part_name) const |
| const MeshChartType * | find_mesh_part_chart (const String &part_name) const |
| Searches for a chart belonging to a MeshPart by name. More... | |
| String | find_mesh_part_chart_name (const String &part_name) const |
| Searches for a chart name belonging to a MeshPart by name. More... | |
| MeshPartNodeType * | find_mesh_part_node (const String &part_name) |
| Searches this container for a MeshPartNode. More... | |
| const MeshPartNodeType * | find_mesh_part_node (const String &part_name) const |
| MeshType * | get_mesh () |
| Returns the mesh of this node. More... | |
| const MeshType * | get_mesh () const |
| std::deque< String > | get_mesh_part_names (bool no_internals=false) const |
| Returns the names of all mesh parts of this node. More... | |
| template<typename ParentType_ > | |
| std::unique_ptr< MeshPartNode > | refine (const ParentType_ &parent) const |
| Refines this node and its sub-tree. More... | |
| void | remove_all_mesh_parts () |
| Removes all mesh parts from this mesh node. More... | |
| bool | remove_mesh_part (const String &part_name) |
| Removes a mesh-part and its corresponding node. More... | |
| void | rename_mesh_parts (const std::map< String, String > &renames) |
| Renames a set of mesh-parts. More... | |
| void | set_mesh (std::unique_ptr< MeshType > mesh) |
| bool | set_mesh_part_chart (const String &part_name, const String &chart_name, const MeshChartType *chart) |
| Sets the chart for a particular mesh part. More... | |
Static Public Member Functions | |
| static std::unique_ptr< MeshPartNode > | make_unique (std::unique_ptr< MeshPartType > mesh_part) |
| Creates a new MeshPartNode on the heap and returns a unique pointer to it. More... | |
| static String | name () |
| Returns the name of the class. More... | |
Protected Types | |
| typedef MeshPartNodeContainer::const_iterator | MeshPartNodeConstIterator |
| submesh node const-iterator type More... | |
| typedef std::map< String, MeshPartNodeBin > | MeshPartNodeContainer |
| submesh node bin container type More... | |
| typedef MeshPartNodeContainer::iterator | MeshPartNodeIterator |
| submesh node iterator type More... | |
| typedef MeshPartNodeContainer::reverse_iterator | MeshPartNodeReverseIterator |
| submesh node reverse-iterator type More... | |
Protected Member Functions | |
| void | _clone (const MeshPartNode &other) |
| void | refine_children (MeshNode &refined_node) const |
| Refines all child nodes of this node. More... | |
| void | refine_mesh_parts (MeshNode &refined_node) const |
| Refines all child MeshPart nodes of this node. More... | |
| void | refine_mesh_parts (MeshPartNode &refined_node) const |
| Refines this node's child nodes. More... | |
Protected Attributes | |
| std::unique_ptr< MeshType > | _mesh |
| a pointer to the mesh of this node More... | |
| MeshPartNodeContainer | _mesh_part_nodes |
| child submesh nodes More... | |
MeshPart mesh tree node class template.
This class template implements a mesh tree node containing a MeshPart.
Definition at line 599 of file mesh_node.hpp.
| typedef MeshNode<RootMesh_, MeshPart<RootMesh_> > FEAT::Geometry::MeshPartNode< RootMesh_ >::BaseClass |
base class typedef
Definition at line 604 of file mesh_node.hpp.
| typedef BaseClass::MeshAtlasType FEAT::Geometry::MeshPartNode< RootMesh_ >::MeshAtlasType |
mesh atlas type
Definition at line 611 of file mesh_node.hpp.
| typedef BaseClass::MeshChartType FEAT::Geometry::MeshPartNode< RootMesh_ >::MeshChartType |
mesh chart type
Definition at line 613 of file mesh_node.hpp.
|
protectedinherited |
submesh node const-iterator type
Definition at line 176 of file mesh_node.hpp.
|
protectedinherited |
submesh node bin container type
Definition at line 172 of file mesh_node.hpp.
|
protectedinherited |
submesh node iterator type
Definition at line 174 of file mesh_node.hpp.
|
protectedinherited |
submesh node reverse-iterator type
Definition at line 178 of file mesh_node.hpp.
|
inherited |
the mesh part node type
Definition at line 127 of file mesh_node.hpp.
| typedef BaseClass::MeshPartType FEAT::Geometry::MeshPartNode< RootMesh_ >::MeshPartType |
mesh part type
Definition at line 609 of file mesh_node.hpp.
| typedef BaseClass::MeshType FEAT::Geometry::MeshPartNode< RootMesh_ >::MeshType |
this mesh type
Definition at line 607 of file mesh_node.hpp.
|
inherited |
the root mesh type, has to be a Mesh
Definition at line 121 of file mesh_node.hpp.
|
inlineexplicit |
Constructor.
Definition at line 637 of file mesh_node.hpp.
|
inlinevirtual |
virtual destructor
Definition at line 643 of file mesh_node.hpp.
|
inlineprotected |
Definition at line 616 of file mesh_node.hpp.
|
inlineinherited |
Adapts this mesh node.
This function loops over all MeshPart nodes and uses their associated charts (if given) to adapt the mesh in this node.
| [in] | recursive | If set to true, all mesh_part nodes are adapted prior to adapting this node. |
Definition at line 481 of file mesh_node.hpp.
|
inlineinherited |
Adapts this mesh node.
This function adapts this node by a specific chart whose name is given.
| [in] | part_name | The name of the mesh_part node that is to be used for adaption. |
| [in] | recursive | If set to true, the mesh_part node associated with part_name will be adapted prior to adapting this node. |
true if this node was adapted successfully or false if no node is associated with part_name or if the node did not contain any chart. Definition at line 523 of file mesh_node.hpp.
|
inlineinherited |
Adds a new mesh-part child node.
| [in] | part_name | The name of the child node. |
| [in] | mesh_part | A resident unique pointer to the mesh_part to be added. |
| [in] | chart_name | The name of the chart that the mesh-part is to be linked to. |
| [in] | chart | A resident pointer to the chart that the subnode is to be associated with. May be nullptr. |
nullptr. Definition at line 316 of file mesh_node.hpp.
|
inlineinherited |
Adds a new mesh-part child node.
| [in] | part_name | The name of the child node. |
| [in] | mesh_part_node | A resident unique pointer to the mesh_part node to be added. |
| [in] | chart_name | The name of the chart that the mesh-part is to be linked to. |
| [in] | chart | A resident pointer to the chart that the subnode is to be associated with. May be nullptr. |
nullptr. Definition at line 281 of file mesh_node.hpp.
|
inlineinherited |
Definition at line 209 of file mesh_node.hpp.
|
inline |
Creates an independent clone of this object and returns a unique pointer to it.
Definition at line 666 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPart.
| [in] | part_name | The name of the node associated with the mesh_part to be found. |
part_name or nullptr if no such node was found. Definition at line 398 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPart.
| [in] | part_name | The name of the node associated with the mesh_part to be found. |
part_name or nullptr if no such node was found. Definition at line 405 of file mesh_node.hpp.
|
inlineinherited |
Searches for a chart belonging to a MeshPart by name.
| [in] | part_name | The name of the node associated with the chart to be found. |
part_name of nullptr if no such node was found or if the corresponding node did not have a chart. Definition at line 421 of file mesh_node.hpp.
|
inlineinherited |
Searches for a chart name belonging to a MeshPart by name.
| [in] | part_name | The name of the node associated with the chart to be found. |
part_name or an empty string is no such node was found. Definition at line 437 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPartNode.
| [in] | part_name | The name of the node to be found. |
part_name or nullptr if no such node was found. Definition at line 376 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPartNode.
| [in] | part_name | The name of the node to be found. |
part_name or nullptr if no such node was found. Definition at line 383 of file mesh_node.hpp.
|
inlineinherited |
Returns the mesh of this node.
Definition at line 225 of file mesh_node.hpp.
|
inlineinherited |
Returns the mesh of this node.
Definition at line 231 of file mesh_node.hpp.
|
inlineinherited |
Returns the names of all mesh parts of this node.
| [in] | no_internals | Specifies whether to skip all internal mesh-parts whose names begin with an underscore. |
Definition at line 251 of file mesh_node.hpp.
|
inlinestatic |
Creates a new MeshPartNode on the heap and returns a unique pointer to it.
Definition at line 656 of file mesh_node.hpp.
Referenced by FEAT::Geometry::MeshNode< RootMesh_, ThisMesh_ >::add_mesh_part(), and FEAT::Geometry::MeshPartNode< RootMesh_ >::refine().
|
inlinestatic |
Returns the name of the class.
Definition at line 709 of file mesh_node.hpp.
|
inline |
Refines this node and its sub-tree.
| [in] | parent | A transient reference to the parent mesh/cell subset of this node's cell subset. |
Definition at line 683 of file mesh_node.hpp.
References FEAT::Geometry::MeshNode< RootMesh_, MeshPart< RootMesh_ > >::_mesh, FEAT::Geometry::MeshPartNode< RootMesh_ >::make_unique(), and FEAT::Geometry::MeshPartNode< RootMesh_ >::refine_mesh_parts().
|
inlineprotectedinherited |
Refines all child nodes of this node.
| [in,out] | refined_node | A reference to the node generated by refining this node. |
Definition at line 565 of file mesh_node.hpp.
|
inlineprotectedinherited |
Refines all child MeshPart nodes of this node.
| [in,out] | refined_node | A reference to the node generated by refining this node. |
Definition at line 577 of file mesh_node.hpp.
|
inlineprotected |
Refines this node's child nodes.
| [in,out] | refined_node | A transient reference to the node generated from refinement of this node. |
Definition at line 724 of file mesh_node.hpp.
References FEAT::Geometry::MeshNode< RootMesh_, MeshPart< RootMesh_ > >::_mesh_part_nodes.
Referenced by FEAT::Geometry::MeshPartNode< RootMesh_ >::refine().
|
inlineinherited |
Removes all mesh parts from this mesh node.
Definition at line 339 of file mesh_node.hpp.
|
inlineinherited |
Removes a mesh-part and its corresponding node.
| [in] | part_name | The name of the child node to be removed |
true, if a mesh-part with the corresponding name was removed, otherwise false. Definition at line 333 of file mesh_node.hpp.
|
inlineinherited |
Renames a set of mesh-parts.
| [in] | renames | A transient map of oldname-newname pairs. |
Definition at line 449 of file mesh_node.hpp.
|
inlineinherited |
Definition at line 236 of file mesh_node.hpp.
|
inlineinherited |
Sets the chart for a particular mesh part.
| [in] | part_name | The name of the mesh part that the chart is to be assigned to. |
| [in] | chart | A resident pointer to the chart that is to be assigned. May also be nullptr. |
true if the chart was assigned successfully or false if no mesh part with the specified name was found. Definition at line 357 of file mesh_node.hpp.
|
protectedinherited |
a pointer to the mesh of this node
Definition at line 182 of file mesh_node.hpp.
|
protectedinherited |
child submesh nodes
Definition at line 184 of file mesh_node.hpp.