ug4
|
Grants write access to ugx files. More...
#include <file_io_ugx.h>
Classes | |
struct | Entry |
entries are stored for each grid. More... | |
Public Member Functions | |
template<class TElem , class TAttachment > | |
void | add_attachment (TAttachment attachment, const char *name, size_t refGridIndex) |
template<class TPositionAttachment > | |
bool | add_grid (Grid &grid, const char *name, TPositionAttachment &aPos) |
void | add_projection_handler (ProjectionHandler &ph, const char *name, size_t refGridIndex) |
void | add_selector (ISelector &sel, const char *name, size_t refGridIndex) |
void | add_subset_handler (ISubsetHandler &sh, const char *name, size_t refGridIndex) |
GridWriterUGX () | |
bool | write_to_file (const char *filename) |
virtual bool | write_to_stream (std::ostream &out) |
virtual | ~GridWriterUGX () |
Protected Types | |
typedef Grid::EdgeAttachmentAccessor< AInt > | AAEdgeIndex |
typedef Grid::FaceAttachmentAccessor< AInt > | AAFaceIndex |
typedef Grid::VolumeAttachmentAccessor< AInt > | AAVolIndex |
typedef Grid::VertexAttachmentAccessor< AInt > | AAVrtIndex |
Protected Member Functions | |
void | add_elements_to_node (rapidxml::xml_node<> *node, Grid &grid) |
adds grid elements (edges, faces, volumes) to the given node. | |
void | add_subset_attributes (rapidxml::xml_node<> *targetNode, ISubsetHandler &sh, size_t subsetIndex) |
template<class TElem > | |
const char * | attachment_node_name () |
rapidxml::xml_node * | create_constrained_edge_node (ConstrainedEdgeIterator edgesBegin, ConstrainedEdgeIterator edgesEnd, AAVrtIndex aaIndVRT, AAEdgeIndex aaIndEDGE, AAFaceIndex aaIndFACE) |
rapidxml::xml_node * | create_constrained_quadrilateral_node (ConstrainedQuadrilateralIterator quadsBegin, ConstrainedQuadrilateralIterator quadsEnd, AAVrtIndex aaIndVRT, AAFaceIndex aaIndFACE) |
rapidxml::xml_node * | create_constrained_triangle_node (ConstrainedTriangleIterator trisBegin, ConstrainedTriangleIterator trisEnd, AAVrtIndex aaIndVRT, AAFaceIndex aaIndFACE) |
template<class TAAPos > | |
rapidxml::xml_node * | create_constrained_vertex_node (ConstrainedVertexIterator vrtsBegin, ConstrainedVertexIterator vrtsEnd, TAAPos &aaPos, AAEdgeIndex aaIndEDGE, AAFaceIndex aaIndFACE) |
rapidxml::xml_node * | create_constraining_edge_node (ConstrainingEdgeIterator edgesBegin, ConstrainingEdgeIterator edgesEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_constraining_quadrilateral_node (ConstrainingQuadrilateralIterator quadsBegin, ConstrainingQuadrilateralIterator quadsEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_constraining_triangle_node (ConstrainingTriangleIterator trisBegin, ConstrainingTriangleIterator trisEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_edge_node (RegularEdgeIterator edgesBegin, RegularEdgeIterator edgesEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_hexahedron_node (HexahedronIterator hexasBegin, HexahedronIterator hexasEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_octahedron_node (OctahedronIterator octsBegin, OctahedronIterator octsEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_prism_node (PrismIterator prismsBegin, PrismIterator prismsEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_projector_node (RefinementProjector &proj, const char *nodeName) |
rapidxml::xml_node * | create_pyramid_node (PyramidIterator pyrasBegin, PyramidIterator pyrasEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_quadrilateral_node (QuadrilateralIterator quadsBegin, QuadrilateralIterator quadsEnd, AAVrtIndex aaIndVRT) |
template<class TGeomObj > | |
rapidxml::xml_node * | create_selector_element_node (const char *name, const ISelector &sel) |
template<class TGeomObj > | |
rapidxml::xml_node * | create_subset_element_node (const char *name, const ISubsetHandler &sh, size_t si) |
rapidxml::xml_node * | create_tetrahedron_node (TetrahedronIterator tetsBegin, TetrahedronIterator tetsEnd, AAVrtIndex aaIndVRT) |
rapidxml::xml_node * | create_triangle_node (TriangleIterator trisBegin, TriangleIterator trisEnd, AAVrtIndex aaIndVRT) |
template<class TAAPos > | |
rapidxml::xml_node * | create_vertex_node (RegularVertexIterator vrtsBegin, RegularVertexIterator vrtsEnd, TAAPos &aaPos) |
void | init_grid_attachments (Grid &grid) |
template<class TElem > | |
void | process_global_attachments (Grid &grid, rapidxml::xml_node<> *gridNode) |
Protected Attributes | |
AInt | m_aInt |
attached to vertices of each grid during add_grid. | |
rapidxml::xml_document | m_doc |
the xml_document which stores the data | |
std::vector< Entry > | m_vEntries |
List of accessible grids. | |
Grants write access to ugx files.
Make sure that all elements added via one of the add_* methods exist until the FileAccessor is destroyed.
|
protected |
|
protected |
|
protected |
|
protected |
ug::GridWriterUGX::GridWriterUGX | ( | ) |
References m_doc.
|
virtual |
References m_aInt, and m_vEntries.
void ug::GridWriterUGX::add_attachment | ( | TAttachment | attachment, |
const char * | name, | ||
size_t | refGridIndex | ||
) |
|
protected |
adds grid elements (edges, faces, volumes) to the given node.
References ug::Grid::begin(), create_constrained_edge_node(), create_constrained_quadrilateral_node(), create_constrained_triangle_node(), create_constraining_edge_node(), create_constraining_quadrilateral_node(), create_constraining_triangle_node(), create_edge_node(), create_hexahedron_node(), create_octahedron_node(), create_prism_node(), create_pyramid_node(), create_quadrilateral_node(), create_tetrahedron_node(), create_triangle_node(), ug::Grid::end(), m_aInt, and ug::Grid::num().
Referenced by add_grid().
bool ug::GridWriterUGX::add_grid | ( | Grid & | grid, |
const char * | name, | ||
TPositionAttachment & | aPos | ||
) |
TPositionAttachments value type has to be compatible with MathVector. Make sure that aPos is attached to the vertices of the grid.
References add_elements_to_node(), ug::Grid::begin(), create_constrained_vertex_node(), create_vertex_node(), ug::Grid::end(), ug::Grid::has_vertex_attachment(), init_grid_attachments(), m_aInt, m_doc, m_vEntries, name, ug::Grid::num(), and UG_LOG.
Referenced by ug::SaveDomain(), and ug::SaveGridToUGX().
void ug::GridWriterUGX::add_projection_handler | ( | ProjectionHandler & | ph, |
const char * | name, | ||
size_t | refGridIndex | ||
) |
void ug::GridWriterUGX::add_selector | ( | ISelector & | sel, |
const char * | name, | ||
size_t | refGridIndex | ||
) |
|
protected |
References ug::SubsetInfo::color, m_doc, ug::SubsetInfo::name, ug::ISubsetHandler::subset_info(), and ug::SubsetInfo::subsetState.
Referenced by add_subset_handler().
void ug::GridWriterUGX::add_subset_handler | ( | ISubsetHandler & | sh, |
const char * | name, | ||
size_t | refGridIndex | ||
) |
References add_subset_attributes(), ug::ISubsetHandler::contains_edges(), ug::ISubsetHandler::contains_faces(), ug::ISubsetHandler::contains_vertices(), ug::ISubsetHandler::contains_volumes(), m_doc, m_vEntries, name, ug::ISubsetHandler::num_subsets(), and UG_LOG.
Referenced by ug::SaveDomain(), and ug::SaveGridToUGX().
|
protected |
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_grid().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References ug::Archivar< TArchive, TBase, TPairSeq >::archive(), ug::Factory< TBase, TPairSeq >::class_name(), and m_doc.
Referenced by add_projection_handler().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References ug::GridObjectCollection::begin(), ug::GridObjectCollection::end(), ug::ISelector::get_grid_objects(), ug::ISelector::get_selection_status(), ug::ISelector::grid(), m_aInt, m_doc, name, ug::GridObjectCollection::num_levels(), and ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid().
|
protected |
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_elements_to_node().
|
protected |
References m_doc.
Referenced by add_grid().
|
protected |
|
protected |
bool ug::GridWriterUGX::write_to_file | ( | const char * | filename | ) |
References write_to_stream().
Referenced by ug::SaveDomain(), and ug::SaveGridToUGX().
|
virtual |
References m_doc.
Referenced by write_to_file().
|
protected |
attached to vertices of each grid during add_grid.
Referenced by add_elements_to_node(), add_grid(), create_selector_element_node(), create_subset_element_node(), init_grid_attachments(), and ~GridWriterUGX().
|
protected |
the xml_document which stores the data
Referenced by add_attachment(), add_grid(), add_projection_handler(), add_selector(), add_subset_attributes(), add_subset_handler(), create_constrained_edge_node(), create_constrained_quadrilateral_node(), create_constrained_triangle_node(), create_constrained_vertex_node(), create_constraining_edge_node(), create_constraining_quadrilateral_node(), create_constraining_triangle_node(), create_edge_node(), create_hexahedron_node(), create_octahedron_node(), create_prism_node(), create_projector_node(), create_pyramid_node(), create_quadrilateral_node(), create_selector_element_node(), create_subset_element_node(), create_tetrahedron_node(), create_triangle_node(), create_vertex_node(), GridWriterUGX(), process_global_attachments(), and write_to_stream().
|
protected |
List of accessible grids.
Referenced by add_attachment(), add_grid(), add_projection_handler(), add_selector(), add_subset_handler(), and ~GridWriterUGX().