ViennaGrid - The Vienna Grid Library
2.1.0
|
A namespace with all the input/output functionality, in particular file readers and writers. More...
Namespaces | |
namespace | detail |
Namespace for implementation details. Not intended to be used directly by a library user. | |
Data Structures | |
class | bad_file_format_exception |
Provides an exception for the case a parser problem occurs. More... | |
class | bad_serialization_state_exception |
Provides an exception for the bad serialization state. More... | |
struct | bnd_helper |
class | bnd_reader |
Reader for .bnd files. More... | |
class | cannot_open_file_exception |
Provides an exception for the case a file cannot be opened. More... | |
struct | char_to_lower |
Functor for conversion to lowercase (avoids the tolower() function as this can be a bit messy due to locales) More... | |
struct | DXHelper |
A helper class returning dimension-dependent attribute strings. More... | |
struct | DXHelper< 1 > |
struct | DXHelper< 2 > |
struct | DXHelper< 3 > |
struct | mesh_serializer |
Mesh wrapper which models the Boost serialization concept. More... | |
class | mphtxt_writer |
Writer for Comsol .mphtxt files. More... | |
struct | neper_tess_reader |
Reader for Neper .tess files. More... | |
struct | netgen_reader |
Reader for Netgen files obtained from the 'Export mesh...' menu item. Tested with Netgen version 4.9.12. More... | |
class | opendx_writer |
The OpenDX writer object. Does not support segments - always the full mesh is written. More... | |
struct | PointWriter |
Helper class for writing points to file. Aids as a generic layer for point types that don't have operator<< overloaded in a suitable way. More... | |
struct | PointWriter< 1 > |
struct | PointWriter< 2 > |
struct | PointWriter< 3 > |
struct | |
struct | strChecker |
Checks for a string being a number. More... | |
struct | tetgen_poly_reader |
Reader for Tetgen .poly files. More... | |
struct | triangle_information |
struct | ValueTypeInformation< double > |
struct | ValueTypeInformation< std::vector< double > > |
class | vmesh_writer |
Main VMesh writer class. Writes a mesh or a segment to a file. More... | |
class | vtk_reader |
A VTK reader class that allows to read meshes from XML-based VTK files as defined in http://www.vtk.org/pdf/file-formats.pdf. More... | |
class | vtk_writer |
Main VTK writer class. Writes a mesh or a segment to a file. More... | |
class | xml_tag |
Helper class that parses a XML tag. More... | |
Functions | |
template<typename MeshT , typename AccessorT > | |
opendx_writer< MeshT > & | add_scalar_data_on_cells (opendx_writer< MeshT > &writer, AccessorT const accessor, std::string const &quantity_name) |
Registers scalar-valued data on cells at the OpenDX writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_scalar_data_on_cells (vtk_writer< MeshT, SegmentationT > &writer, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on cells at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_scalar_data_on_cells (vtk_writer< MeshT, SegmentationT > &writer, segment_handle< SegmentationT > const &segment, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on cells for a given segment at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_reader< MeshT, SegmentationT > & | add_scalar_data_on_cells (vtk_reader< MeshT, SegmentationT > &reader, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on cells at the VTK reader. | |
template<typename MeshT , typename AccessorT > | |
opendx_writer< MeshT > & | add_scalar_data_on_vertices (opendx_writer< MeshT > &writer, AccessorT const accessor, std::string const &quantity_name) |
Registers scalar-valued data on vertices at the OpenDX writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_scalar_data_on_vertices (vtk_writer< MeshT, SegmentationT > &writer, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on vertices at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_scalar_data_on_vertices (vtk_writer< MeshT, SegmentationT > &writer, segment_handle< SegmentationT > const &segment, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on vertices for a given segment at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_reader< MeshT, SegmentationT > & | add_scalar_data_on_vertices (vtk_reader< MeshT, SegmentationT > &reader, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers scalar-valued data on vertices at the VTK reader. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_vector_data_on_cells (vtk_writer< MeshT, SegmentationT > &writer, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on cells at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_vector_data_on_cells (vtk_writer< MeshT, SegmentationT > &writer, segment_handle< SegmentationT > const &segment, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on cells for a given segment at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_reader< MeshT, SegmentationT > & | add_vector_data_on_cells (vtk_reader< MeshT, SegmentationT > &reader, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on cells at the VTK reader. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_vector_data_on_vertices (vtk_writer< MeshT, SegmentationT > &writer, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on vertices at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_writer< MeshT, SegmentationT > & | add_vector_data_on_vertices (vtk_writer< MeshT, SegmentationT > &writer, segment_handle< SegmentationT > const &segment, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on vertices for a given segment at the VTK writer. At most one data set is allowed. | |
template<typename MeshT , typename SegmentationT , typename AccessorOrFieldT > | |
vtk_reader< MeshT, SegmentationT > & | add_vector_data_on_vertices (vtk_reader< MeshT, SegmentationT > &reader, AccessorOrFieldT const accessor_or_field, std::string const &quantity_name) |
Registers vector-valued data on vertices at the VTK reader. | |
template<typename FloatingPointType > | |
FloatingPointType | DXfixer (FloatingPointType value) |
Fix for a OpenDX bug: if floating-values occur, no integers (i.e. only zeros after decimal point) are allowed. | |
template<typename MeshType , typename SegmentationType > | |
int | export_vtk (MeshType const &mesh_obj, SegmentationType const &segmentation, std::string const &filename) |
Convenience function that exports a mesh to file directly. Does not export quantities. | |
template<typename MeshType > | |
int | export_vtk (MeshType const &mesh_obj, std::string const &filename) |
Convenience function that exports a mesh to file directly. Does not export quantities. | |
template<typename VTKReaderT > | |
std::vector< std::pair < std::size_t, std::string > > const & | get_scalar_data_on_cells (VTKReaderT const &reader) |
Returns the names of all scalar-valued data read for cells. | |
template<typename VTKReaderT > | |
std::vector< std::pair < std::size_t, std::string > > const & | get_scalar_data_on_vertices (VTKReaderT const &reader) |
Returns the names of all scalar-valued data read for vertices. | |
template<typename stream_type > | |
bool | get_valid_line (stream_type &stream, std::string &line, char comment_line= '#') |
template<typename VTKReaderT > | |
std::vector< std::pair < std::size_t, std::string > > const & | get_vector_data_on_cells (VTKReaderT const &reader) |
Returns the names of all vector-valued data read for cells. | |
template<typename VTKReaderT > | |
std::vector< std::pair < std::size_t, std::string > > const & | get_vector_data_on_vertices (VTKReaderT const &reader) |
Returns the names of all vector-valued data read for vertices. | |
template<typename MeshType , typename SegmentationType > | |
int | import_vtk (MeshType &mesh_obj, SegmentationType &segmentation, std::string const &filename) |
Convenience function for importing a mesh using a single line of code. | |
template<typename MeshType > | |
int | import_vtk (MeshType &mesh_obj, std::string const &filename) |
Convenience function for importing a mesh using a single line of code. | |
template<typename DestinationT , typename SourceT > | |
detail::lexical_cast_impl < DestinationT >::result_type | lexical_cast (SourceT const &src) |
template<typename SegmentHandleT , typename AccessorType , typename TriangleHandleT , typename SegmentIDRangeType > | |
void | mark_planar_neighbors (SegmentHandleT const &segment, AccessorType &contact_index_accessor, TriangleHandleT const &triangle_handle, int contact_index, SegmentIDRangeType const &sids) |
template<typename SegmentationT , typename AccessorType > | |
void | mark_segment_hull_contacts (SegmentationT const &segmentation, AccessorType &contact_index_accessor) |
std::string | remove_begin_end_chars (std::string const &str) |
template<typename StringType > | |
StringType | string_to_lower (StringType const &s) |
Helper function for converting a string to lowercase. |
A namespace with all the input/output functionality, in particular file readers and writers.
opendx_writer<MeshT>& viennagrid::io::add_scalar_data_on_cells | ( | opendx_writer< MeshT > & | writer, |
AccessorT const | accessor, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on cells at the OpenDX writer. At most one data set is allowed.
MeshT | The mesh type to be written |
AccessorT | An accessor type holding scalar data |
writer | The OpenDX writer object for which the data should be registered |
accessor | The accessor object holding scalar data on cells |
quantity_name | Ignored. Only used for a homogeneous interface with VTK reader/writer. |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_cells | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on cells at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding scalar data |
writer | The VTK writer object for which the data should be registered |
accessor_or_field | The accessor/field object holding scalar data on cells |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_cells | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
segment_handle< SegmentationT > const & | segment, | ||
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on cells for a given segment at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding scalar data |
writer | The VTK writer object for which the data should be registered |
segment | The segment for which the data is defined |
accessor_or_field | The accessor/field object holding scalar data on cells |
quantity_name | The quantity name within the VTK file |
vtk_reader<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_cells | ( | vtk_reader< MeshT, SegmentationT > & | reader, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on cells at the VTK reader.
MeshT | The mesh type to be read to |
SegmentationT | The segmentation type to be read to |
AccessorOrFieldT | An accessor/field holding scalar data |
reader | The VTK reader object for which the data should be registered |
accessor_or_field | The accessor object holding scalar data on cells |
quantity_name | The quantity name within the VTK file |
opendx_writer<MeshT>& viennagrid::io::add_scalar_data_on_vertices | ( | opendx_writer< MeshT > & | writer, |
AccessorT const | accessor, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on vertices at the OpenDX writer. At most one data set is allowed.
MeshT | The mesh type to be written |
AccessorT | An accessor type holding scalar data |
writer | The OpenDX writer object for which the data should be registered |
accessor | The accessor object holding scalar data on vertices |
quantity_name | Ignored. Only used for a homogeneous interface with VTK reader/writer. |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_vertices | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on vertices at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding scalar data |
writer | The VTK writer object for which the data should be registered |
accessor_or_field | The accessor/field object holding scalar data on vertices |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_vertices | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
segment_handle< SegmentationT > const & | segment, | ||
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on vertices for a given segment at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding scalar data |
writer | The VTK writer object for which the data should be registered |
segment | The segment for which the data is defined |
accessor_or_field | The accessor/field object holding scalar data on vertices |
quantity_name | The quantity name within the VTK file |
vtk_reader<MeshT, SegmentationT>& viennagrid::io::add_scalar_data_on_vertices | ( | vtk_reader< MeshT, SegmentationT > & | reader, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers scalar-valued data on vertices at the VTK reader.
MeshT | The mesh type to be read to |
SegmentationT | The segmentation type to be read to |
AccessorOrFieldT | An accessor/field holding scalar data |
reader | The VTK reader object for which the data should be registered |
accessor_or_field | The accessor object holding scalar data on vertices |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_cells | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on cells at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding vector data |
writer | The VTK writer object for which the data should be registered |
accessor_or_field | The accessor/field object holding vector data on cells |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_cells | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
segment_handle< SegmentationT > const & | segment, | ||
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on cells for a given segment at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding vector data |
writer | The VTK writer object for which the data should be registered |
segment | The segment for which the data is defined |
accessor_or_field | The accessor/field object holding vector data on cells |
quantity_name | The quantity name within the VTK file |
vtk_reader<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_cells | ( | vtk_reader< MeshT, SegmentationT > & | reader, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on cells at the VTK reader.
MeshT | The mesh type to be read to |
SegmentationT | The segmentation type to be read to |
AccessorOrFieldT | An accessor/field holding vector data |
reader | The VTK reader object for which the data should be registered |
accessor_or_field | The accessor object holding vector data on cells |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_vertices | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on vertices at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding vector data |
writer | The VTK writer object for which the data should be registered |
accessor_or_field | The accessor/field object holding vector data on vertices |
quantity_name | The quantity name within the VTK file |
vtk_writer<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_vertices | ( | vtk_writer< MeshT, SegmentationT > & | writer, |
segment_handle< SegmentationT > const & | segment, | ||
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on vertices for a given segment at the VTK writer. At most one data set is allowed.
MeshT | The mesh type to be written |
SegmentationT | The segmentation type to be written |
AccessorOrFieldT | An accessor/field type holding vector data |
writer | The VTK writer object for which the data should be registered |
segment | The segment for which the data is defined |
accessor_or_field | The accessor/field object holding vector data on vertices |
quantity_name | The quantity name within the VTK file |
vtk_reader<MeshT, SegmentationT>& viennagrid::io::add_vector_data_on_vertices | ( | vtk_reader< MeshT, SegmentationT > & | reader, |
AccessorOrFieldT const | accessor_or_field, | ||
std::string const & | quantity_name | ||
) |
Registers vector-valued data on vertices at the VTK reader.
MeshT | The mesh type to be read to |
SegmentationT | The segmentation type to be read to |
AccessorOrFieldT | An accessor/field holding vector data |
reader | The VTK reader object for which the data should be registered |
accessor_or_field | The accessor object holding vector data on vertices |
quantity_name | The quantity name within the VTK file |
FloatingPointType viennagrid::io::DXfixer | ( | FloatingPointType | value | ) |
Fix for a OpenDX bug: if floating-values occur, no integers (i.e. only zeros after decimal point) are allowed.
As a remedy, we add a value of 1e-5. Better to have a small error in the visualization instead of a crashed OpenDX...
FloatingPointType | Dummy template argument to disable external linkage. Almost always float or double. |
int viennagrid::io::export_vtk | ( | MeshType const & | mesh_obj, |
SegmentationType const & | segmentation, | ||
std::string const & | filename | ||
) |
Convenience function that exports a mesh to file directly. Does not export quantities.
int viennagrid::io::export_vtk | ( | MeshType const & | mesh_obj, |
std::string const & | filename | ||
) |
Convenience function that exports a mesh to file directly. Does not export quantities.
std::vector<std::pair<std::size_t, std::string> > const& viennagrid::io::get_scalar_data_on_cells | ( | VTKReaderT const & | reader | ) |
Returns the names of all scalar-valued data read for cells.
std::vector<std::pair<std::size_t, std::string> > const& viennagrid::io::get_scalar_data_on_vertices | ( | VTKReaderT const & | reader | ) |
Returns the names of all scalar-valued data read for vertices.
bool viennagrid::io::get_valid_line | ( | stream_type & | stream, |
std::string & | line, | ||
char | comment_line = '#' |
||
) |
std::vector<std::pair<std::size_t, std::string> > const& viennagrid::io::get_vector_data_on_cells | ( | VTKReaderT const & | reader | ) |
Returns the names of all vector-valued data read for cells.
std::vector<std::pair<std::size_t, std::string> > const& viennagrid::io::get_vector_data_on_vertices | ( | VTKReaderT const & | reader | ) |
Returns the names of all vector-valued data read for vertices.
int viennagrid::io::import_vtk | ( | MeshType & | mesh_obj, |
SegmentationType & | segmentation, | ||
std::string const & | filename | ||
) |
Convenience function for importing a mesh using a single line of code.
int viennagrid::io::import_vtk | ( | MeshType & | mesh_obj, |
std::string const & | filename | ||
) |
Convenience function for importing a mesh using a single line of code.
detail::lexical_cast_impl<DestinationT>::result_type viennagrid::io::lexical_cast | ( | SourceT const & | src | ) |
void viennagrid::io::mark_planar_neighbors | ( | SegmentHandleT const & | segment, |
AccessorType & | contact_index_accessor, | ||
TriangleHandleT const & | triangle_handle, | ||
int | contact_index, | ||
SegmentIDRangeType const & | sids | ||
) |
void viennagrid::io::mark_segment_hull_contacts | ( | SegmentationT const & | segmentation, |
AccessorType & | contact_index_accessor | ||
) |
std::string viennagrid::io::remove_begin_end_chars | ( | std::string const & | str | ) | [inline] |
StringType viennagrid::io::string_to_lower | ( | StringType const & | s | ) |
Helper function for converting a string to lowercase.
String | More a dummy template argument to disable external linkage of the function (for 'header-only' reasons) |