|
|
|
@ -33,8 +33,13 @@ const std::unordered_map<TestMesh, const std::string, TestMeshHash> mesh_names {
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::sloping_hole,"sloping_hole"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::slopy_cube,"slopy_cube"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::small_dorito,"small_dorito"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::step,"step"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::two_hollow_squares,"two_hollow_squares")
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::step,"step"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::two_hollow_squares,"two_hollow_squares"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::di_5mm_center_notch,"5mm_center_notch"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::di_10mm_notch,"10mm_notch"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::di_20mm_notch,"20mm_notch"),
|
|
|
|
|
std::make_pair<TestMesh, const std::string>(TestMesh::di_25mm_notch,"25mm_notch")
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -131,15 +136,31 @@ TriangleMesh mesh(TestMesh m) {
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::two_hollow_squares:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(66.7133483886719,104.286666870117,0), Vec3d(66.7133483886719,95.7133331298828,0), Vec3d(65.6666870117188,94.6666717529297,0), Vec3d(75.2866821289062,95.7133331298828,0), Vec3d(76.3333435058594,105.333335876465,0), Vec3d(76.3333435058594,94.6666717529297,0), Vec3d(65.6666870117188,105.33332824707,0), Vec3d(75.2866821289062,104.286666870117,0), Vec3d(71.1066818237305,104.58666229248,2.79999995231628), Vec3d(66.4133529663086,104.58666229248,2.79999995231628), Vec3d(75.5866851806641,104.58666229248,2.79999995231628), Vec3d(66.4133529663086,99.8933334350586,2.79999995231628), Vec3d(66.4133529663086,95.4133377075195,2.79999995231628), Vec3d(71.1066818237305,95.4133377075195,2.79999995231628), Vec3d(75.5866851806641,95.4133377075195,2.79999995231628), Vec3d(75.5866851806641,100.106666564941,2.79999995231628), Vec3d(74.5400161743164,103.540000915527,2.79999995231628), Vec3d(70.0320129394531,103.540000915527,2.79999995231628), Vec3d(67.4600067138672,103.540000915527,2.79999995231628), Vec3d(67.4600067138672,100.968002319336,2.79999995231628), Vec3d(67.4600067138672,96.4599990844727,2.79999995231628), Vec3d(74.5400161743164,99.0319976806641,2.79999995231628), Vec3d(74.5400161743164,96.4599990844727,2.79999995231628), Vec3d(70.0320129394531,96.4599990844727,2.79999995231628), Vec3d(123.666717529297,94.6666717529297,0), Vec3d(134.333312988281,94.6666717529297,0), Vec3d(124.413360595703,95.4133377075195,2.79999995231628), Vec3d(129.106674194336,95.4133377075195,2.79999995231628), Vec3d(133.586669921875,95.4133377075195,2.79999995231628), Vec3d(123.666717529297,105.33332824707,0), Vec3d(124.413360595703,104.58666229248,2.79999995231628), Vec3d(124.413360595703,99.8933334350586,2.79999995231628), Vec3d(134.333312988281,105.33332824707,0), Vec3d(129.106674194336,104.58666229248,2.79999995231628), Vec3d(133.586669921875,104.58666229248,2.79999995231628), Vec3d(133.586669921875,100.106666564941,2.79999995231628), Vec3d(124.713317871094,104.286666870117,0), Vec3d(124.713317871094,95.7133331298828,0), Vec3d(133.286712646484,95.7133331298828,0), Vec3d(133.286712646484,104.286666870117,0), Vec3d(132.540023803711,103.540000915527,2.79999995231628), Vec3d(128.032028198242,103.540008544922,2.79999995231628), Vec3d(125.460006713867,103.540000915527,2.79999995231628), Vec3d(125.460006713867,100.968002319336,2.79999995231628), Vec3d(125.460006713867,96.4599990844727,2.79999995231628), Vec3d(132.540023803711,99.0319976806641,2.79999995231628), Vec3d(132.540023803711,96.4599990844727,2.79999995231628), Vec3d(128.032028198242,96.4599990844727,2.79999995231628)
|
|
|
|
|
Vec3d(66.7133483886719,104.286666870117,0), Vec3d(66.7133483886719,95.7133331298828,0), Vec3d(65.6666870117188,94.6666717529297,0), Vec3d(75.2866821289062,95.7133331298828,0), Vec3d(76.3333435058594,105.333335876465,0), Vec3d(76.3333435058594,94.6666717529297,0),
|
|
|
|
|
Vec3d(65.6666870117188,105.33332824707,0), Vec3d(75.2866821289062,104.286666870117,0), Vec3d(71.1066818237305,104.58666229248,2.79999995231628), Vec3d(66.4133529663086,104.58666229248,2.79999995231628), Vec3d(75.5866851806641,104.58666229248,2.79999995231628),
|
|
|
|
|
Vec3d(66.4133529663086,99.8933334350586,2.79999995231628), Vec3d(66.4133529663086,95.4133377075195,2.79999995231628), Vec3d(71.1066818237305,95.4133377075195,2.79999995231628), Vec3d(75.5866851806641,95.4133377075195,2.79999995231628), Vec3d(75.5866851806641,100.106666564941,2.79999995231628),
|
|
|
|
|
Vec3d(74.5400161743164,103.540000915527,2.79999995231628), Vec3d(70.0320129394531,103.540000915527,2.79999995231628), Vec3d(67.4600067138672,103.540000915527,2.79999995231628), Vec3d(67.4600067138672,100.968002319336,2.79999995231628), Vec3d(67.4600067138672,96.4599990844727,2.79999995231628),
|
|
|
|
|
Vec3d(74.5400161743164,99.0319976806641,2.79999995231628), Vec3d(74.5400161743164,96.4599990844727,2.79999995231628), Vec3d(70.0320129394531,96.4599990844727,2.79999995231628), Vec3d(123.666717529297,94.6666717529297,0), Vec3d(134.333312988281,94.6666717529297,0),
|
|
|
|
|
Vec3d(124.413360595703,95.4133377075195,2.79999995231628), Vec3d(129.106674194336,95.4133377075195,2.79999995231628), Vec3d(133.586669921875,95.4133377075195,2.79999995231628), Vec3d(123.666717529297,105.33332824707,0), Vec3d(124.413360595703,104.58666229248,2.79999995231628),
|
|
|
|
|
Vec3d(124.413360595703,99.8933334350586,2.79999995231628), Vec3d(134.333312988281,105.33332824707,0), Vec3d(129.106674194336,104.58666229248,2.79999995231628), Vec3d(133.586669921875,104.58666229248,2.79999995231628), Vec3d(133.586669921875,100.106666564941,2.79999995231628),
|
|
|
|
|
Vec3d(124.713317871094,104.286666870117,0), Vec3d(124.713317871094,95.7133331298828,0), Vec3d(133.286712646484,95.7133331298828,0), Vec3d(133.286712646484,104.286666870117,0), Vec3d(132.540023803711,103.540000915527,2.79999995231628), Vec3d(128.032028198242,103.540008544922,2.79999995231628),
|
|
|
|
|
Vec3d(125.460006713867,103.540000915527,2.79999995231628), Vec3d(125.460006713867,100.968002319336,2.79999995231628), Vec3d(125.460006713867,96.4599990844727,2.79999995231628), Vec3d(132.540023803711,99.0319976806641,2.79999995231628), Vec3d(132.540023803711,96.4599990844727,2.79999995231628),
|
|
|
|
|
Vec3d(128.032028198242,96.4599990844727,2.79999995231628)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(3,4,5), Vec3i32(6,4,0), Vec3i32(6,0,2), Vec3i32(2,1,5), Vec3i32(7,4,3), Vec3i32(1,3,5), Vec3i32(0,4,7), Vec3i32(4,6,8), Vec3i32(6,9,8), Vec3i32(4,8,10), Vec3i32(6,2,9), Vec3i32(2,11,9), Vec3i32(2,12,11), Vec3i32(2,5,12), Vec3i32(5,13,12), Vec3i32(5,14,13), Vec3i32(4,10,15), Vec3i32(5,4,14), Vec3i32(4,15,14), Vec3i32(7,16,17), Vec3i32(0,7,18), Vec3i32(7,17,18), Vec3i32(1,19,20), Vec3i32(1,0,19), Vec3i32(0,18,19), Vec3i32(7,3,21), Vec3i32(3,22,21), Vec3i32(7,21,16), Vec3i32(3,23,22), Vec3i32(3,1,23), Vec3i32(1,20,23), Vec3i32(24,25,26), Vec3i32(25,27,26), Vec3i32(25,28,27), Vec3i32(29,24,30), Vec3i32(24,31,30), Vec3i32(24,26,31), Vec3i32(32,29,33), Vec3i32(29,30,33), Vec3i32(32,33,34), Vec3i32(32,34,35), Vec3i32(25,32,28), Vec3i32(32,35,28), Vec3i32(36,37,24), Vec3i32(38,32,25), Vec3i32(29,32,36), Vec3i32(29,36,24), Vec3i32(24,37,25), Vec3i32(39,32,38), Vec3i32(37,38,25), Vec3i32(36,32,39), Vec3i32(39,40,41), Vec3i32(36,39,42), Vec3i32(39,41,42), Vec3i32(37,43,44), Vec3i32(37,36,43), Vec3i32(36,42,43), Vec3i32(39,38,45), Vec3i32(38,46,45), Vec3i32(39,45,40), Vec3i32(38,47,46), Vec3i32(38,37,47), Vec3i32(37,44,47), Vec3i32(16,8,9), Vec3i32(16,10,8), Vec3i32(10,16,15), Vec3i32(15,16,21), Vec3i32(22,15,21), Vec3i32(15,22,14), Vec3i32(22,23,14), Vec3i32(23,20,14), Vec3i32(17,16,9), Vec3i32(18,17,9), Vec3i32(19,18,9), Vec3i32(19,9,11), Vec3i32(19,11,20), Vec3i32(13,14,20), Vec3i32(20,11,12), Vec3i32(13,20,12), Vec3i32(41,40,30), Vec3i32(42,41,30), Vec3i32(43,42,30), Vec3i32(43,30,31), Vec3i32(43,31,44), Vec3i32(27,28,44), Vec3i32(44,31,26), Vec3i32(27,44,26), Vec3i32(40,33,30), Vec3i32(40,34,33), Vec3i32(34,40,35), Vec3i32(35,40,45), Vec3i32(46,35,45), Vec3i32(35,46,28), Vec3i32(46,47,28), Vec3i32(47,44,28) ,
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(3,4,5), Vec3i32(6,4,0), Vec3i32(6,0,2), Vec3i32(2,1,5), Vec3i32(7,4,3), Vec3i32(1,3,5), Vec3i32(0,4,7), Vec3i32(4,6,8), Vec3i32(6,9,8), Vec3i32(4,8,10), Vec3i32(6,2,9), Vec3i32(2,11,9), Vec3i32(2,12,11), Vec3i32(2,5,12), Vec3i32(5,13,12), Vec3i32(5,14,13),
|
|
|
|
|
Vec3i32(4,10,15), Vec3i32(5,4,14), Vec3i32(4,15,14), Vec3i32(7,16,17), Vec3i32(0,7,18), Vec3i32(7,17,18), Vec3i32(1,19,20), Vec3i32(1,0,19), Vec3i32(0,18,19), Vec3i32(7,3,21), Vec3i32(3,22,21), Vec3i32(7,21,16), Vec3i32(3,23,22), Vec3i32(3,1,23), Vec3i32(1,20,23), Vec3i32(24,25,26),
|
|
|
|
|
Vec3i32(25,27,26), Vec3i32(25,28,27), Vec3i32(29,24,30), Vec3i32(24,31,30), Vec3i32(24,26,31), Vec3i32(32,29,33), Vec3i32(29,30,33), Vec3i32(32,33,34), Vec3i32(32,34,35), Vec3i32(25,32,28), Vec3i32(32,35,28), Vec3i32(36,37,24), Vec3i32(38,32,25), Vec3i32(29,32,36), Vec3i32(29,36,24),
|
|
|
|
|
Vec3i32(24,37,25), Vec3i32(39,32,38), Vec3i32(37,38,25), Vec3i32(36,32,39), Vec3i32(39,40,41), Vec3i32(36,39,42), Vec3i32(39,41,42), Vec3i32(37,43,44), Vec3i32(37,36,43), Vec3i32(36,42,43), Vec3i32(39,38,45), Vec3i32(38,46,45), Vec3i32(39,45,40), Vec3i32(38,47,46), Vec3i32(38,37,47),
|
|
|
|
|
Vec3i32(37,44,47), Vec3i32(16,8,9), Vec3i32(16,10,8), Vec3i32(10,16,15), Vec3i32(15,16,21), Vec3i32(22,15,21), Vec3i32(15,22,14), Vec3i32(22,23,14), Vec3i32(23,20,14), Vec3i32(17,16,9), Vec3i32(18,17,9), Vec3i32(19,18,9), Vec3i32(19,9,11), Vec3i32(19,11,20), Vec3i32(13,14,20),
|
|
|
|
|
Vec3i32(20,11,12), Vec3i32(13,20,12), Vec3i32(41,40,30), Vec3i32(42,41,30), Vec3i32(43,42,30), Vec3i32(43,30,31), Vec3i32(43,31,44), Vec3i32(27,28,44), Vec3i32(44,31,26), Vec3i32(27,44,26), Vec3i32(40,33,30), Vec3i32(40,34,33), Vec3i32(34,40,35), Vec3i32(35,40,45), Vec3i32(46,35,45),
|
|
|
|
|
Vec3i32(35,46,28), Vec3i32(46,47,28), Vec3i32(47,44,28) ,
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::small_dorito:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(6.00058937072754,-22.9982089996338,0), Vec3d(22.0010242462158,-49.9998741149902,0), Vec3d(-9.99957847595215,-49.999870300293,0), Vec3d(6.00071382522583,-32.2371635437012,28.0019245147705), Vec3d(11.1670551300049,-37.9727020263672,18.9601669311523), Vec3d(6.00060224533081,-26.5392456054688,10.7321853637695)
|
|
|
|
|
Vec3d(6.00058937072754,-22.9982089996338,0), Vec3d(22.0010242462158,-49.9998741149902,0), Vec3d(-9.99957847595215,-49.999870300293,0), Vec3d(6.00071382522583,-32.2371635437012,28.0019245147705), Vec3d(11.1670551300049,-37.9727020263672,18.9601669311523),
|
|
|
|
|
Vec3d(6.00060224533081,-26.5392456054688,10.7321853637695)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(3,4,5), Vec3i32(2,1,4), Vec3i32(2,4,3), Vec3i32(2,3,5), Vec3i32(2,5,0), Vec3i32(5,4,1), Vec3i32(5,1,0)
|
|
|
|
@ -150,7 +171,8 @@ TriangleMesh mesh(TestMesh m) {
|
|
|
|
|
Vec3d(75,84.5,8), Vec3d(125,84.5,8), Vec3d(75,94.5,8), Vec3d(120,84.5,5), Vec3d(125,94.5,8), Vec3d(75,84.5,0), Vec3d(80,84.5,5), Vec3d(125,84.5,0), Vec3d(125,94.5,0), Vec3d(80,94.5,5), Vec3d(75,94.5,0), Vec3d(120,94.5,5), Vec3d(120,84.5,0), Vec3d(80,94.5,0), Vec3d(80,84.5,0), Vec3d(120,94.5,0)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,0,3), Vec3i32(2,1,4), Vec3i32(2,5,0), Vec3i32(0,6,3), Vec3i32(1,3,7), Vec3i32(1,8,4), Vec3i32(4,9,2), Vec3i32(10,5,2), Vec3i32(5,6,0), Vec3i32(6,11,3), Vec3i32(3,12,7), Vec3i32(7,8,1), Vec3i32(4,8,11), Vec3i32(4,11,9), Vec3i32(9,10,2), Vec3i32(10,13,5), Vec3i32(14,6,5), Vec3i32(9,11,6), Vec3i32(11,12,3), Vec3i32(12,8,7), Vec3i32(11,8,15), Vec3i32(13,10,9), Vec3i32(5,13,14), Vec3i32(14,13,6), Vec3i32(6,13,9), Vec3i32(15,12,11), Vec3i32(15,8,12)
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,0,3), Vec3i32(2,1,4), Vec3i32(2,5,0), Vec3i32(0,6,3), Vec3i32(1,3,7), Vec3i32(1,8,4), Vec3i32(4,9,2), Vec3i32(10,5,2), Vec3i32(5,6,0), Vec3i32(6,11,3), Vec3i32(3,12,7), Vec3i32(7,8,1), Vec3i32(4,8,11), Vec3i32(4,11,9), Vec3i32(9,10,2), Vec3i32(10,13,5),
|
|
|
|
|
Vec3i32(14,6,5), Vec3i32(9,11,6), Vec3i32(11,12,3), Vec3i32(12,8,7), Vec3i32(11,8,15), Vec3i32(13,10,9), Vec3i32(5,13,14), Vec3i32(14,13,6), Vec3i32(6,13,9), Vec3i32(15,12,11), Vec3i32(15,8,12)
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::bridge_with_hole:
|
|
|
|
@ -158,7 +180,8 @@ TriangleMesh mesh(TestMesh m) {
|
|
|
|
|
Vec3d(75,69.5,8), Vec3d(80,76.9091644287109,8), Vec3d(75,94.5,8), Vec3d(125,69.5,8), Vec3d(120,76.9091644287109,8), Vec3d(120,87.0908355712891,8), Vec3d(80,87.0908355712891,8), Vec3d(125,94.5,8), Vec3d(80,87.0908355712891,5), Vec3d(120,87.0908355712891,5), Vec3d(125,94.5,0), Vec3d(120,69.5,0), Vec3d(120,94.5,0), Vec3d(125,69.5,0), Vec3d(120,94.5,5), Vec3d(80,94.5,5), Vec3d(80,94.5,0), Vec3d(75,94.5,0), Vec3d(80,69.5,5), Vec3d(80,69.5,0), Vec3d(80,76.9091644287109,5), Vec3d(120,69.5,5), Vec3d(75,69.5,0), Vec3d(120,76.9091644287109,5)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,0,3), Vec3i32(1,3,4), Vec3i32(4,3,5), Vec3i32(2,6,7), Vec3i32(6,2,1), Vec3i32(7,6,5), Vec3i32(7,5,3), Vec3i32(5,8,9), Vec3i32(8,5,6), Vec3i32(10,11,12), Vec3i32(11,10,13), Vec3i32(14,8,15), Vec3i32(8,14,9), Vec3i32(2,16,17), Vec3i32(16,2,15), Vec3i32(15,2,14), Vec3i32(14,10,12), Vec3i32(10,14,7), Vec3i32(7,14,2), Vec3i32(16,18,19), Vec3i32(18,16,20), Vec3i32(20,16,1), Vec3i32(1,16,8), Vec3i32(8,16,15), Vec3i32(6,1,8), Vec3i32(3,11,13), Vec3i32(11,3,21), Vec3i32(21,3,18), Vec3i32(18,22,19), Vec3i32(22,18,0), Vec3i32(0,18,3), Vec3i32(16,22,17), Vec3i32(22,16,19), Vec3i32(2,22,0), Vec3i32(22,2,17), Vec3i32(5,23,4), Vec3i32(23,11,21), Vec3i32(11,23,12), Vec3i32(12,23,9), Vec3i32(9,23,5), Vec3i32(12,9,14), Vec3i32(23,18,20), Vec3i32(18,23,21), Vec3i32(10,3,13), Vec3i32(3,10,7), Vec3i32(1,23,20), Vec3i32(23,1,4)
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,0,3), Vec3i32(1,3,4), Vec3i32(4,3,5), Vec3i32(2,6,7), Vec3i32(6,2,1), Vec3i32(7,6,5), Vec3i32(7,5,3), Vec3i32(5,8,9), Vec3i32(8,5,6), Vec3i32(10,11,12), Vec3i32(11,10,13), Vec3i32(14,8,15), Vec3i32(8,14,9), Vec3i32(2,16,17), Vec3i32(16,2,15), Vec3i32(15,2,14),
|
|
|
|
|
Vec3i32(14,10,12), Vec3i32(10,14,7), Vec3i32(7,14,2), Vec3i32(16,18,19), Vec3i32(18,16,20), Vec3i32(20,16,1), Vec3i32(1,16,8), Vec3i32(8,16,15), Vec3i32(6,1,8), Vec3i32(3,11,13), Vec3i32(11,3,21), Vec3i32(21,3,18), Vec3i32(18,22,19), Vec3i32(22,18,0), Vec3i32(0,18,3), Vec3i32(16,22,17), Vec3i32(22,16,19), Vec3i32(2,22,0), Vec3i32(22,2,17), Vec3i32(5,23,4), Vec3i32(23,11,21), Vec3i32(11,23,12), Vec3i32(12,23,9), Vec3i32(9,23,5), Vec3i32(12,9,14), Vec3i32(23,18,20), Vec3i32(18,23,21), Vec3i32(10,3,13), Vec3i32(3,10,7), Vec3i32(1,23,20), Vec3i32(23,1,4)
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::step:
|
|
|
|
@ -166,7 +189,8 @@ TriangleMesh mesh(TestMesh m) {
|
|
|
|
|
Vec3d(0,20,5), Vec3d(0,20,0), Vec3d(0,0,5), Vec3d(0,0,0), Vec3d(20,0,0), Vec3d(20,0,5), Vec3d(1,19,5), Vec3d(1,1,5), Vec3d(19,1,5), Vec3d(20,20,5), Vec3d(19,19,5), Vec3d(20,20,0), Vec3d(19,19,10), Vec3d(1,19,10), Vec3d(1,1,10), Vec3d(19,1,10)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,3,2), Vec3i32(3,4,5), Vec3i32(2,3,5), Vec3i32(6,0,2), Vec3i32(6,2,7), Vec3i32(5,8,7), Vec3i32(5,7,2), Vec3i32(9,10,8), Vec3i32(9,8,5), Vec3i32(9,0,6), Vec3i32(9,6,10), Vec3i32(9,11,1), Vec3i32(9,1,0), Vec3i32(3,1,11), Vec3i32(4,3,11), Vec3i32(5,11,9), Vec3i32(5,4,11), Vec3i32(12,10,6), Vec3i32(12,6,13), Vec3i32(6,7,14), Vec3i32(13,6,14), Vec3i32(7,8,15), Vec3i32(14,7,15), Vec3i32(15,8,10), Vec3i32(15,10,12), Vec3i32(12,13,14), Vec3i32(12,14,15)
|
|
|
|
|
Vec3i32(0,1,2), Vec3i32(1,3,2), Vec3i32(3,4,5), Vec3i32(2,3,5), Vec3i32(6,0,2), Vec3i32(6,2,7), Vec3i32(5,8,7), Vec3i32(5,7,2), Vec3i32(9,10,8), Vec3i32(9,8,5), Vec3i32(9,0,6), Vec3i32(9,6,10), Vec3i32(9,11,1), Vec3i32(9,1,0), Vec3i32(3,1,11), Vec3i32(4,3,11), Vec3i32(5,11,9),
|
|
|
|
|
Vec3i32(5,4,11), Vec3i32(12,10,6), Vec3i32(12,6,13), Vec3i32(6,7,14), Vec3i32(13,6,14), Vec3i32(7,8,15), Vec3i32(14,7,15), Vec3i32(15,8,10), Vec3i32(15,10,12), Vec3i32(12,13,14), Vec3i32(12,14,15)
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::slopy_cube:
|
|
|
|
@ -179,7 +203,43 @@ TriangleMesh mesh(TestMesh m) {
|
|
|
|
|
Vec3i32(2,3,10) , Vec3i32(9,10,12) , Vec3i32(13,9,12) , Vec3i32(3,1,8) , Vec3i32(11,3,8) , Vec3i32(10,11,8) , Vec3i32(4,10,8) , Vec3i32(6,12,10) , Vec3i32(4,6,10) ,
|
|
|
|
|
Vec3i32(7,13,12) , Vec3i32(6,7,12) , Vec3i32(7,5,9) , Vec3i32(13,7,9)
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::di_5mm_center_notch:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(-15,-15,-5),Vec3d(-15,15,5),Vec3d(-15,15,-5),Vec3d(-15,-15,5),Vec3d(3,-2,5),Vec3d(15,15,5),Vec3d(3,3,5),Vec3d(-2,3,5),Vec3d(-2,-2,5),Vec3d(15,-15,5),Vec3d(15,15,-5),Vec3d(15,-15,-5),Vec3d(-2,3,0),Vec3d(-2,-2,0),Vec3d(3,-2,0),Vec3d(3,3,0)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2),Vec3i32(1,0,3),Vec3i32(4,5,6),Vec3i32(5,7,6),Vec3i32(7,1,8),Vec3i32(1,7,5),Vec3i32(5,4,9),Vec3i32(8,9,4),Vec3i32(8,3,9),Vec3i32(3,8,1),Vec3i32(9,10,5),Vec3i32(10,9,11),Vec3i32(10,1,5),Vec3i32(1,10,2),Vec3i32(0,10,11),Vec3i32(10,0,2),Vec3i32(0,9,3),Vec3i32(9,0,11),
|
|
|
|
|
Vec3i32(8,12,7),Vec3i32(12,8,13),Vec3i32(14,6,15),Vec3i32(6,14,4),Vec3i32(12,14,15),Vec3i32(14,12,13),Vec3i32(14,8,4),Vec3i32(8,14,13),Vec3i32(12,6,7),Vec3i32(6,12,15)
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::di_10mm_notch:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(-15,15,-5),Vec3d(-15,-5,0),Vec3d(-15,15,5),Vec3d(-15,-15,-5),Vec3d(-15,-15,0),Vec3d(-15,-5,5),Vec3d(15,15,5),Vec3d(-5,-5,5),Vec3d(15,-15,5),Vec3d(-5,-15,5),Vec3d(15,15,-5),Vec3d(15,-15,-5),Vec3d(-5,-15,0),Vec3d(-5,-5,0)
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2),Vec3i32(3,1,0),Vec3i32(1,3,4),Vec3i32(2,1,5),Vec3i32(6,7,8),Vec3i32(2,7,6),Vec3i32(7,2,5),Vec3i32(8,7,9),Vec3i32(8,10,6),Vec3i32(10,8,11),Vec3i32(10,2,6),Vec3i32(2,10,0),Vec3i32(3,10,11),Vec3i32(10,3,0),Vec3i32(4,3,12),Vec3i32(12,8,9),Vec3i32(11,12,3),Vec3i32(12,11,8),
|
|
|
|
|
Vec3i32(12,7,13),Vec3i32(7,12,9),Vec3i32(1,7,5),Vec3i32(7,1,13),Vec3i32(1,12,13),Vec3i32(12,1,4),
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::di_20mm_notch:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(-15,15,-5),Vec3d(-15,5,0),Vec3d(-15,15,5),Vec3d(-15,-15,-5),Vec3d(-15,-15,0),Vec3d(-15,5,5),Vec3d(15,15,5),Vec3d(5,5,5),Vec3d(15,-15,5),Vec3d(5,-15,5),Vec3d(15,15,-5),Vec3d(15,-15,-5),Vec3d(5,-15,0),Vec3d(5,5,0),
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2),Vec3i32(3,1,0),Vec3i32(1,3,4),Vec3i32(2,1,5),Vec3i32(6,7,8),Vec3i32(2,7,6),Vec3i32(7,2,5),Vec3i32(8,7,9),Vec3i32(8,10,6),Vec3i32(10,8,11),Vec3i32(3,10,11),Vec3i32(10,3,0),Vec3i32(4,3,12),Vec3i32(12,8,9),Vec3i32(12,11,8),Vec3i32(11,12,3),Vec3i32(10,2,6),Vec3i32(2,10,0),
|
|
|
|
|
Vec3i32(12,7,13),Vec3i32(7,12,9),Vec3i32(1,12,13),Vec3i32(12,1,4),Vec3i32(1,7,5),Vec3i32(7,1,13),
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
case TestMesh::di_25mm_notch:
|
|
|
|
|
vertices = std::vector<Vec3d>{
|
|
|
|
|
Vec3d(-15,15,-5),Vec3d(-15,10,0),Vec3d(-15,15,5),Vec3d(-15,-15,-5),Vec3d(-15,-15,0),Vec3d(-15,10,5),Vec3d(15,15,5),Vec3d(10,10,5),Vec3d(15,-15,5),Vec3d(10,-15,5),Vec3d(15,15,-5),Vec3d(15,-15,-5),Vec3d(10,-15,0),Vec3d(10,10,0),
|
|
|
|
|
};
|
|
|
|
|
facets = std::vector<Vec3i32>{
|
|
|
|
|
Vec3i32(0,1,2),Vec3i32(3,1,0),Vec3i32(1,3,4),Vec3i32(2,1,5),Vec3i32(6,7,8),Vec3i32(2,7,6),Vec3i32(7,2,5),Vec3i32(8,7,9),Vec3i32(8,10,6),Vec3i32(10,8,11),Vec3i32(3,10,11),Vec3i32(10,3,0),Vec3i32(4,3,12),Vec3i32(12,8,9),Vec3i32(12,11,8),Vec3i32(11,12,3),Vec3i32(10,2,6),Vec3i32(2,10,0),
|
|
|
|
|
Vec3i32(12,7,13),Vec3i32(7,12,9),Vec3i32(1,7,5),Vec3i32(7,1,13),Vec3i32(1,12,13),Vec3i32(12,1,4),
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -214,7 +274,7 @@ void init_print(Print& print, std::initializer_list<TestMesh> meshes, Slic3r::Mo
|
|
|
|
|
//if (tests_gcode != ""s)
|
|
|
|
|
// config->set_key_value("gcode_comments", new ConfigOptionBool(true));
|
|
|
|
|
|
|
|
|
|
print.apply_config(*config);
|
|
|
|
|
print.apply_config_perl_tests_only(*config);
|
|
|
|
|
for (const TestMesh& t : meshes) {
|
|
|
|
|
ModelObject* object {model.add_object()};
|
|
|
|
|
object->name += std::string(mesh_names.at(t)) + ".stl"s;
|
|
|
|
@ -247,7 +307,7 @@ void init_print(Print& print, std::initializer_list<TriangleMesh> meshes, Slic3r
|
|
|
|
|
if (tests_gcode != ""s)
|
|
|
|
|
config->set_key_value("gcode_comments", new ConfigOptionBool(true));
|
|
|
|
|
|
|
|
|
|
print.apply_config(*config);
|
|
|
|
|
print.apply_config_perl_tests_only(*config);
|
|
|
|
|
for (const TriangleMesh& t : meshes) {
|
|
|
|
|
ModelObject* object {model.add_object()};
|
|
|
|
|
object->name += "object.stl"s;
|
|
|
|
|