!! 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 |
!! 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.
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
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