Castor3D 0.16.0
Multiplatform 3D engine
Protected Attributes | List of all members
castor3d::PassComponent Struct Referenceabstract

#include <PassComponent.hpp>

Inheritance diagram for castor3d::PassComponent:
Inheritance graph
[legend]
Collaboration diagram for castor3d::PassComponent:
Collaboration graph
[legend]

Public Member Functions

Construction / Destruction.

C3D_API PassComponent (Pass &pass, castor::String type, castor::StringArray deps={})
 Constructor.
 
virtual C3D_API ~PassComponent () noexcept=default
 
C3D_API PassComponentUPtr clone (Pass &pass) const
 
virtual C3D_API void onAddToPass () const
 Called when the component is added to the pass.
 

Common virtual functions.

C3D_API bool writeText (castor::String const &tabs, castor::Path const &folder, castor::String const &subfolder, castor::StringStream &file) const
 Writes the component content to text.
 
C3D_API void fillBuffer (PassBuffer &buffer) const
 Fills the pass buffer with this pass data.
 
virtual C3D_API void accept (ConfigurationVisitorBase &vis)
 ConfigurationVisitorBase acceptance function.
 
virtual C3D_API void update ()
 

Images.

C3D_API void fillChannel (TextureConfiguration &configuration, uint32_t mask) const
 Fills the texture configuration for use with this component.
 
virtual C3D_API void fillConfig (TextureConfiguration &config, ConfigurationVisitorBase &vis) const
 ConfigurationVisitorBase acceptance function, for a specific texture configuration.
 

Getters.

virtual C3D_API bool hasColour () const
 
virtual C3D_API castor::HdrRgbColour const & getColour () const
 
virtual C3D_API void setColour (castor::HdrRgbColour v)
 
virtual C3D_API PassComponentFlag getPassFlags () const
 
castor::String const & getType () const
 
castor::StringArray const & getDependencies () const
 
PassComponentPlugin const & getPlugin () const
 
PassComponentID getId () const
 
void setColour (castor::RgbColour const &v, float gamma=2.2f)
 
void setColour (castor::Coords3f const &v)
 
void setColour (castor::Point3f const &v)
 
- Public Member Functions inherited from castor::OwnedBy< Pass >
Pass * getOwner () const
 

Protected Attributes

castor::String m_type
 
castor::StringArray m_dependencies
 
PassComponentID m_id
 
PassComponentPlugin const & m_plugin
 
std::atomic_bool & m_dirty
 
shader::PassMaterialShaderm_materialShader {}
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< Pass >
 OwnedBy (Pass &owner)
 Constructor.
 

Constructor & Destructor Documentation

◆ PassComponent()

C3D_API castor3d::PassComponent::PassComponent ( Pass & pass,
castor::String type,
castor::StringArray deps = {} )

Constructor.

Parameters
[in]passThe parent pass.
[in]typeThe component type.
[in]depsThe components this one depends on.

◆ ~PassComponent()

virtual C3D_API castor3d::PassComponent::~PassComponent ( )
virtualdefaultnoexcept

Member Function Documentation

◆ accept()

virtual C3D_API void castor3d::PassComponent::accept ( ConfigurationVisitorBase & vis)
inlinevirtual

◆ clone()

C3D_API PassComponentUPtr castor3d::PassComponent::clone ( Pass & pass) const
Returns
Clones this component into given pass.
Parameters
[in,out]passReceives the cloned component.

◆ fillBuffer()

C3D_API void castor3d::PassComponent::fillBuffer ( PassBuffer & buffer) const

Fills the pass buffer with this pass data.

Parameters
[in,out]bufferThe pass buffer.

◆ fillChannel()

C3D_API void castor3d::PassComponent::fillChannel ( TextureConfiguration & configuration,
uint32_t mask ) const

Fills the texture configuration for use with this component.

Parameters
configurationThe texture configuration.
maskThe mask value.

◆ fillConfig()

virtual C3D_API void castor3d::PassComponent::fillConfig ( TextureConfiguration & config,
ConfigurationVisitorBase & vis ) const
inlinevirtual

ConfigurationVisitorBase acceptance function, for a specific texture configuration.

Parameters
configThe texture configuration.
visThe ... visitor.

Reimplemented in castor3d::PassMapComponent.

◆ getColour()

virtual C3D_API castor::HdrRgbColour const & castor3d::PassComponent::getColour ( ) const
inlinevirtual

Reimplemented in castor3d::ColourComponent.

References CU_Require, and hasColour().

Here is the call graph for this function:

◆ getDependencies()

castor::StringArray const & castor3d::PassComponent::getDependencies ( ) const
inline

References m_dependencies.

◆ getId()

PassComponentID castor3d::PassComponent::getId ( ) const
inline

◆ getPassFlags()

virtual C3D_API PassComponentFlag castor3d::PassComponent::getPassFlags ( ) const
inlinevirtual

◆ getPlugin()

PassComponentPlugin const & castor3d::PassComponent::getPlugin ( ) const
inline

References m_plugin.

◆ getType()

castor::String const & castor3d::PassComponent::getType ( ) const
inline

References m_type.

◆ hasColour()

virtual C3D_API bool castor3d::PassComponent::hasColour ( ) const
inlinevirtual

Reimplemented in castor3d::ColourComponent.

Referenced by getColour(), and setColour().

Here is the caller graph for this function:

◆ onAddToPass()

virtual C3D_API void castor3d::PassComponent::onAddToPass ( ) const
inlinevirtual

Called when the component is added to the pass.

◆ setColour() [1/4]

void castor3d::PassComponent::setColour ( castor::Coords3f const & v)
inline

References setColour().

Here is the call graph for this function:

◆ setColour() [2/4]

virtual C3D_API void castor3d::PassComponent::setColour ( castor::HdrRgbColour v)
inlinevirtual

Reimplemented in castor3d::ColourComponent, and castor3d::ColourComponent.

References CU_Require, and hasColour().

Referenced by setColour(), setColour(), and setColour().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setColour() [3/4]

void castor3d::PassComponent::setColour ( castor::Point3f const & v)
inline

References setColour().

Here is the call graph for this function:

◆ setColour() [4/4]

void castor3d::PassComponent::setColour ( castor::RgbColour const & v,
float gamma = 2.2f )
inline

References setColour().

Here is the call graph for this function:

◆ update()

virtual C3D_API void castor3d::PassComponent::update ( )
inlinevirtual

◆ writeText()

C3D_API bool castor3d::PassComponent::writeText ( castor::String const & tabs,
castor::Path const & folder,
castor::String const & subfolder,
castor::StringStream & file ) const

Writes the component content to text.

Parameters
[in]tabsThe current tabulation level.
[in]folderThe resources folder.
[in]subfolderThe resources subfolder.
[in,out]fileThe output file.

Member Data Documentation

◆ m_dependencies

castor::StringArray castor3d::PassComponent::m_dependencies
protected

Referenced by getDependencies().

◆ m_dirty

std::atomic_bool& castor3d::PassComponent::m_dirty
protected

◆ m_id

PassComponentID castor3d::PassComponent::m_id
protected

Referenced by getId().

◆ m_materialShader

shader::PassMaterialShader* castor3d::PassComponent::m_materialShader {}
protected

◆ m_plugin

PassComponentPlugin const& castor3d::PassComponent::m_plugin
protected

Referenced by getPlugin().

◆ m_type

castor::String castor3d::PassComponent::m_type
protected

Referenced by getType().


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