sfem::mesh::MeshPart Class Reference

... the base class for an editable mesh More...

#include <meshpart.hpp>

Collaboration diagram for sfem::mesh::MeshPart:

Collaboration graph
[legend]

List of all members.

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 ElementType_elementPtr
typedef std::map< unsigned int,
boost::shared_ptr< Section > > 
Type_map_element_to_section
typedef PhysicalElementType_physicalelementPtr
typedef PhysicalIntegrationNode * Type_PhysicalIntegrationNodePtr
typedef boost::function< void(const
Type_pointPtr &point) > 
Type_point_callback
typedef PointType_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 &section_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:
PointgetPoint (const index_type i)
const PointgetPoint (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


Detailed Description

... the base class for an editable mesh

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.


Member Function Documentation

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

Parameters:
intpt ... number of intpt ;;-;;-;;-;; creates the given point


The documentation for this class was generated from the following file:

Generated on Wed Nov 17 17:35:54 2010 for 'sfem' Module Programming Interface by  doxygen 1.5.6