Download tests/src/Mod/Part/App/BRepMesh.cpp from AbdulElahGwaith/FreeCAD: direct link, hf CLI and curl.
- Browser
- Download file 4.66 kB
-
https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/tests/src/Mod/Part/App/BRepMesh.cpp
- Command line
-
hf download hf://AbdulElahGwaith/FreeCAD/tests/src/Mod/Part/App/BRepMesh.cpp
-
curl -L -o BRepMesh.cpp https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/tests/src/Mod/Part/App/BRepMesh.cpp
4.66 kB
| // SPDX-License-Identifier: LGPL-2.1-or-later | |
| // NOLINTBEGIN | |
| class BRepMeshTest: public ::testing::Test | |
| { | |
| protected: | |
| void SetUp() override | |
| {} | |
| void TearDown() override | |
| {} | |
| std::vector<Part::BRepMesh::Domain> getNoDomains() const | |
| { | |
| std::vector<Part::BRepMesh::Domain> domains; | |
| return domains; | |
| } | |
| std::vector<Part::BRepMesh::Domain> getEmptyDomains() const | |
| { | |
| Part::BRepMesh::Domain domain; | |
| std::vector<Part::BRepMesh::Domain> domains; | |
| domains.push_back(domain); | |
| domains.push_back(domain); | |
| return domains; | |
| } | |
| std::vector<Part::BRepMesh::Domain> getConnectedDomains() const | |
| { | |
| Part::BRepMesh::Domain domain1; | |
| domain1.points.emplace_back(0, 0, 0); | |
| domain1.points.emplace_back(10, 0, 0); | |
| domain1.points.emplace_back(10, 10, 0); | |
| domain1.points.emplace_back(0, 10, 0); | |
| { | |
| Part::BRepMesh::Facet f1; | |
| f1.I1 = 0; | |
| f1.I2 = 1; | |
| f1.I3 = 2; | |
| domain1.facets.emplace_back(f1); | |
| } | |
| { | |
| Part::BRepMesh::Facet f2; | |
| f2.I1 = 0; | |
| f2.I2 = 2; | |
| f2.I3 = 3; | |
| domain1.facets.emplace_back(f2); | |
| } | |
| Part::BRepMesh::Domain domain2; | |
| domain2.points.emplace_back(0, 0, 0); | |
| domain2.points.emplace_back(0, 10, 0); | |
| domain2.points.emplace_back(0, 10, 10); | |
| domain2.points.emplace_back(0, 0, 10); | |
| { | |
| Part::BRepMesh::Facet f1; | |
| f1.I1 = 0; | |
| f1.I2 = 1; | |
| f1.I3 = 2; | |
| domain2.facets.emplace_back(f1); | |
| } | |
| { | |
| Part::BRepMesh::Facet f2; | |
| f2.I1 = 0; | |
| f2.I2 = 2; | |
| f2.I3 = 3; | |
| domain2.facets.emplace_back(f2); | |
| } | |
| std::vector<Part::BRepMesh::Domain> domains; | |
| domains.push_back(domain1); | |
| domains.push_back(domain2); | |
| return domains; | |
| } | |
| std::vector<Part::BRepMesh::Domain> getUnconnectedDomains() const | |
| { | |
| double eps = 1.0e-10; | |
| Part::BRepMesh::Domain domain1; | |
| domain1.points.emplace_back(eps, eps, eps); | |
| domain1.points.emplace_back(10, 0, 0); | |
| domain1.points.emplace_back(10, 10, 0); | |
| domain1.points.emplace_back(eps, 10, eps); | |
| { | |
| Part::BRepMesh::Facet f1; | |
| f1.I1 = 0; | |
| f1.I2 = 1; | |
| f1.I3 = 2; | |
| domain1.facets.emplace_back(f1); | |
| } | |
| { | |
| Part::BRepMesh::Facet f2; | |
| f2.I1 = 0; | |
| f2.I2 = 2; | |
| f2.I3 = 3; | |
| domain1.facets.emplace_back(f2); | |
| } | |
| Part::BRepMesh::Domain domain2; | |
| domain2.points.emplace_back(0, 0, 0); | |
| domain2.points.emplace_back(0, 10, 0); | |
| domain2.points.emplace_back(0, 10, 10); | |
| domain2.points.emplace_back(0, 0, 10); | |
| { | |
| Part::BRepMesh::Facet f1; | |
| f1.I1 = 0; | |
| f1.I2 = 1; | |
| f1.I3 = 2; | |
| domain2.facets.emplace_back(f1); | |
| } | |
| { | |
| Part::BRepMesh::Facet f2; | |
| f2.I1 = 0; | |
| f2.I2 = 2; | |
| f2.I3 = 3; | |
| domain2.facets.emplace_back(f2); | |
| } | |
| std::vector<Part::BRepMesh::Domain> domains; | |
| domains.push_back(domain1); | |
| domains.push_back(domain2); | |
| return domains; | |
| } | |
| }; | |
| TEST_F(BRepMeshTest, testNoDomains) | |
| { | |
| std::vector<Base::Vector3d> points; | |
| std::vector<Part::BRepMesh::Facet> faces; | |
| Part::BRepMesh brepMesh; | |
| brepMesh.getFacesFromDomains(getNoDomains(), points, faces); | |
| EXPECT_TRUE(points.empty()); | |
| EXPECT_TRUE(faces.empty()); | |
| } | |
| TEST_F(BRepMeshTest, testEmptyDomains) | |
| { | |
| std::vector<Base::Vector3d> points; | |
| std::vector<Part::BRepMesh::Facet> faces; | |
| Part::BRepMesh brepMesh; | |
| brepMesh.getFacesFromDomains(getEmptyDomains(), points, faces); | |
| EXPECT_TRUE(points.empty()); | |
| EXPECT_TRUE(faces.empty()); | |
| } | |
| TEST_F(BRepMeshTest, testConnectedDomains) | |
| { | |
| std::vector<Base::Vector3d> points; | |
| std::vector<Part::BRepMesh::Facet> faces; | |
| Part::BRepMesh brepMesh; | |
| brepMesh.getFacesFromDomains(getConnectedDomains(), points, faces); | |
| EXPECT_EQ(points.size(), 6); | |
| EXPECT_EQ(faces.size(), 4); | |
| } | |
| TEST_F(BRepMeshTest, testUnconnectedDomains) | |
| { | |
| std::vector<Base::Vector3d> points; | |
| std::vector<Part::BRepMesh::Facet> faces; | |
| Part::BRepMesh brepMesh; | |
| brepMesh.getFacesFromDomains(getUnconnectedDomains(), points, faces); | |
| EXPECT_EQ(points.size(), 6); | |
| EXPECT_EQ(faces.size(), 4); | |
| } | |
| // NOLINTEND | |