8 #ifndef VTKWRITER_UNIT_TESTS_HPP_
9 #define VTKWRITER_UNIT_TESTS_HPP_
11 #include "data_type/aggregate.hpp"
13 #include "VTKWriter.hpp"
14 #include "util/SimpleRNG.hpp"
16 BOOST_AUTO_TEST_SUITE( vtk_writer_test )
24 typedef boost::fusion::vector<float,float,float,float,size_t,double,unsigned char,long int>
type;
32 static const std::string name[];
39 static const unsigned int x = 0;
41 static const unsigned int y = 1;
43 static const unsigned int z = 2;
45 static const unsigned int prp1 = 3;
47 static const unsigned int prp2 = 4;
49 static const unsigned int prp3 = 5;
51 static const unsigned int prp4 = 6;
53 static const unsigned int prp5 = 7;
56 static const unsigned int max_prop = 8;
67 static inline bool noPointers()
81 boost::fusion::at_c<vertex::x>(data) = x;
82 boost::fusion::at_c<vertex::y>(data) = y;
83 boost::fusion::at_c<vertex::z>(data) = z;
87 const std::string vertex::attributes::name[] = {
"x",
"y",
"z",
"prp1",
"prp2",
"prp3",
"prp4",
"prp5"};
92 typedef boost::fusion::vector<float[3],size_t,double>
type;
100 static const std::string name[];
107 static const unsigned int x = 0;
108 static const unsigned int prp1 = 1;
109 static const unsigned int prp2 = 2;
123 static inline bool noPointers()
137 boost::fusion::at_c<vertex::x>(
data)[0] = x;
138 boost::fusion::at_c<vertex::x>(
data)[1] = y;
139 boost::fusion::at_c<vertex::x>(
data)[2] = z;
146 const std::string vertex2::attributes::name[] = {
"x",
"prp1",
"prp2"};
150 BOOST_AUTO_TEST_CASE( vtk_writer_use_graph3D )
152 Vcluster & v_cl = create_vcluster();
225 vtk.write(
"vtk_graph_v2.vtk");
229 bool test = compare(
"vtk_graph_v2.vtk",
"test_data/vtk_graph_v2_test.vtk");
230 BOOST_REQUIRE_EQUAL(
true,test);
233 BOOST_AUTO_TEST_CASE( vtk_writer_use_graph3D_edge )
235 Vcluster & v_cl = create_vcluster();
308 vtk.write(
"vtk_graph_v4.vtk");
312 bool test = compare(
"vtk_graph_v4.vtk",
"test_data/vtk_graph_v4_test.vtk");
313 BOOST_REQUIRE_EQUAL(
true,test);
319 typedef boost::fusion::vector<float[2],size_t,double>
type;
327 static const std::string name[];
334 static const unsigned int x = 0;
335 static const unsigned int prp1 = 1;
336 static const unsigned int prp2 = 2;
350 static inline bool noPointers()
362 boost::fusion::at_c<vertex::x>(
data)[0] = x;
363 boost::fusion::at_c<vertex::x>(
data)[1] = y;
370 const std::string vertex3::attributes::name[] = {
"x",
"prp1",
"prp2"};
372 BOOST_AUTO_TEST_CASE( vtk_writer_use_graph2D )
374 Vcluster & v_cl = create_vcluster();
400 vtk.write(
"vtk_graph_v3.vtk");
404 bool test = compare(
"vtk_graph_v3.vtk",
"test_data/vtk_graph_v3_test.vtk");
405 BOOST_REQUIRE_EQUAL(
true,test);
408 BOOST_AUTO_TEST_CASE( vtk_writer_use_graph)
410 Vcluster & v_cl = create_vcluster();
417 std::cout <<
"Graph unit test start" <<
"\n";
485 vtk.write(
"vtk_graph.vtk");
489 bool test = compare(
"vtk_graph.vtk",
"test_data/vtk_graph_test.vtk");
490 BOOST_REQUIRE_EQUAL(
true,test);
493 BOOST_AUTO_TEST_CASE( vtk_writer_use_vector_box)
495 Vcluster & v_cl = create_vcluster();
513 vtk_box.write(
"vtk_box.vtk");
516 bool test = compare(
"vtk_box.vtk",
"test_data/vtk_box_test.vtk");
517 BOOST_REQUIRE_EQUAL(test,
true);
532 vtk_box2.write(
"vtk_box_3D.vtk");
535 test = compare(
"vtk_box_3D.vtk",
"test_data/vtk_box_3D_test.vtk");
536 BOOST_REQUIRE_EQUAL(test,
true);
551 vtk_box3.write(
"vtk_box_3D_2.vtk");
554 test = compare(
"vtk_box_3D_2.vtk",
"test_data/vtk_box_3D_2_test.vtk");
555 BOOST_REQUIRE_EQUAL(test,
true);
563 template<
typename gr
id_type>
void fill_grid_some_data(
grid_type & g)
567 auto it = g.getIterator();
571 g.template get<p::x>(it.get()) = it.
get().get(0);
573 {g.template get<p::y>(it.get()) = it.
get().get(1);}
575 {g.template get<p::y>(it.get()) = 0.0;}
576 g.template get<p::z>(it.get()) = 0;
577 g.template get<p::s>(it.get()) = 1.0;
578 g.template get<p::v>(it.get())[0] = g.getGrid().LinId(it.get());
579 g.template get<p::v>(it.get())[1] = g.getGrid().LinId(it.get());
580 g.template get<p::v>(it.get())[2] = g.getGrid().LinId(it.get());
582 g.template get<p::t>(it.get())[0][0] = g.getGrid().LinId(it.get());
583 g.template get<p::t>(it.get())[0][1] = g.getGrid().LinId(it.get());
584 g.template get<p::t>(it.get())[0][2] = g.getGrid().LinId(it.get());
585 g.template get<p::t>(it.get())[1][0] = g.getGrid().LinId(it.get());
586 g.template get<p::t>(it.get())[1][1] = g.getGrid().LinId(it.get());
587 g.template get<p::t>(it.get())[1][2] = g.getGrid().LinId(it.get());
588 g.template get<p::t>(it.get())[2][0] = g.getGrid().LinId(it.get());
589 g.template get<p::t>(it.get())[2][1] = g.getGrid().LinId(it.get());
590 g.template get<p::t>(it.get())[2][2] = g.getGrid().LinId(it.get());
605 auto it = g.getIterator();
609 g.template get<p::x>(it.get()) = it.
get().get(0);
610 g.template get<p::y>(it.get()) = it.
get().get(1);
611 g.template get<p::z>(it.get()) = 0;
612 g.template get<p::s>(it.get()) = 1.0;
613 g.template get<p::v>(it.get())[0] = g.getGrid().LinId(it.get());
614 g.template get<p::v>(it.get())[1] = g.getGrid().LinId(it.get());
615 g.template get<p::v>(it.get())[2] = g.getGrid().LinId(it.get());
617 g.template get<p::t>(it.get())[0][0] = g.getGrid().LinId(it.get());
618 g.template get<p::t>(it.get())[0][1] = g.getGrid().LinId(it.get());
619 g.template get<p::t>(it.get())[0][2] = g.getGrid().LinId(it.get());
620 g.template get<p::t>(it.get())[1][0] = g.getGrid().LinId(it.get());
621 g.template get<p::t>(it.get())[1][1] = g.getGrid().LinId(it.get());
622 g.template get<p::t>(it.get())[1][2] = g.getGrid().LinId(it.get());
623 g.template get<p::t>(it.get())[2][0] = g.getGrid().LinId(it.get());
624 g.template get<p::t>(it.get())[2][1] = g.getGrid().LinId(it.get());
625 g.template get<p::t>(it.get())[2][2] = g.getGrid().LinId(it.get());
639 auto it = g.getIterator();
643 g.template get<p::x>(it.get()) = it.
get().get(0);
644 g.template get<p::y>(it.get()) = it.
get().get(1);
645 g.template get<p::z>(it.get()) = 0;
646 g.template get<p::s>(it.get()) = 1.0;
652 BOOST_AUTO_TEST_CASE( vtk_writer_use_grids)
654 Vcluster & v_cl = create_vcluster();
684 fill_grid_some_data(g1);
687 fill_grid_some_data(g2);
690 fill_grid_some_data(g3);
693 fill_grid_some_data(g4);
697 vtk_g.add(g1,offset1,spacing1,d1);
698 vtk_g.add(g2,offset2,spacing2,d2);
699 vtk_g.add(g3,offset3,spacing3,d3);
700 vtk_g.add(g4,offset4,spacing4,d4);
703 vtk_g.write(
"vtk_grids_1d.vtk",prp_names);
708 bool test = compare(
"vtk_grids_1d.vtk",
"test_data/vtk_grids_test_1d.vtk");
709 BOOST_REQUIRE_EQUAL(test,
true);
736 size_t sz[] = {16,16};
739 fill_grid_some_data(g1);
742 fill_grid_some_data(g2);
745 fill_grid_some_data(g3);
748 fill_grid_some_data(g4);
752 vtk_g.add(g1,offset1,spacing1,d1);
753 vtk_g.add(g2,offset2,spacing2,d2);
754 vtk_g.add(g3,offset3,spacing3,d3);
755 vtk_g.add(g4,offset4,spacing4,d4);
758 vtk_g.write(
"vtk_grids.vtk",prp_names);
763 bool test = compare(
"vtk_grids.vtk",
"test_data/vtk_grids_test.vtk");
764 BOOST_REQUIRE_EQUAL(test,
true);
790 size_t sz[] = {16,16};
793 fill_grid_some_data(g1);
796 fill_grid_some_data(g2);
799 fill_grid_some_data(g3);
802 fill_grid_some_data(g4);
812 vtk_g.add(0,g1,offset1,spacing1,d1,cmb);
813 vtk_g.add(0,g2,offset2,spacing2,d2,cmb);
814 vtk_g.add(1,g3,offset3,spacing3,d3,cmb);
815 vtk_g.add(1,g4,offset4,spacing4,d4,cmb2);
817 vtk_g.write(
"vtk_grids_st.vtk");
820 bool test = compare(
"vtk_grids_st.vtk",
"test_data/vtk_grids_st_test.vtk");
821 BOOST_REQUIRE_EQUAL(test,
true);
845 size_t sz[] = {16,16};
848 fill_grid_some_data_scal(g1);
851 fill_grid_some_data_scal(g2);
854 fill_grid_some_data_scal(g3);
857 fill_grid_some_data_scal(g4);
861 vtk_g.add(g1,offset1,spacing1,d1);
862 vtk_g.add(g2,offset2,spacing2,d2);
863 vtk_g.add(g3,offset3,spacing3,d3);
864 vtk_g.add(g4,offset4,spacing4,d4);
867 vtk_g.write(
"vtk_grids_prp.vtk",prp_names);
870 bool test = compare(
"vtk_grids_prp.vtk",
"test_data/vtk_grids_prp_test.vtk");
871 BOOST_REQUIRE_EQUAL(test,
true);
895 size_t sz[] = {16,16};
898 fill_grid_some_data(g1);
901 fill_grid_some_data(g2);
904 fill_grid_some_data(g3);
907 fill_grid_some_data(g4);
911 vtk_g.add(g1,offset1,spacing1,d1);
912 vtk_g.add(g2,offset2,spacing2,d2);
913 vtk_g.add(g3,offset3,spacing3,d3);
914 vtk_g.add(g4,offset4,spacing4,d4);
917 vtk_g.write(
"vtk_grids_unk.vtk",prp_names);
922 bool test = compare(
"vtk_grids_unk.vtk",
"test_data/vtk_grids_test.vtk");
923 BOOST_REQUIRE_EQUAL(test,
true);
933 BOOST_REQUIRE_EQUAL(ret,
true);
935 BOOST_REQUIRE_EQUAL(ret,
true);
938 BOOST_REQUIRE_EQUAL(dims,3);
941 BOOST_REQUIRE_EQUAL(dims,1);
947 BOOST_AUTO_TEST_CASE( vtk_writer_use_point_set )
949 Vcluster & v_cl = create_vcluster();
978 for (
size_t i = 0 ; i < v1ps.
size(); i++)
980 v1ps.template get<0>(i)[0] = rng.GetUniform();
981 v1ps.template get<0>(i)[1] = rng.GetUniform();
982 v1ps.template get<0>(i)[2] = rng.GetUniform();
984 v2ps.template get<0>(i)[0] = rng.GetUniform()*0.5;
985 v2ps.template get<0>(i)[1] = rng.GetUniform()*0.5;
986 v2ps.template get<0>(i)[2] = rng.GetUniform()*0.5;
988 v3ps.template get<0>(i)[0] = rng.GetUniform()*0.3;
989 v3ps.template get<0>(i)[1] = rng.GetUniform()*0.3;
990 v3ps.template get<0>(i)[2] = rng.GetUniform()*0.3;
992 v1pp.template get<0>(i) = rng.GetUniform();
993 v1pp.template get<1>(i)[0] = rng.GetUniform();
994 v1pp.template get<1>(i)[1] = rng.GetUniform();
995 v1pp.template get<1>(i)[2] = rng.GetUniform();
997 v2pp.template get<0>(i) = rng.GetUniform();
998 v2pp.template get<1>(i)[0] = rng.GetUniform();
999 v2pp.template get<1>(i)[1] = rng.GetUniform();
1000 v2pp.template get<1>(i)[2] = rng.GetUniform();
1002 v3pp.template get<0>(i) = rng.GetUniform();
1003 v3pp.template get<1>(i)[0] = rng.GetUniform();
1004 v3pp.template get<1>(i)[1] = rng.GetUniform();
1005 v3pp.template get<1>(i)[2] = rng.GetUniform();
1007 v4pp.template get<0>(i) = rng.GetUniform();
1008 v4pp.template get<1>(i).
get(0) = rng.GetUniform();
1009 v4pp.template get<1>(i).
get(1) = rng.GetUniform();
1010 v4pp.template get<1>(i).
get(2) = rng.GetUniform();
1015 vtk_v.add(v1ps,v1pp,75);
1016 vtk_v.add(v2ps,v2pp,88);
1017 vtk_v.add(v3ps,v3pp,90);
1020 vtk_v.write(
"vtk_points.vtk",prp_names);
1027 test = compare(
"vtk_points.vtk",
"test_data/vtk_points_test.vtk");
1028 BOOST_REQUIRE_EQUAL(test,
true);
1034 vtk_v2.add(v1ps,v4pp,75);
1036 vtk_v2.write(
"vtk_points_pp.vtk",prp_names);
1041 test = compare(
"vtk_points_pp.vtk",
"test_data/vtk_points_pp_test.vtk");
1042 BOOST_REQUIRE_EQUAL(test,
true);
1049 BOOST_AUTO_TEST_CASE( vtk_writer_use_point_set_properties )
1051 Vcluster & v_cl = create_vcluster();
1059 openfpm::vector<aggregate<float,float[3]>> v1pp;
1069 for (
size_t i = 0 ; i < v1ps.
size(); i++)
1071 v1ps.template get<0>(i)[0] = rng.GetUniform();
1072 v1ps.template get<0>(i)[1] = rng.GetUniform();
1073 v1ps.template get<0>(i)[2] = rng.GetUniform();
1076 v1pp.template get<0>(i) = rng.GetUniform();
1077 v1pp.template get<1>(i)[0] = rng.GetUniform();
1078 v1pp.template get<1>(i)[1] = rng.GetUniform();
1079 v1pp.template get<1>(i)[2] = rng.GetUniform();
1086 vtk_v.add(v1ps,v1pp,75);
1088 vtk_v.write(
"vtk_points_with_prp_names.vtk",prp_names);
1093 bool test = compare(
"vtk_points_with_prp_names.vtk",
"test_data/vtk_points_with_prp_names_test.vtk");
1094 BOOST_REQUIRE_EQUAL(test,
true);
1101 BOOST_AUTO_TEST_CASE( vtk_writer_use_point_set_binary )
1103 Vcluster & v_cl = create_vcluster();
1113 openfpm::vector<aggregate<float,float[3]>> v1pp;
1114 openfpm::vector<aggregate<float,float[3]>> v2pp;
1115 openfpm::vector<aggregate<float,float[3]>> v3pp;
1116 openfpm::vector<aggregate<float,Point<3,float>>> v4pp;
1132 for (
size_t i = 0 ; i < v1ps.
size(); i++)
1134 v1ps.template get<0>(i)[0] = rng.GetUniform();
1135 v1ps.template get<0>(i)[1] = rng.GetUniform();
1136 v1ps.template get<0>(i)[2] = rng.GetUniform();
1138 v2ps.template get<0>(i)[0] = rng.GetUniform()*0.5;
1139 v2ps.template get<0>(i)[1] = rng.GetUniform()*0.5;
1140 v2ps.template get<0>(i)[2] = rng.GetUniform()*0.5;
1142 v3ps.template get<0>(i)[0] = rng.GetUniform()*0.3;
1143 v3ps.template get<0>(i)[1] = rng.GetUniform()*0.3;
1144 v3ps.template get<0>(i)[2] = rng.GetUniform()*0.3;
1146 v1pp.template get<0>(i) = rng.GetUniform();
1147 v1pp.template get<1>(i)[0] = rng.GetUniform();
1148 v1pp.template get<1>(i)[1] = rng.GetUniform();
1149 v1pp.template get<1>(i)[2] = rng.GetUniform();
1151 v2pp.template get<0>(i) = rng.GetUniform();
1152 v2pp.template get<1>(i)[0] = rng.GetUniform();
1153 v2pp.template get<1>(i)[1] = rng.GetUniform();
1154 v2pp.template get<1>(i)[2] = rng.GetUniform();
1156 v3pp.template get<0>(i) = rng.GetUniform();
1157 v3pp.template get<1>(i)[0] = rng.GetUniform();
1158 v3pp.template get<1>(i)[1] = rng.GetUniform();
1159 v3pp.template get<1>(i)[2] = rng.GetUniform();
1161 v4pp.template get<0>(i) = rng.GetUniform();
1162 v4pp.template get<1>(i).
get(0) = rng.GetUniform();
1163 v4pp.template get<1>(i).
get(1) = rng.GetUniform();
1164 v4pp.template get<1>(i).
get(2) = rng.GetUniform();
1169 vtk_v.add(v1ps,v1pp,75);
1170 vtk_v.add(v2ps,v2pp,88);
1171 vtk_v.add(v3ps,v3pp,90);
1174 vtk_v.write(
"vtk_points_bin.vtk",prp_names,
"vtk output",file_type::BINARY);
1175 vtk_v.write(
"vtk_points_bin2.vtk",prp_names,
"vtk output",file_type::BINARY);
1182 test = compare(
"vtk_points_bin.vtk",
"test_data/vtk_points_bin_test.vtk");
1183 BOOST_REQUIRE_EQUAL(test,
true);
1184 test = compare(
"vtk_points_bin2.vtk",
"test_data/vtk_points_bin_test.vtk");
1185 BOOST_REQUIRE_EQUAL(test,
true);
1191 vtk_v2.add(v1ps,v4pp,75);
1193 vtk_v2.write(
"vtk_points_pp_bin.vtk",prp_names,
"vtk output",file_type::BINARY);
1198 test = compare(
"vtk_points_pp_bin.vtk",
"test_data/vtk_points_pp_bin_test.vtk");
1199 BOOST_REQUIRE_EQUAL(test,
true);
1230 for (
size_t i = 0 ; i < v1ps.
size(); i++)
1232 v1ps.template get<0>(i)[0] = rng.GetUniform();
1233 v1ps.template get<0>(i)[1] = rng.GetUniform();
1234 v1ps.template get<0>(i)[2] = rng.GetUniform();
1236 v2ps.template get<0>(i)[0] = rng.GetUniform()*0.5;
1237 v2ps.template get<0>(i)[1] = rng.GetUniform()*0.5;
1238 v2ps.template get<0>(i)[2] = rng.GetUniform()*0.5;
1240 v3ps.template get<0>(i)[0] = rng.GetUniform()*0.3;
1241 v3ps.template get<0>(i)[1] = rng.GetUniform()*0.3;
1243 v1pp.template get<0>(i) = rng.GetUniform();
1244 v1pp.template get<1>(i)[0][0] = rng.GetUniform();
1245 v1pp.template get<1>(i)[0][1] = rng.GetUniform();
1246 v1pp.template get<1>(i)[0][2] = rng.GetUniform();
1247 v1pp.template get<1>(i)[1][0] = rng.GetUniform();
1248 v1pp.template get<1>(i)[1][1] = rng.GetUniform();
1249 v1pp.template get<1>(i)[1][2] = rng.GetUniform();
1250 v1pp.template get<1>(i)[2][0] = rng.GetUniform();
1251 v1pp.template get<1>(i)[2][1] = rng.GetUniform();
1252 v1pp.template get<1>(i)[2][2] = rng.GetUniform();
1254 v2pp.template get<0>(i) = rng.GetUniform();
1255 v2pp.template get<1>(i)[0][0] = rng.GetUniform();
1256 v2pp.template get<1>(i)[0][1] = rng.GetUniform();
1257 v2pp.template get<1>(i)[0][2] = rng.GetUniform();
1258 v2pp.template get<1>(i)[1][0] = rng.GetUniform();
1259 v2pp.template get<1>(i)[1][1] = rng.GetUniform();
1260 v2pp.template get<1>(i)[1][2] = rng.GetUniform();
1261 v2pp.template get<1>(i)[2][0] = rng.GetUniform();
1262 v2pp.template get<1>(i)[2][1] = rng.GetUniform();
1263 v2pp.template get<1>(i)[2][2] = rng.GetUniform();
1265 v3pp.template get<0>(i) = rng.GetUniform();
1266 v3pp.template get<1>(i)[0][0] = rng.GetUniform();
1267 v3pp.template get<1>(i)[0][1] = rng.GetUniform();
1268 v3pp.template get<1>(i)[0][2] = rng.GetUniform();
1269 v3pp.template get<1>(i)[1][0] = rng.GetUniform();
1270 v3pp.template get<1>(i)[1][1] = rng.GetUniform();
1271 v3pp.template get<1>(i)[1][2] = rng.GetUniform();
1272 v3pp.template get<1>(i)[2][0] = rng.GetUniform();
1273 v3pp.template get<1>(i)[2][1] = rng.GetUniform();
1274 v3pp.template get<1>(i)[2][2] = rng.GetUniform();
1276 v4pp.template get<0>(i)[0] = rng.GetUniform();
1277 v4pp.template get<0>(i)[1] = rng.GetUniform();
1278 v4pp.template get<0>(i)[2] = rng.GetUniform();
1279 v4pp.template get<1>(i)[0] = rng.GetUniform();
1280 v4pp.template get<1>(i)[1] = rng.GetUniform();
1285 vtk_v.add(v1ps,v1pp,75);
1286 vtk_v.add(v2ps,v2pp,88);
1287 vtk_v.add(v3ps,v3pp,90);
1291 vtk_v.write(
"vtk_points_2d_bin.vtk",stub,
"vtk output",file_type::BINARY);
1298 test = compare(
"vtk_points_2d_bin.vtk",
"test_data/vtk_points_2d_bin_test.vtk");
1299 BOOST_REQUIRE_EQUAL(test,
true);
1305 vtk_v2.add(v1ps,v4pp,75);
1307 vtk_v2.write(
"vtk_points_2d_pp_bin.vtk",stub,
"vtk output",file_type::BINARY);
1312 test = compare(
"vtk_points_2d_pp_bin.vtk",
"test_data/vtk_points_2d_pp_bin_test.vtk");
1313 BOOST_REQUIRE_EQUAL(test,
true);
1319 BOOST_AUTO_TEST_SUITE_END()
auto get(const grid_dist_key_dx< dim > &v1) const -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type
Get the reference of the selected element.
Sub-domain vertex graph node.
void addVertex(const V &vrt)
add vertex
static const unsigned int dims
Number of dimensions.
Position of the element of dimension d in the hyper-cube of dimension dim.
size_t getProcessUnitID()
Get the process unit id.
static const unsigned int x
computation property id in boost::fusion::vector
float s_type
type of the positional field
point test with only scalar properties
This class implement the point shape in an N-dimensional space.
Implementation of VCluster class.
SimpleRNG is a simple random number generator based on George Marsaglia's MWC (multiply with carry) g...
boost::fusion::vector< float[2], size_t, double > type
The node contain 3 unsigned long integer for communication computation memory and id...
This is a distributed grid.
If it has not dims property defined the object is considered scalar.
vertex3(float x, float y)
Initialize the VTKVertex.
boost::fusion::vector< float[3], size_t, double > type
The node contain 3 unsigned long integer for communication computation memory and id...
void mone()
Set all the elements to -1.
Structure that store a graph in CSR format or basically in compressed adjacency matrix format...
boost::fusion::vector< float, float, float, float, size_t, double, unsigned char, long int > type
The node contain 3 unsigned long integer for communication computation memory and id...
void zero()
Set all the elements to zero.
This class represent an N-dimensional box.
auto addEdge(size_t v1, size_t v2, const E &ed) -> decltype(e.get(0))
add edge on the graph
Test structure used for several test.
float s_type
type of the positional field
static const unsigned int x
computation property id in boost::fusion::vector
vertex2(float x, float y, float z)
Initialize the VTKVertex.
static const unsigned int max_prop
total number of properties boost::fusion::vector
Test structure used for several test.
Implementation of 1-D std::vector like structure.
static const unsigned int max_prop
total number of properties boost::fusion::vector
vertex(float x, float y, float z)
Initialize the VTKVertex.
check for T to be writable
float s_type
type of the positional field