FBX -> Scene, part 2. Code changes, file renames (#1704)
* First pass FBX -> Scene File conversion. This is the simple pass, minimizing code changes and focused on comments. Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Step 1 of part 2 of the FBX -> Scene rename Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Renaming FbxSceneBuilder folder to SceneBuilder Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * Renamed files Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com> * More FBX -> Scene Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/ImporterUtilities.h>
|
||||
#include <SceneAPI/SceneCore/Containers/Scene.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/IGraphObject.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
#include <SceneAPI/SceneData/GraphData/BoneData.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace SceneBuilder
|
||||
{
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_EmptySceneGraphs_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
Containers::SceneGraph rhsGraph;
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeBothNull_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
Containers::SceneGraph rhsGraph;
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "testChild");
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeSameType_ReturnsTrue)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild", AZStd::move(lhsData));
|
||||
Containers::SceneGraph rhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> rhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "testChild", AZStd::move(rhsData));
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_TRUE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeOneNull_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild", AZStd::move(lhsData));
|
||||
Containers::SceneGraph rhsGraph;
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "testChild");
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameSingleNodeDifferentTypes_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild", AZStd::move(lhsData));
|
||||
Containers::SceneGraph rhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> rhsData = AZStd::make_shared<SceneData::GraphData::BoneData>();
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "testChild", AZStd::move(rhsData));
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SameNameOneEmptyOneSingleNode_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
AZStd::shared_ptr<DataTypes::IGraphObject> lhsData = AZStd::make_shared<SceneData::GraphData::MeshData>();
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild", AZStd::move(lhsData));
|
||||
Containers::SceneGraph rhsGraph;
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImpoterUtilityTests, AreSceneGraphsEqual_DifferentNamesSingleNodeBothNull_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
Containers::SceneGraph rhsGraph;
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "differentName");
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
|
||||
TEST(SceneImporterUtilityTests, AreSceneGraphsEqual_SecondGraphExtraChild_ReturnsFalse)
|
||||
{
|
||||
Containers::SceneGraph lhsGraph;
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "testChild");
|
||||
lhsGraph.AddChild(lhsGraph.GetRoot(), "extraTestChild");
|
||||
Containers::SceneGraph rhsGraph;
|
||||
rhsGraph.AddChild(rhsGraph.GetRoot(), "testChild");
|
||||
|
||||
bool sceneGraphsEqual =
|
||||
(AreSceneGraphsEqual(lhsGraph, rhsGraph) && AreSceneGraphsEqual(rhsGraph, lhsGraph));
|
||||
|
||||
EXPECT_FALSE(sceneGraphsEqual);
|
||||
}
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <SceneAPI/SceneBuilder/Importers/Utilities/RenamedNodesMap.h>
|
||||
#include <SceneAPI/SceneCore/Containers/SceneGraph.h>
|
||||
#include <SceneAPI/SceneCore/DataTypes/IGraphObject.h>
|
||||
#include <SceneAPI/SceneData/GraphData/MeshData.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace SceneAPI
|
||||
{
|
||||
namespace SceneBuilder
|
||||
{
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_ValidNameProvided_ReturnsFalseAndNameUnchanged)
|
||||
{
|
||||
Containers::SceneGraph graph;
|
||||
AZStd::string name = "ValidName";
|
||||
|
||||
bool result = RenamedNodesMap::SanitizeNodeName(name, graph, graph.GetRoot());
|
||||
|
||||
EXPECT_FALSE(result);
|
||||
EXPECT_STREQ("ValidName", name.c_str());
|
||||
}
|
||||
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_NameWithInvalidCharacter_ReturnsTrueAndNameChanged)
|
||||
{
|
||||
Containers::SceneGraph graph;
|
||||
AZStd::string check = "Valid";
|
||||
check += Containers::SceneGraph::GetNodeSeperationCharacter();
|
||||
check += "Name";
|
||||
AZStd::string name = check;
|
||||
|
||||
bool result = RenamedNodesMap::SanitizeNodeName(name, graph, graph.GetRoot());
|
||||
|
||||
EXPECT_TRUE(result);
|
||||
EXPECT_STRNE(check.c_str(), name.c_str());
|
||||
}
|
||||
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_BlankName_ReturnsTrueAndNameSetToDefault)
|
||||
{
|
||||
Containers::SceneGraph graph;
|
||||
AZStd::string name;
|
||||
|
||||
bool result = RenamedNodesMap::SanitizeNodeName(name, graph, graph.GetRoot(), "Default");
|
||||
|
||||
EXPECT_TRUE(result);
|
||||
EXPECT_STREQ("Default", name.c_str());
|
||||
}
|
||||
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_SingleCollision_ReturnsTrueAndNameHasAppendixOf1)
|
||||
{
|
||||
Containers::SceneGraph graph;
|
||||
graph.AddChild(graph.GetRoot(), "Child");
|
||||
AZStd::string name = "Child";
|
||||
|
||||
bool result = RenamedNodesMap::SanitizeNodeName(name, graph, graph.GetRoot());
|
||||
|
||||
EXPECT_TRUE(result);
|
||||
EXPECT_STREQ("Child_1", name.c_str());
|
||||
}
|
||||
|
||||
TEST(RenamedNodesMapTests, SanitizeNodeName_MultipleCollisions_ReturnsTrueAndNameHasAppendixOf2)
|
||||
{
|
||||
Containers::SceneGraph graph;
|
||||
auto child = graph.AddChild(graph.GetRoot(), "Child");
|
||||
graph.AddSibling(child, "Child_1");
|
||||
AZStd::string name = "Child";
|
||||
|
||||
bool result = RenamedNodesMap::SanitizeNodeName(name, graph, graph.GetRoot());
|
||||
|
||||
EXPECT_TRUE(result);
|
||||
EXPECT_STREQ("Child_2", name.c_str());
|
||||
}
|
||||
} // namespace SceneBuilder
|
||||
} // namespace SceneAPI
|
||||
} // namespace AZ
|
||||
Reference in New Issue
Block a user