Workspace 6.21.5
Public Member Functions | List of all members
TypedShaderImplementationFactory< T > Class Template Reference

#include <Rendering/SceneComponents/Shaders/typedshaderimplementationfactory.h>

Inheritance diagram for TypedShaderImplementationFactory< T >:
[legend]

Public Member Functions

 ~TypedShaderImplementationFactory () override=default
 
T * create (Shader &shader) const override
 
void destroy (ShaderImplementation *impl) const override
 
const Application::WorkspacePlugingetPlugin () const
 
const Application::WorkspacePlugingetPlugin () const override
 
const SceneRendererTypeIdgetSceneRendererTypeId () const
 
const SceneRendererTypeIdgetSceneRendererTypeId () const override
 
QString getType () const
 
QString getType () const override
 
- Public Member Functions inherited from ShaderImplementationFactory
virtual ~ShaderImplementationFactory ()=default
 
virtual ShaderImplementationcreate (Shader &shader) const =0
 
virtual void destroy (ShaderImplementation *impl) const =0
 
virtual const Application::WorkspacePlugingetPlugin () const =0
 
virtual const SceneRendererTypeIdgetSceneRendererTypeId () const =0
 
virtual QString getType () const =0
 

Detailed Description

template<typename T>
class CSIRO::Rendering::TypedShaderImplementationFactory< T >

Simple class for returning ShaderImplementation of a particular type. T must be a class that extends ShaderImplementation.

Constructor & Destructor Documentation

◆ ~TypedShaderImplementationFactory()

~TypedShaderImplementationFactory ( )
overridedefault

Member Function Documentation

◆ create()

T * create ( Shader shader) const
overridevirtual
Parameters
shaderThe shader that owns the implementation we are creating.
Returns
a newly created shader implementation, parented to the provided shader.

Implements ShaderImplementationFactory.

◆ destroy()

void destroy ( ShaderImplementation impl) const
overridevirtual

Destroy the shader implementation; releasing the memory it occupies.

Implements ShaderImplementationFactory.

◆ getPlugin() [1/2]

const Application::WorkspacePlugin & getPlugin ( ) const
virtual
Returns
The plugin associated with this implementation factory.

Implements ShaderImplementationFactory.

◆ getPlugin() [2/2]

const Application::WorkspacePlugin & getPlugin ( ) const
overridevirtual
Returns
The plugin associated with this implementation factory.

Implements ShaderImplementationFactory.

◆ getSceneRendererTypeId() [1/2]

const SceneRendererTypeId & getSceneRendererTypeId ( ) const
virtual
Returns
The SceneRenderer associated with this specific shader implementation type.

Implements ShaderImplementationFactory.

◆ getSceneRendererTypeId() [2/2]

const SceneRendererTypeId & getSceneRendererTypeId ( ) const
overridevirtual
Returns
The SceneRenderer associated with this specific shader implementation type.

Implements ShaderImplementationFactory.

◆ getType() [1/2]

QString getType ( ) const
virtual
Returns
The datatype returned by this shader implementation factory.

Implements ShaderImplementationFactory.

◆ getType() [2/2]

QString getType ( ) const
overridevirtual
Returns
The datatype returned by this shader implementation factory.

Implements ShaderImplementationFactory.