Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Friends | List of all members
castor3d::SubmeshComponentPlugin Class Referenceabstract

#include <SubmeshComponent.hpp>

Inheritance diagram for castor3d::SubmeshComponentPlugin:
Inheritance graph
[legend]

Public Member Functions

virtual C3D_API SubmeshComponentUPtr createComponent (Submesh &submesh) const =0
 Creates a component for given submesh.
 

Construction / Desctruction.

 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={})
 

Pass flags handling.

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 getPositionFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getNormalFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTangentFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getBitangentFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTexcoord0Flag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTexcoord1Flag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTexcoord2Flag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getTexcoord3Flag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getColourFlag () 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 getVelocityFlag () const noexcept
 
virtual C3D_API SubmeshComponentFlag getMeshletFlag () const noexcept
 

Shader functions.

virtual C3D_API shader::SubmeshVertexSurfaceShaderPtr createVertexSurfaceShader () const
 
virtual C3D_API shader::SubmeshRasterSurfaceShaderPtr createRasterSurfaceShader () const
 
virtual C3D_API SubmeshRenderShaderPtr createRenderShader () const
 

Getters.

SubmeshComponentID getId () const noexcept
 
SubmeshComponentRegister const & getRegister () const noexcept
 

Friends

class SubmeshComponentRegister
 

Scene file registration.

castor::UserContextCreator createParserContext
 
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.
 

Constructor & Destructor Documentation

◆ SubmeshComponentPlugin() [1/3]

castor3d::SubmeshComponentPlugin::SubmeshComponentPlugin ( SubmeshComponentPlugin const & )
delete

◆ ~SubmeshComponentPlugin()

virtual C3D_API castor3d::SubmeshComponentPlugin::~SubmeshComponentPlugin ( )
virtualdefault

◆ SubmeshComponentPlugin() [2/3]

C3D_API castor3d::SubmeshComponentPlugin::SubmeshComponentPlugin ( SubmeshComponentPlugin && rhs)
defaultnoexcept

◆ SubmeshComponentPlugin() [3/3]

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.

Member Function Documentation

◆ createComponent()

virtual C3D_API SubmeshComponentUPtr castor3d::SubmeshComponentPlugin::createComponent ( Submesh & submesh) const
pure virtual

◆ createParsers()

virtual C3D_API void castor3d::SubmeshComponentPlugin::createParsers ( castor::AttributeParsers & parsers) const
inlinevirtual

Fills the given lists with this component's parsers.

Parameters
[in,out]parsersReceives the parsers.

◆ createRasterSurfaceShader()

virtual C3D_API shader::SubmeshRasterSurfaceShaderPtr castor3d::SubmeshComponentPlugin::createRasterSurfaceShader ( ) const
inlinevirtual
Returns
The component's surface shaders.

◆ createRenderShader()

virtual C3D_API SubmeshRenderShaderPtr castor3d::SubmeshComponentPlugin::createRenderShader ( ) const
inlinevirtual
Returns
The component's render shader.

Reimplemented in castor3d::DefaultRenderComponent::Plugin.

◆ createSections()

virtual C3D_API void castor3d::SubmeshComponentPlugin::createSections ( castor::StrUInt32Map & sections) const
inlinevirtual

Fills the sections list with the ones created by this component.

Parameters
[in,out]sectionsReceives the sections.

◆ createVertexSurfaceShader()

virtual C3D_API shader::SubmeshVertexSurfaceShaderPtr castor3d::SubmeshComponentPlugin::createVertexSurfaceShader ( ) const
inlinevirtual
Returns
The component's vertex surface shaders.

Reimplemented in castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin, and castor3d::PassMasksComponent::Plugin.

◆ getBitangentFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getBitangentFlag ( ) const
inlinevirtualnoexcept

◆ getColourFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getColourFlag ( ) const
inlinevirtualnoexcept

