18 tetmesh_grammar::base_type(content),
19 generator_(_generator)
26 using Rule = qi::rule<Iterator, qi::space_type>;
27 Rule node_section_header {spirit::lit(
"Vertices") >> qi::int_};
28 Rule element_section_header {spirit::lit(
"Tetrahedra") >>
29 qi::int_[boost::bind(&MeshGenerator::set_num_cells, &generator_, ::_1)]};
30 Rule node {qi::double_[boost::bind(&MeshGenerator::add_vertex_component, &generator_, ::_1)] >>
31 qi::double_[boost::bind(&MeshGenerator::add_vertex_component, &generator_, ::_1)] >>
32 qi::double_[boost::bind(&MeshGenerator::add_vertex_component, &generator_, ::_1)] >>
34 Rule element {qi::int_[boost::bind(&MeshGenerator::add_cell_vertex, &generator_, ::_1)] >>
35 qi::int_[boost::bind(&MeshGenerator::add_cell_vertex, &generator_, ::_1)] >>
36 qi::int_[boost::bind(&MeshGenerator::add_cell_vertex, &generator_, ::_1)] >>
37 qi::int_[boost::bind(&MeshGenerator::add_cell_vertex, &generator_, ::_1)]};
38 Rule content {node_section_header >> *node >> element_section_header >> *element};