#include <meshpart.hpp>
Public Types | |
typedef size_t | count_type |
typedef unsigned int | index_type |
typedef double | real_type |
typedef boost::function< void(const Type_elementPtr &element) > | Type_element_callback |
typedef Element * | Type_elementPtr |
typedef std::map< unsigned int, boost::shared_ptr< Section > > | Type_map_element_to_section |
typedef PhysicalElement * | Type_physicalelementPtr |
typedef PhysicalIntegrationNode * | Type_PhysicalIntegrationNodePtr |
typedef boost::function< void(const Type_pointPtr &point) > | Type_point_callback |
typedef Point * | Type_pointPtr |
typedef std::vector < Type_elementPtr > | Type_vector_element |
typedef std::vector < Type_physicalelementPtr > | Type_vector_physicalelement |
typedef std::vector < Type_PhysicalIntegrationNodePtr > | Type_vector_PhysicalIntegrationNode |
typedef std::vector < Type_pointPtr > | Type_vector_point |
typedef unsigned int | uint |
typedef unsigned short | ushort |
Public Member Functions | |
void | associateElementToSection (const Element::index_type &theindex, const std::string §ion_ident, MeshAssembly &assembly) |
associates a section with an element | |
Type_map_element_to_section & | element_linked_to_section () |
modifier for element to section connection definition | |
const Type_map_element_to_section & | element_linked_to_section () const |
getter for element to section connection definition | |
void | elementChangeType (const Element::index_type &theindex, const std::string &type_ident) |
changes type of the given element (by recreating it!) | |
void | elementCompress () |
renumbers all elements such that every integer number between 0 and numElements-1 is used. | |
void | elementCreate (const Element::index_type &theindex, const std::string &type_ident, const ushort &num_nodes,...) |
void | elementCreate (const Element::index_type &theindex, const std::string &type_ident, const bool &checkOnSurface, const std::vector< Point::index_type > &nodes) |
creates the element with edges and faces | |
void | elementDelete (const Element::index_type &theindex) |
deletes the given element and its faces/edges | |
index_type | elementSize () const |
returns the number of reserved elements | |
std::list < Type_element_callback > & | getCallbackOnDeleteElement () |
setter for callbackDeleteElement | |
const std::list < Type_element_callback > & | getCallbackOnDeleteElement () const |
getter for callbackDeleteElement | |
std::list< Type_point_callback > & | getCallbackOnDeletePoint () |
setter for callbackDeletePoint | |
const std::list < Type_point_callback > & | getCallbackOnDeletePoint () const |
getter for callbackDeletePoint | |
const Type_vector_element & | getElements () const |
returns all elements: | |
std::string & | getIdent () |
sets the ident of this meshPart: | |
const std::string & | getIdent () const |
returns the meshPart ident: | |
index_type & | getIndex () |
sets the index of this meshPart: | |
const index_type & | getIndex () const |
returns the meshPart index: | |
Point & | getPoint (const index_type i) |
const Point & | getPoint (const index_type i) const |
returns a reference to the point at index i (if existing, otherwise exception) | |
const Type_vector_point & | getPoints () const |
returns all points: | |
MeshPart (const index_type &the_index, const std::string &the_ident) | |
Type_vector_physicalelement & | physicalElements () |
modifier for physical elements vector | |
const Type_vector_physicalelement & | physicalElements () const |
getter for physical elements vector | |
unsigned int | physicalElementSize () |
Type_vector_PhysicalIntegrationNode & | physicalIntegrationNodes () |
const Type_vector_PhysicalIntegrationNode & | physicalIntegrationNodes () const |
unsigned int | physicalIntegrationNodeSize () |
void | pointCompress () |
renumbers all points such that every integer number between 0 and numPoints-1 is used. | |
void | pointCreate (const Point::index_type &theindex, const Point::real_type &coor_x, const Point::real_type &coor_y, const Point::real_type &coor_z) |
a convenience function (less performance!) | |
void | pointCreate (const Point::index_type &theindex, const Point::Type_coors &coordinates) |
returns the specific integration point data | |
void | pointDelete (const Point::index_type &theindex) |
deletes the given point | |
bool | pointExist (const index_type i) const |
returns true if the point at index i is existing | |
void | pointSetCoordinates (const Point::index_type &theindex, const Point::Type_coors &coordinates) |
resets the coordinates of the given point | |
index_type | pointSize () const |
returns the number of reserved points | |
Type_vector_element & | setElements () |
modifier for elements: | |
Type_vector_point & | setPoints () |
modifier for points: | |
void | topologySetOnSurfaceFlags () |
sets the isOnSurface attributes of all points, edges, faces: | |
Protected Member Functions | |
void | defaultCallbackOnDeleteElement (const Type_elementPtr &element) |
default function for callbackDeleteElement | |
void | defaultCallbackOnDeletePoint (const Type_pointPtr &point) |
default function for callbackDeletePoint | |
Protected Attributes | |
std::list< Type_element_callback > | callbackOnDeleteElement |
a list of callbacks that is invoked on deleting the given element | |
std::list< Type_point_callback > | callbackOnDeletePoint |
a list of callbacks that is invoked on deleting the given node | |
Type_vector_element | elements |
container of all elements (the elements are the containers of faces/edges) | |
std::string | ident |
the meshpart ident | |
index_type | index |
the meshPart index (ident): | |
Type_map_element_to_section | m_element_linked_to_section |
definition which element obtains which section (map[element_index]=section_index) | |
Type_vector_physicalelement | m_physicalelements |
a container containing the physical data of all elements | |
Type_vector_PhysicalIntegrationNode | m_physicalIntegrationNodes |
a container containing the physical global integration points | |
Type_vector_point | points |
container of all points/nodes |
In an editable mesh, data is stored in easy-to-edit containers. Links between data are given in easy-to-save notation (such as indices or idents) Topological mesh information is limited.
void sfem::mesh::MeshPart::elementCreate | ( | const Element::index_type & | theindex, | |
const std::string & | type_ident, | |||
const ushort & | num_nodes, | |||
... | ||||
) |
a convenience function (less performance!) This function requires a variable number of nodes. The number of given nodes MUST be given by 'num_nodes'
void sfem::mesh::MeshPart::pointCreate | ( | const Point::index_type & | theindex, | |
const Point::Type_coors & | coordinates | |||
) |
returns the specific integration point data
intpt | ... number of intpt ;;-;;-;;-;; creates the given point |