Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin Class Reference

#include <BaseDataComponent.hpp>

Inheritance diagram for castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin:
Inheritance graph
[legend]
Collaboration diagram for castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin:
Collaboration graph
[legend]

Public Member Functions

SubmeshComponentUPtr createComponent (Submesh &submesh) const override
 Creates a component for given submesh.
 
SubmeshComponentFlag getPositionFlag () const noexcept override
 
SubmeshComponentFlag getNormalFlag () const noexcept override
 
SubmeshComponentFlag getTangentFlag () const noexcept override
 
SubmeshComponentFlag getBitangentFlag () const noexcept override
 
SubmeshComponentFlag getTexcoord0Flag () const noexcept override
 
SubmeshComponentFlag getTexcoord1Flag () const noexcept override
 
SubmeshComponentFlag getTexcoord2Flag () const noexcept override
 
SubmeshComponentFlag getTexcoord3Flag () const noexcept override
 
SubmeshComponentFlag getColourFlag () const noexcept override
 
SubmeshComponentFlag getVelocityFlag () const noexcept override
 
shader::SubmeshVertexSurfaceShaderPtr createVertexSurfaceShader () const override
 
 SubmeshComponentPlugin (SubmeshComponentPlugin const &)=delete
 
C3D_API SubmeshComponentPlugin (SubmeshComponentPlugin &&rhs) noexcept=default
 
C3D_API SubmeshComponentPlugin (SubmeshComponentRegister const &submeshComponents, castor::UserContextCreator const &pcreateParserContext={})
 
- Public Member Functions inherited from castor3d::SubmeshComponentPlugin
 SubmeshComponentPlugin (SubmeshComponentPlugin const &)=delete
 
SubmeshComponentPluginoperator= (SubmeshComponentPlugin const &)=delete
 
SubmeshComponentPluginoperator= (SubmeshComponentPlugin &&rhs) noexcept=delete
 
virtual C3D_API ~SubmeshComponentPlugin ()=default
 
C3D_API SubmeshComponentPlugin (SubmeshComponentPlugin &&rhs) noexcept=default
 
C3D_API SubmeshComponentPlugin (SubmeshComponentRegister const &submeshComponents, castor::UserContextCreator const &pcreateParserContext={})
 
virtual C3D_API SubmeshComponentFlag getComponentFlags () const noexcept
 
virtual C3D_API SubmeshComponentFlag getIndexFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getInstantiationFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getRenderFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getLineIndexFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTriangleIndexFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getSkinFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getMorphFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getPassMaskFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getMeshletFlag () const noexcept
 
virtual C3D_API shader::SubmeshRasterSurfaceShaderPtr createRasterSurfaceShader () const
 
virtual C3D_API SubmeshRenderShaderPtr createRenderShader () const
 
SubmeshComponentID getId () const noexcept
 
SubmeshComponentRegister const & getRegister () const noexcept
 
virtual C3D_API void createParsers (castor::AttributeParsers &parsers) const
 Fills the given lists with this component's parsers.
 
virtual C3D_API void createSections (castor::StrUInt32Map &sections) const
 Fills the sections list with the ones created by this component.
 

Additional Inherited Members

- Public Attributes inherited from castor3d::SubmeshComponentPlugin
castor::UserContextCreator createParserContext
 

Member Function Documentation

◆ createComponent()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentUPtr castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::createComponent ( Submesh & submesh) const
inlineoverridevirtual

Creates a component for given submesh.

Remarks
Doesn't add the component to the submesh.
Parameters
[in]submeshThe submesh.

Implements castor3d::SubmeshComponentPlugin.

◆ createVertexSurfaceShader()

template<SubmeshData SubmeshDataT, typename DataT >
shader::SubmeshVertexSurfaceShaderPtr castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::createVertexSurfaceShader ( ) const
inlineoverridevirtual
Returns
The component's vertex surface shaders.

Reimplemented from castor3d::SubmeshComponentPlugin.

◆ getBitangentFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getBitangentFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eBitangents, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getColourFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getColourFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eColours, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getNormalFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getNormalFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eNormals, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getPositionFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getPositionFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::ePositions, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getTangentFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTangentFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eTangents, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getTexcoord0Flag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord0Flag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eTexcoords0, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getTexcoord1Flag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord1Flag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eTexcoords1, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getTexcoord2Flag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord2Flag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eTexcoords2, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getTexcoord3Flag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord3Flag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eTexcoords3, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ getVelocityFlag()

template<SubmeshData SubmeshDataT, typename DataT >
SubmeshComponentFlag castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getVelocityFlag ( ) const
inlineoverridevirtualnoexcept

Reimplemented from castor3d::SubmeshComponentPlugin.

References castor3d::eVelocity, and castor3d::SubmeshComponentPlugin::getComponentFlags().

Here is the call graph for this function:

◆ SubmeshComponentPlugin() [1/3]

template<SubmeshData SubmeshDataT, typename DataT >
C3D_API castor3d::SubmeshComponentPlugin::SubmeshComponentPlugin ( SubmeshComponentPlugin && rhs)
defaultnoexcept

◆ SubmeshComponentPlugin() [2/3]

template<SubmeshData SubmeshDataT, typename DataT >
castor3d::SubmeshComponentPlugin::SubmeshComponentPlugin ( SubmeshComponentPlugin const & )
delete

◆ SubmeshComponentPlugin() [3/3]

template<SubmeshData SubmeshDataT, typename DataT >
C3D_API castor3d::SubmeshComponentPlugin::SubmeshComponentPlugin ( SubmeshComponentRegister const & submeshComponents,
castor::UserContextCreator const & pcreateParserContext = {} )
inlineexplicit
Parameters
[in]submeshComponentsThe components registrar.
[in]pcreateParserContextThe user defined parsing context creator.

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