CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::OutputSlot Class Referenceabstract

A slot that outputs a resource. Can be connected to multiple input slots. More...

#include <CeresEngine/Renderer/RenderGraph/RenderGraphSlot.hpp>

Inheritance diagram for CeresEngine::OutputSlot:
CeresEngine::Slot CeresEngine::BasicOutputSlot CeresEngine::TSlot< BasicOutputSlot, RT > CeresEngine::TOutput< RT >

Public Member Functions

 OutputSlot (RenderTask *task, const StringView name)
 
 OutputSlot (RenderTask &task, StringView name)
 
 ~OutputSlot ()
 
Type getType () const final
 
ConnectiongetConnection (Slot &slot) const override
 Finds a connection to the given slot.
 
ConnectionPtr connect (InputSlot &input)
 Connects the given input to this output slot.
 
bool supports (Slot &slot) const override
 Checks if this slot supports a connection to the given slot.
 
virtual const Vector< ConnectionPtr > & getConnections () const =0
 A list of all connections to this output slot.
 
- Public Member Functions inherited from CeresEngine::Slot
 Slot (RenderTask *task, const StringView name)
 
 Slot (RenderTask &task, StringView name)
 
 ~Slot ()
 
RenderTaskgetRenderTask () const
 The render task that owns this render graph slot.
 
StringView getName () const
 A human-readable name for the slot.
 
virtual RenderResourceType getResourceType () const =0
 The type of resource accepted by the slot.
 
bool isInput () const
 Returns true if the slot is an input slot, false otherwise.
 
InputSlotasInput ()
 
const InputSlotasInput () const
 
bool isOutput () const
 Returns true if the slot is an output slot, false otherwise.
 
OutputSlotasOutput ()
 
const OutputSlotasOutput () const
 
bool isConnected (Slot &slot) const
 Checks if there's an active connection to the given slot.
 
UInt32 disconnectAll ()
 

Protected Member Functions

bool shouldDisconnect (Connection &connection) const override
 An internal method called whenever a new disconnection is being made.
 
- Protected Member Functions inherited from CeresEngine::Slot
virtual bool shouldConnect (Slot &slot) const
 An internal method called whenever a new connection is being made.
 
virtual void willConnect (Slot &slot)
 An internal method called before the slot is connected.
 
virtual void didConnect (Connection &connection)
 An internal method called after the slot is connected.
 
virtual void willDisconnect (Connection &connection)
 An internal method called before the slot is disconnected.
 
virtual void didDisconnect (Connection &slot)
 An internal method called whenever the slot is disconnected.
 

Additional Inherited Members

- Public Types inherited from CeresEngine::Slot
enum class  Type { Input , Output }
 A enumeration of the types of slots. More...
 
- Static Public Member Functions inherited from CeresEngine::Slot
static ConnectionPtr connect (InputSlot &input, OutputSlot &output)
 Connects an output slot into an input slot.
 
static bool disconnect (InputSlot &input, OutputSlot &output)
 Disconnect the given slot from this slot.
 
- Public Attributes inherited from CeresEngine::Slot
Event< void(Connection &)> onConnect
 An event triggered whenever the slot is connected to another.
 
Event< void(Connection &)> onDisconnect
 An event triggered whenever the slot is disconnected from another.
 
- Protected Attributes inherited from CeresEngine::Slot
RenderTaskmTask
 The render task that owns this render graph slot.
 
const StringView mName
 A human-readable name for the slot.
 

Detailed Description

A slot that outputs a resource. Can be connected to multiple input slots.

Constructor & Destructor Documentation

◆ OutputSlot() [1/2]

CeresEngine::OutputSlot::OutputSlot ( RenderTask task,
const StringView  name 
)
inline

◆ OutputSlot() [2/2]

CeresEngine::OutputSlot::OutputSlot ( RenderTask task,
StringView  name 
)

◆ ~OutputSlot()

CeresEngine::OutputSlot::~OutputSlot ( )

Member Function Documentation

◆ connect()

ConnectionPtr CeresEngine::OutputSlot::connect ( InputSlot input)

Connects the given input to this output slot.

◆ getConnection()

Connection * CeresEngine::OutputSlot::getConnection ( Slot slot) const
overridevirtual

Finds a connection to the given slot.

If no such connections exists, returns nullptr.

Implements CeresEngine::Slot.

◆ getConnections()

virtual const Vector< ConnectionPtr > & CeresEngine::OutputSlot::getConnections ( ) const
pure virtual

A list of all connections to this output slot.

Implemented in CeresEngine::BasicOutputSlot.

◆ getType()

Type CeresEngine::OutputSlot::getType ( ) const
inlinefinalvirtual

Implements CeresEngine::Slot.

◆ shouldDisconnect()

bool CeresEngine::OutputSlot::shouldDisconnect ( Connection connection) const
overrideprotectedvirtual

An internal method called whenever a new disconnection is being made.

The slot implementation can use this method to refuse disconnections.

Reimplemented from CeresEngine::Slot.

◆ supports()

bool CeresEngine::OutputSlot::supports ( Slot slot) const
overridevirtual

Checks if this slot supports a connection to the given slot.

Reimplemented from CeresEngine::Slot.


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