◆ getComponentFlags()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getComponentFlags ( ) const
inlinevirtualnoexcept
Returns
The pass flags for this component.

References castor3d::makeSubmeshComponentFlag().

Referenced by castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getBitangentFlag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getColourFlag(), castor3d::LinesMapping::Plugin::getIndexFlag(), castor3d::TriFaceMapping::Plugin::getIndexFlag(), castor3d::InstantiationComponent::Plugin::getInstantiationFlag(), castor3d::LinesMapping::Plugin::getLineIndexFlag(), castor3d::MeshletComponent::Plugin::getMeshletFlag(), castor3d::MorphComponent::Plugin::getMorphFlag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getNormalFlag(), castor3d::PassMasksComponent::Plugin::getPassMaskFlag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getPositionFlag(), castor3d::DefaultRenderComponent::Plugin::getRenderFlag(), castor3d::SkinComponent::Plugin::getSkinFlag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTangentFlag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord0Flag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord1Flag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord2Flag(), castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getTexcoord3Flag(), castor3d::TriFaceMapping::Plugin::getTriangleIndexFlag(), and castor3d::BaseDataComponentT< SubmeshDataT, DataT >::Plugin::getVelocityFlag().

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

◆ getId()

SubmeshComponentID castor3d::SubmeshComponentPlugin::getId ( ) const
inlinenoexcept

◆ getIndexFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getIndexFlag ( ) const
inlinevirtualnoexcept

◆ getInstantiationFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getInstantiationFlag ( ) const
inlinevirtualnoexcept

◆ getLineIndexFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getLineIndexFlag ( ) const
inlinevirtualnoexcept

Reimplemented in castor3d::LinesMapping::Plugin.

◆ getMeshletFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getMeshletFlag ( ) const
inlinevirtualnoexcept

◆ getMorphFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getMorphFlag ( ) const
inlinevirtualnoexcept

◆ getNormalFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getNormalFlag ( ) const
inlinevirtualnoexcept

◆ getPassMaskFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getPassMaskFlag ( ) const
inlinevirtualnoexcept

◆ getPositionFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getPositionFlag ( ) const
inlinevirtualnoexcept

◆ getRegister()

SubmeshComponentRegister const & castor3d::SubmeshComponentPlugin::getRegister ( ) const
inlinenoexcept

◆ getRenderFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getRenderFlag ( ) const
inlinevirtualnoexcept

◆ getSkinFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getSkinFlag ( ) const
inlinevirtualnoexcept

◆ getTangentFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTangentFlag ( ) const
inlinevirtualnoexcept

◆ getTexcoord0Flag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTexcoord0Flag ( ) const
inlinevirtualnoexcept

◆ getTexcoord1Flag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTexcoord1Flag ( ) const
inlinevirtualnoexcept

◆ getTexcoord2Flag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTexcoord2Flag ( ) const
inlinevirtualnoexcept

◆ getTexcoord3Flag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTexcoord3Flag ( ) const
inlinevirtualnoexcept

◆ getTriangleIndexFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getTriangleIndexFlag ( ) const
inlinevirtualnoexcept

◆ getVelocityFlag()

virtual C3D_API SubmeshComponentFlag castor3d::SubmeshComponentPlugin::getVelocityFlag ( ) const
inlinevirtualnoexcept

◆ operator=() [1/2]

SubmeshComponentPlugin & castor3d::SubmeshComponentPlugin::operator= ( SubmeshComponentPlugin && rhs)
deletenoexcept

◆ operator=() [2/2]

SubmeshComponentPlugin & castor3d::SubmeshComponentPlugin::operator= ( SubmeshComponentPlugin const & )
delete

Friends And Related Symbol Documentation

◆ SubmeshComponentRegister

friend class SubmeshComponentRegister
friend

Member Data Documentation

◆ createParserContext

castor::UserContextCreator castor3d::SubmeshComponentPlugin::createParserContext

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