Open 3D Engine GraphModel 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.
GraphModel::GraphContext Class Reference

!! Start in Graph.h for high level GraphModel documentation !!! More...

#include <GraphContext.h>

Inherits AZStd::enable_shared_from_this< GraphContext >.

Public Member Functions

 AZ_CLASS_ALLOCATOR (GraphContext, AZ::SystemAllocator)
 
 AZ_RTTI (GraphContext, "{4CD3C171-A7AA-4B62-96BB-F09F398A73E7}")
 
 GraphContext (const AZStd::string &systemName, const AZStd::string &moduleExtension, const DataTypeList &dataTypes)
 
const char * GetSystemName () const
 Returns the name of the system that is using the GraphModel framework, mostly for debug messages.
 
const char * GetModuleFileExtension () const
 Returns the file extension used for module files.
 
void CreateModuleGraphManager ()
 
ModuleGraphManagerPtr GetModuleGraphManager () const
 Returns a ModuleGraphManager to support creating ModuleNodes. Subclasses can just return nullptr if this isn't needed.
 
const DataTypeList & GetAllDataTypes () const
 Returns all available data types.
 
DataTypePtr GetDataType (DataType::Enum typeEnum) const
 Returns a DataType object representing the given TypeId, or Invalid if it doesn't exist.
 
DataTypePtr GetDataType (const AZStd::string &name) const
 Returns a DataType object representing the given cpp or display name, or Invalid if it doesn't exist.
 
DataTypePtr GetDataType (const AZ::Uuid &typeId) const
 Returns a DataType object representing the given TypeId, or Invalid if it doesn't exist.
 
template<typename T >
DataTypePtr GetDataType () const
 Utility function to returns a DataType object representing the given template type T, or Invalid if it doesn't exist.
 
DataTypePtr GetDataTypeForValue (const AZStd::any &value) const
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Protected Attributes

AZStd::string m_systemName
 
AZStd::string m_moduleExtension
 
DataTypeList m_dataTypes
 
ModuleGraphManagerPtr m_moduleGraphManager
 

Detailed Description

!! Start in Graph.h for high level GraphModel documentation !!!

GraphContext provides access to client specific information and systems required by the graphmodel framework. All supported data types used by graphs in the client system must be registered with the GraphContext. All systems that use GraphModel must provide an instance of this, or a derived, class, passed to the main Graph object.

Member Function Documentation

◆ CreateModuleGraphManager()

void GraphModel::GraphContext::CreateModuleGraphManager ( )

Creates the module graph manager used by all module nodes in this context. This is done after construction because it is optional and the module graph manager needs a reference to the graph context

◆ GetDataTypeForValue()

DataTypePtr GraphModel::GraphContext::GetDataTypeForValue ( const AZStd::any &  value) const

Returns a DataType object representing the given AZStd::any value, or Invalid if it doesn't exist. This data type method has a different name because if the GraphContext implementation doesn't override this, there will be a compile error for a hidden function because of subclasses implementing the templated version below


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