CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GraphSocket Class Reference

#include <CeresEngine/Graph/GraphSocket.hpp>

Inheritance diagram for CeresEngine::GraphSocket:
CeresEngine::RefCounted< GraphSocket > CeresEngine::MaterialGraphSocket

Public Member Functions

 GraphSocket (GraphNode &node, const GraphSocketDirection direction, const GraphValueType type)
 
GraphConnectiongetConnectionTo (GraphSocket &targetSocket) const
 
const Vector< GraphConnectionPtr > & getConnections () const noexcept
 
GraphConnectionconnectWith (GraphSocket &targetSocket)
 
void disconnectWith (GraphSocket &targetSocket)
 
GraphConnectionconnectWith (GraphNode &targetNode, StringView targetSocketName)
 
GraphConnectiondisconnectWith (GraphNode &targetNode, StringView targetSocketName)
 
GraphNodegetNode () const noexcept
 A reference to the node that owns this socket.
 
GraphSocketDirection getDirection () const noexcept
 Determines the connection direction of the socket.
 
const GraphSocketFlagsgetFlags () const noexcept
 A set of user-defined flags that customize behavior of the socket.
 
void setFlags (const GraphSocketFlags &flags)
 A set of user-defined flags that customize behavior of the socket.
 
GraphValueType getType () const noexcept
 Determines the type of this socket.
 
- Public Member Functions inherited from CeresEngine::RefCounted< GraphSocket >
 RefCounted (Args &&... args)
 Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it.
 
void retain () noexcept
 Retains the object by increment it's reference count by one.
 
bool release () noexcept
 Relases the object by decrementing it's reference count by one.
 

Public Attributes

Event< void()> onChange
 
Event< void(GraphConnection &)> onConnect
 
Event< void(GraphConnection &)> onDisconnect
 

Private Attributes

GraphNodemNode
 A reference to the node that owns this socket.
 
GraphSocketDirection mDirection
 Determines the connection direction of the socket.
 
GraphValueType mType
 Determines the type of this socket.
 
GraphSocketFlags mFlags
 A set of user-defined flags that customize behavior of the socket.
 
Vector< GraphConnectionPtrmConnections
 A vector of all connections on this socket.
 

Constructor & Destructor Documentation

◆ GraphSocket()

CeresEngine::GraphSocket::GraphSocket ( GraphNode node,
const GraphSocketDirection  direction,
const GraphValueType  type 
)
inlineexplicit

Member Function Documentation

◆ connectWith() [1/2]

GraphConnection * CeresEngine::GraphSocket::connectWith ( GraphNode targetNode,
StringView  targetSocketName 
)

◆ connectWith() [2/2]

GraphConnection * CeresEngine::GraphSocket::connectWith ( GraphSocket targetSocket)

◆ disconnectWith() [1/2]

GraphConnection * CeresEngine::GraphSocket::disconnectWith ( GraphNode targetNode,
StringView  targetSocketName 
)

◆ disconnectWith() [2/2]

void CeresEngine::GraphSocket::disconnectWith ( GraphSocket targetSocket)

◆ getConnections()

const Vector< GraphConnectionPtr > & CeresEngine::GraphSocket::getConnections ( ) const
inlinenoexcept

◆ getConnectionTo()

GraphConnection * CeresEngine::GraphSocket::getConnectionTo ( GraphSocket targetSocket) const

◆ getDirection()

GraphSocketDirection CeresEngine::GraphSocket::getDirection ( ) const
inlinenoexcept

Determines the connection direction of the socket.

◆ getFlags()

const GraphSocketFlags & CeresEngine::GraphSocket::getFlags ( ) const
inlinenoexcept

A set of user-defined flags that customize behavior of the socket.

◆ getNode()

GraphNode & CeresEngine::GraphSocket::getNode ( ) const
inlinenoexcept

A reference to the node that owns this socket.

◆ getType()

GraphValueType CeresEngine::GraphSocket::getType ( ) const
inlinenoexcept

Determines the type of this socket.

◆ setFlags()

void CeresEngine::GraphSocket::setFlags ( const GraphSocketFlags flags)

A set of user-defined flags that customize behavior of the socket.

Member Data Documentation

◆ mConnections

Vector<GraphConnectionPtr> CeresEngine::GraphSocket::mConnections
private

A vector of all connections on this socket.

◆ mDirection

GraphSocketDirection CeresEngine::GraphSocket::mDirection
private

Determines the connection direction of the socket.

◆ mFlags

GraphSocketFlags CeresEngine::GraphSocket::mFlags
private

A set of user-defined flags that customize behavior of the socket.

◆ mNode

GraphNode& CeresEngine::GraphSocket::mNode
private

A reference to the node that owns this socket.

◆ mType

GraphValueType CeresEngine::GraphSocket::mType
private

Determines the type of this socket.

◆ onChange

Event<void()> CeresEngine::GraphSocket::onChange

◆ onConnect

Event<void(GraphConnection&)> CeresEngine::GraphSocket::onConnect

◆ onDisconnect

Event<void(GraphConnection&)> CeresEngine::GraphSocket::onDisconnect

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