Open 3D Engine Prefab Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::SceneAPI::DefaultProceduralPrefabGroup Class Reference

Handler for the Prefab Group event logic. More...

#include <DefaultProceduralPrefab.h>

Inherits PrefabGroupEventBus::Handler.

Classes

struct  NodeDataForEntity
 

Public Member Functions

 AZ_RTTI (DefaultProceduralPrefabGroup, "{6BAAB306-01EE-42E8-AAFE-C9EE0BF4CFDF}")
 
AZStd::optional< ManifestUpdates > GeneratePrefabGroupManifestUpdates (const Scene &scene) const override
 
AZStd::vector< AZStd::shared_ptr< DataTypes::IManifestObject > > GenerateDefaultPrefabMeshGroups (const Scene &scene) const override
 

Static Public Member Functions

static void Reflect (ReflectContext *context)
 

Protected Types

using NodeDataMapEntry = AZStd::pair< Containers::SceneGraph::NodeIndex, NodeDataForEntity >
 
using NodeDataMap = AZStd::unordered_map< Containers::SceneGraph::NodeIndex, NodeDataForEntity >
 
using ManifestUpdates = AZStd::vector< AZStd::shared_ptr< DataTypes::IManifestObject > >
 
using NodeEntityMap = AZStd::unordered_map< Containers::SceneGraph::NodeIndex, AZStd::pair< AZ::EntityId, AzToolsFramework::Prefab::EntityAlias > >
 
using EntityIdMap = AZStd::unordered_map< AZ::EntityId, AzToolsFramework::Prefab::EntityAlias >
 

Protected Member Functions

AZStd::shared_ptr< SceneData::MeshGroup > BuildMeshGroupForNode (const Scene &scene, const NodeDataForEntity &nodeData, const NodeDataMap &nodeDataMap) const
 
NodeDataMap CalculateNodeDataMap (const Containers::Scene &scene) const
 
bool AddEditorMaterialComponent (const AZ::EntityId &entityId, const DataTypes::ICustomPropertyData &propertyData) const
 
bool AddEditorMeshComponent (const AZ::EntityId &entityId, const AZStd::string &relativeSourcePath, const AZStd::string &meshGroupName, const AZStd::string &sourceFileExtension) const
 
bool CreateMeshGroupAndComponents (ManifestUpdates &manifestUpdates, AZ::EntityId entityId, const NodeDataForEntity &nodeData, const NodeDataMap &nodeDataMap, const Containers::Scene &scene, const AZStd::string &relativeSourcePath) const
 
NodeEntityMap CreateNodeEntityMap (ManifestUpdates &manifestUpdates, const NodeDataMap &nodeDataMap, const Containers::Scene &scene, const AZStd::string &relativeSourcePath) const
 
EntityIdMap FixUpEntityParenting (const NodeEntityMap &nodeEntityMap, const Containers::SceneGraph &graph, const NodeDataMap &nodeDataMap) const
 
bool CreatePrefabGroupManifestUpdates (ManifestUpdates &manifestUpdates, const Containers::Scene &scene, const EntityIdMap &entities, const AZStd::string &filenameOnly, const AZStd::string &relativeSourcePath) const
 

Detailed Description

Handler for the Prefab Group event logic.


The documentation for this class was generated from the following file: