| | |
| |
|
| | #include <gtest/gtest.h> |
| |
|
| | #include <src/App/InitApplication.h> |
| |
|
| | #include "PartTestHelpers.h" |
| |
|
| | class FeaturePartMakeElementRefineTest: public ::testing::Test, |
| | public PartTestHelpers::PartTestHelperClass |
| | { |
| | protected: |
| | static void SetUpTestSuite() |
| | { |
| | tests::initApplication(); |
| | } |
| |
|
| |
|
| | void SetUp() override |
| | { |
| | createTestDoc(); |
| | } |
| |
|
| | void TearDown() override |
| | {} |
| | }; |
| |
|
| | TEST_F(FeaturePartMakeElementRefineTest, makeElementRefineBoxes) |
| | { |
| | |
| | auto _doc = App::GetApplication().getActiveDocument(); |
| | auto _fuse = _doc->addObject<Part::Fuse>(); |
| | _fuse->Base.setValue(_boxes[0]); |
| | _fuse->Tool.setValue(_boxes[3]); |
| | _fuse->Refine.setValue(false); |
| | |
| | _fuse->execute(); |
| | Part::TopoShape ts = _fuse->Shape.getShape(); |
| | Part::TopoShape refined = ts.makeElementRefine(); |
| | double volume = PartTestHelpers::getVolume(ts.getShape()); |
| | double refinedVolume = PartTestHelpers::getVolume(refined.getShape()); |
| | Base::BoundBox3d bb = ts.getBoundBox(); |
| | |
| | EXPECT_TRUE(bb.IsValid()); |
| | EXPECT_DOUBLE_EQ(volume, 12.0); |
| | EXPECT_DOUBLE_EQ(refinedVolume, 12.0); |
| | EXPECT_EQ(ts.countSubElements("Face"), 10); |
| | EXPECT_EQ(ts.countSubElements("Edge"), 20); |
| | EXPECT_EQ(refined.countSubElements("Face"), 6); |
| | EXPECT_EQ(refined.countSubElements("Edge"), 12); |
| | |
| | EXPECT_EQ(ts.getElementMapSize(), 42); |
| | EXPECT_EQ(refined.getElementMapSize(), 26); |
| | |
| | |
| | } |
| |
|