Merge pull request #19908 from davesrocketshop/external_modules_part1_pr2
Materials: External Modules Part 1
This commit is contained in:
@@ -57,12 +57,12 @@ protected:
|
||||
QDir libDir(libPath);
|
||||
libDir.removeRecursively(); // Clear old run data
|
||||
libDir.mkdir(libPath);
|
||||
_library = std::make_shared<Materials::MaterialLibrary>(QStringLiteral("Testing"),
|
||||
_library = std::make_shared<Materials::MaterialLibraryLocal>(QStringLiteral("Testing"),
|
||||
libPath,
|
||||
QStringLiteral(":/icons/preferences-general.svg"),
|
||||
false);
|
||||
_modelManager = new Materials::ModelManager();
|
||||
_materialManager = new Materials::MaterialManager();
|
||||
_modelManager = &(Materials::ModelManager::getManager());
|
||||
_materialManager = &(Materials::MaterialManager::getManager());
|
||||
|
||||
_testMaterialUUID = QStringLiteral("c6c64159-19c1-40b5-859c-10561f20f979");
|
||||
}
|
||||
@@ -70,7 +70,7 @@ protected:
|
||||
// void TearDown() override {}
|
||||
Materials::ModelManager* _modelManager;
|
||||
Materials::MaterialManager* _materialManager;
|
||||
std::shared_ptr<Materials::MaterialLibrary> _library;
|
||||
std::shared_ptr<Materials::MaterialLibraryLocal> _library;
|
||||
QString _testMaterialUUID;
|
||||
};
|
||||
|
||||
@@ -187,17 +187,17 @@ TEST_F(TestMaterialCards, TestColumns)
|
||||
EXPECT_TRUE(testMaterial->hasPhysicalProperty(QStringLiteral("TestArray2D")));
|
||||
auto array2d = testMaterial->getPhysicalProperty(QStringLiteral("TestArray2D"))->getMaterialValue();
|
||||
EXPECT_TRUE(array2d);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material2DArray &>(*array2d).columns(), 2);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array2D &>(*array2d).columns(), 2);
|
||||
|
||||
EXPECT_TRUE(testMaterial->hasPhysicalProperty(QStringLiteral("TestArray2D3Column")));
|
||||
auto array2d3Column = testMaterial->getPhysicalProperty(QStringLiteral("TestArray2D3Column"))->getMaterialValue();
|
||||
EXPECT_TRUE(array2d3Column);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material2DArray &>(*array2d3Column).columns(), 3);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array2D &>(*array2d3Column).columns(), 3);
|
||||
|
||||
EXPECT_TRUE(testMaterial->hasPhysicalProperty(QStringLiteral("TestArray3D")));
|
||||
auto array3d = testMaterial->getPhysicalProperty(QStringLiteral("TestArray3D"))->getMaterialValue();
|
||||
EXPECT_TRUE(array3d);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material3DArray &>(*array3d).columns(), 2);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array3D &>(*array3d).columns(), 2);
|
||||
}
|
||||
|
||||
// clang-format on
|
||||
|
||||
@@ -52,8 +52,8 @@ protected:
|
||||
}
|
||||
|
||||
void SetUp() override {
|
||||
_modelManager = new Materials::ModelManager();
|
||||
_materialManager = new Materials::MaterialManager();
|
||||
_modelManager = &(Materials::ModelManager::getManager());
|
||||
_materialManager = &(Materials::MaterialManager::getManager());
|
||||
|
||||
// Use our test files as a custom directory
|
||||
ParameterGrp::handle hGrp =
|
||||
@@ -74,7 +74,7 @@ protected:
|
||||
|
||||
_materialManager->refresh();
|
||||
|
||||
_library = _materialManager->getLibrary(QLatin1String("Custom"));
|
||||
_library = _materialManager->getLibrary(QStringLiteral("Custom"));
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
@@ -153,7 +153,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
ASSERT_EQ(tree->size(), 5);
|
||||
|
||||
// Create a basic rendering filter
|
||||
filter->setName(QLatin1String("Basic Appearance"));
|
||||
filter->setName(QStringLiteral("Basic Appearance"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Rendering_Basic);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
@@ -166,7 +166,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
|
||||
// Create an advanced rendering filter
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Advanced Appearance"));
|
||||
filter->setName(QStringLiteral("Advanced Appearance"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Rendering_Advanced);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
@@ -179,7 +179,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
|
||||
// Create a Density filter
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Density"));
|
||||
filter->setName(QStringLiteral("Density"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Mechanical_Density);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
@@ -192,7 +192,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
|
||||
// Create a Hardness filter
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Hardness"));
|
||||
filter->setName(QStringLiteral("Hardness"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Mechanical_Hardness);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
@@ -205,7 +205,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
|
||||
// Create a Density and Basic Rendering filter
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Density and Basic Rendering"));
|
||||
filter->setName(QStringLiteral("Density and Basic Rendering"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Rendering_Basic);
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Mechanical_Density);
|
||||
options.setIncludeLegacy(false);
|
||||
@@ -219,7 +219,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
|
||||
// Create a Linear Elastic filter
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Linear Elastic"));
|
||||
filter->setName(QStringLiteral("Linear Elastic"));
|
||||
filter->addRequiredComplete(Materials::ModelUUIDs::ModelUUID_Mechanical_LinearElastic);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
@@ -231,7 +231,7 @@ TEST_F(TestMaterialFilter, TestFilters)
|
||||
ASSERT_EQ(tree->size(), 0);
|
||||
|
||||
filter->clear();
|
||||
filter->setName(QLatin1String("Linear Elastic"));
|
||||
filter->setName(QStringLiteral("Linear Elastic"));
|
||||
filter->addRequired(Materials::ModelUUIDs::ModelUUID_Mechanical_LinearElastic);
|
||||
options.setIncludeLegacy(false);
|
||||
|
||||
|
||||
@@ -130,9 +130,9 @@ TEST_F(TestMaterialProperties, TestEmpty)
|
||||
|
||||
TEST_F(TestMaterialProperties, TestSingle)
|
||||
{
|
||||
Materials::MaterialProperty prop(modelProp1, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty prop(modelProp1, QStringLiteral("sampleUUID"));
|
||||
EXPECT_EQ(prop.getType(), Materials::MaterialValue::Quantity);
|
||||
EXPECT_EQ(prop.getModelUUID(), QLatin1String("sampleUUID"));
|
||||
EXPECT_EQ(prop.getModelUUID(), QStringLiteral("sampleUUID"));
|
||||
EXPECT_TRUE(prop.isNull());
|
||||
auto variant = prop.getValue();
|
||||
EXPECT_TRUE(variant.canConvert<Base::Quantity>());
|
||||
@@ -146,9 +146,9 @@ TEST_F(TestMaterialProperties, TestSingle)
|
||||
void check2DArray(Materials::MaterialProperty& prop)
|
||||
{
|
||||
EXPECT_EQ(prop.getType(), Materials::MaterialValue::Array2D);
|
||||
EXPECT_EQ(prop.getModelUUID(), QLatin1String("sampleUUID"));
|
||||
EXPECT_EQ(prop.getModelUUID(), QStringLiteral("sampleUUID"));
|
||||
EXPECT_TRUE(prop.isNull());
|
||||
auto array = std::static_pointer_cast<Materials::Material2DArray>(prop.getMaterialValue());
|
||||
auto array = std::static_pointer_cast<Materials::Array2D>(prop.getMaterialValue());
|
||||
EXPECT_EQ(array->rows(), 0);
|
||||
auto variant = prop.getValue(); // Throw an error?
|
||||
EXPECT_FALSE(variant.canConvert<QString>());
|
||||
@@ -162,20 +162,20 @@ void check2DArray(Materials::MaterialProperty& prop)
|
||||
|
||||
TEST_F(TestMaterialProperties, Test2DArray)
|
||||
{
|
||||
Materials::MaterialProperty prop(modelProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty prop(modelProp, QStringLiteral("sampleUUID"));
|
||||
check2DArray(prop);
|
||||
}
|
||||
|
||||
TEST_F(TestMaterialProperties, Test2DArrayCopy)
|
||||
{
|
||||
Materials::MaterialProperty propBase(modelProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty propBase(modelProp, QStringLiteral("sampleUUID"));
|
||||
Materials::MaterialProperty prop(propBase);
|
||||
check2DArray(prop);
|
||||
}
|
||||
|
||||
TEST_F(TestMaterialProperties, Test2DArrayAssignment)
|
||||
{
|
||||
Materials::MaterialProperty propBase(modelProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty propBase(modelProp, QStringLiteral("sampleUUID"));
|
||||
Materials::MaterialProperty prop;
|
||||
|
||||
prop = propBase;
|
||||
@@ -185,9 +185,9 @@ TEST_F(TestMaterialProperties, Test2DArrayAssignment)
|
||||
void check3DArray(Materials::MaterialProperty& prop)
|
||||
{
|
||||
EXPECT_EQ(prop.getType(), Materials::MaterialValue::Array3D);
|
||||
EXPECT_EQ(prop.getModelUUID(), QLatin1String("sampleUUID"));
|
||||
EXPECT_EQ(prop.getModelUUID(), QStringLiteral("sampleUUID"));
|
||||
EXPECT_TRUE(prop.isNull());
|
||||
auto array = std::static_pointer_cast<Materials::Material3DArray>(prop.getMaterialValue());
|
||||
auto array = std::static_pointer_cast<Materials::Array3D>(prop.getMaterialValue());
|
||||
EXPECT_EQ(array->depth(), 0);
|
||||
auto variant = prop.getValue(); // Throw an error?
|
||||
EXPECT_FALSE(variant.canConvert<QString>());
|
||||
@@ -201,20 +201,20 @@ void check3DArray(Materials::MaterialProperty& prop)
|
||||
|
||||
TEST_F(TestMaterialProperties, Test3DArray)
|
||||
{
|
||||
Materials::MaterialProperty prop(model3DProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty prop(model3DProp, QStringLiteral("sampleUUID"));
|
||||
check3DArray(prop);
|
||||
}
|
||||
|
||||
TEST_F(TestMaterialProperties, Test3DArrayCopy)
|
||||
{
|
||||
Materials::MaterialProperty propBase(model3DProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty propBase(model3DProp, QStringLiteral("sampleUUID"));
|
||||
Materials::MaterialProperty prop(propBase);
|
||||
check3DArray(prop);
|
||||
}
|
||||
|
||||
TEST_F(TestMaterialProperties, Test3DArrayAssignment)
|
||||
{
|
||||
Materials::MaterialProperty propBase(model3DProp, QLatin1String("sampleUUID"));
|
||||
Materials::MaterialProperty propBase(model3DProp, QStringLiteral("sampleUUID"));
|
||||
Materials::MaterialProperty prop;
|
||||
|
||||
prop = propBase;
|
||||
|
||||
@@ -172,7 +172,7 @@ TEST_F(TestMaterialValue, TestArray2DType)
|
||||
{
|
||||
EXPECT_THROW(auto mat1 = Materials::MaterialValue(Materials::MaterialValue::Array2D), Materials::InvalidMaterialType);
|
||||
|
||||
auto mat2 = Materials::Material2DArray();
|
||||
auto mat2 = Materials::Array2D();
|
||||
EXPECT_EQ(mat2.getType(), Materials::MaterialValue::Array2D);
|
||||
EXPECT_TRUE(mat2.isNull());
|
||||
EXPECT_EQ(mat2.rows(), 0);
|
||||
@@ -182,7 +182,7 @@ TEST_F(TestMaterialValue, TestArray3DType)
|
||||
{
|
||||
EXPECT_THROW(auto mat1 = Materials::MaterialValue(Materials::MaterialValue::Array3D), Materials::InvalidMaterialType);
|
||||
|
||||
auto mat2 = Materials::Material3DArray();
|
||||
auto mat2 = Materials::Array3D();
|
||||
mat2.setColumns(2);
|
||||
EXPECT_EQ(mat2.getType(), Materials::MaterialValue::Array3D);
|
||||
EXPECT_TRUE(mat2.isNull());
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
#include <QString>
|
||||
|
||||
#include <App/Application.h>
|
||||
#include <Base/Quantity.h>
|
||||
#include <Base/Interpreter.h>
|
||||
#include <Base/Quantity.h>
|
||||
#include <Gui/MetaTypes.h>
|
||||
#include <src/App/InitApplication.h>
|
||||
|
||||
@@ -58,8 +58,8 @@ class TestMaterial : public ::testing::Test {
|
||||
|
||||
void SetUp() override {
|
||||
Base::Interpreter().runString("import Part");
|
||||
_modelManager = new Materials::ModelManager();
|
||||
_materialManager = new Materials::MaterialManager();
|
||||
_modelManager = &(Materials::ModelManager::getManager());
|
||||
_materialManager = &(Materials::MaterialManager::getManager());
|
||||
}
|
||||
|
||||
// void TearDown() override {}
|
||||
@@ -72,11 +72,11 @@ TEST_F(TestMaterial, TestInstallation)
|
||||
ASSERT_NE(_modelManager, nullptr);
|
||||
|
||||
// We should have loaded at least the system library
|
||||
auto libraries = _materialManager->getMaterialLibraries();
|
||||
auto libraries = _materialManager->getLibraries();
|
||||
ASSERT_GT(libraries->size(), 0);
|
||||
|
||||
// We should have at least one material
|
||||
auto materials = _materialManager->getMaterials();
|
||||
auto materials = _materialManager->getLocalMaterials();
|
||||
ASSERT_GT(materials->size(), 0);
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ TEST_F(TestMaterial, TestMaterialsWithModel)
|
||||
|
||||
// All LinearElastic models should be in IsotropicLinearElastic since it is inherited
|
||||
EXPECT_LE(materialsLinearElastic->size(), materials->size());
|
||||
for (auto itp : *materialsLinearElastic) {
|
||||
for (auto &itp : *materialsLinearElastic) {
|
||||
auto mat = itp.first;
|
||||
EXPECT_NO_THROW(materials->at(mat));
|
||||
}
|
||||
@@ -365,17 +365,17 @@ TEST_F(TestMaterial, TestColumns)
|
||||
EXPECT_TRUE(testMaterial.hasPhysicalProperty(QStringLiteral("TestArray2D")));
|
||||
auto array2d = testMaterial.getPhysicalProperty(QStringLiteral("TestArray2D"))->getMaterialValue();
|
||||
EXPECT_TRUE(array2d);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material2DArray &>(*array2d).columns(), 2);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array2D &>(*array2d).columns(), 2);
|
||||
|
||||
EXPECT_TRUE(testMaterial.hasPhysicalProperty(QStringLiteral("TestArray2D3Column")));
|
||||
auto array2d3Column = testMaterial.getPhysicalProperty(QStringLiteral("TestArray2D3Column"))->getMaterialValue();
|
||||
EXPECT_TRUE(array2d3Column);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material2DArray &>(*array2d3Column).columns(), 3);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array2D &>(*array2d3Column).columns(), 3);
|
||||
|
||||
EXPECT_TRUE(testMaterial.hasPhysicalProperty(QStringLiteral("TestArray3D")));
|
||||
auto array3d = testMaterial.getPhysicalProperty(QStringLiteral("TestArray3D"))->getMaterialValue();
|
||||
EXPECT_TRUE(array3d);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Material3DArray &>(*array3d).columns(), 2);
|
||||
EXPECT_EQ(dynamic_cast<Materials::Array3D &>(*array3d).columns(), 2);
|
||||
}
|
||||
|
||||
// clang-format on
|
||||
|
||||
@@ -46,7 +46,7 @@ class TestModel : public ::testing::Test {
|
||||
}
|
||||
|
||||
void SetUp() override {
|
||||
_modelManager = new Materials::ModelManager();
|
||||
_modelManager = &(Materials::ModelManager::getManager());
|
||||
}
|
||||
|
||||
// void TearDown() override {}
|
||||
@@ -76,7 +76,7 @@ TEST_F(TestModel, TestInstallation)
|
||||
ASSERT_NE(_modelManager, nullptr);
|
||||
|
||||
// We should have loaded at least the system library
|
||||
auto libraries = _modelManager->getModelLibraries();
|
||||
auto libraries = _modelManager->getLibraries();
|
||||
ASSERT_GT(libraries->size(), 0);
|
||||
|
||||
// We should have at least one model
|
||||
|
||||
Reference in New Issue
Block a user