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

Submesh component holding base submesh data. More...

#include <BaseDataComponent.hpp>

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

Classes

struct  ComponentData
 
class  Plugin
 
struct  SurfaceShader
 

Public Member Functions

 BaseDataComponentT (Submesh &submesh)
 Constructor.
 
SubmeshComponentUPtr clone (Submesh &submesh) const override
 Clones this component into given submesh.
 
ComponentDatagetData () const noexcept
 
- Public Member Functions inherited from castor3d::SubmeshComponent
C3D_API SubmeshComponent (Submesh &submesh, castor::String const &type, SubmeshComponentDataUPtr data={}, castor::StringArray deps={})
 Constructor.
 
virtual C3D_API ~SubmeshComponent () noexcept=default
 Destructor.
 
virtual 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.
 
virtual C3D_API void accept (ConfigurationVisitorBase &vis)
 ConfigurationVisitorBase acceptance function.
 
virtual C3D_API SubmeshComponentFlag getSubmeshFlags () const noexcept
 
virtual C3D_API ProgramFlags getProgramFlags (Pass const &pass) const noexcept
 
C3D_API void initialiseRenderData ()
 Initialises the render data specific for this component's submesh.
 
castor::String const & getType () const noexcept
 
castor::StringArray const & getDependencies () const noexcept
 
SubmeshComponentPlugin const & getPlugin () const noexcept
 
SubmeshComponentID getId () const noexcept
 
SubmeshComponentDataRPtr getBaseData () const noexcept
 
SubmeshRenderDatagetRenderData () const noexcept
 
template<typename DataT >
DataT * getDataT () const noexcept
 
template<typename DataT >
DataT * getRenderDataT () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< Submesh >
Submesh * getOwner () const
 

Static Public Member Functions

static SubmeshComponentPluginUPtr createPlugin (SubmeshComponentRegister const &submeshComponents)
 

Static Public Attributes

static castor::String const TypeName
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< Submesh >
 OwnedBy (Submesh &owner)
 Constructor.
 
- Protected Attributes inherited from castor3d::SubmeshComponent
SubmeshComponentDataUPtr m_data
 
SubmeshRenderDataPtr m_renderData
 

Detailed Description

template<SubmeshData SubmeshDataT, typename DataT>
class castor3d::BaseDataComponentT< SubmeshDataT, DataT >

Submesh component holding base submesh data.

Constructor & Destructor Documentation

◆ BaseDataComponentT()

template<SubmeshData SubmeshDataT, typename DataT >
castor3d::BaseDataComponentT< SubmeshDataT, DataT >::BaseDataComponentT ( Submesh & submesh)
inlineexplicit

Constructor.

Parameters
[in]submeshThe parent submesh.

Member Function Documentation

◆ clone()

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

Clones this component into given submesh.

Parameters
[in,out]submeshReceives the cloned component.

Implements castor3d::SubmeshComponent.

References castor3d::BaseDataComponentT< SubmeshDataT, DataT >::getData().

Here is the call graph for this function:

◆ createPlugin()

template<SubmeshData SubmeshDataT, typename DataT >
static SubmeshComponentPluginUPtr castor3d::BaseDataComponentT< SubmeshDataT, DataT >::createPlugin ( SubmeshComponentRegister const & submeshComponents)
inlinestatic

◆ getData()

template<SubmeshData SubmeshDataT, typename DataT >
ComponentData & castor3d::BaseDataComponentT< SubmeshDataT, DataT >::getData ( ) const
inlinenoexcept

Referenced by castor3d::BaseDataComponentT< SubmeshDataT, DataT >::clone().

Here is the caller graph for this function:

Member Data Documentation

◆ TypeName

template<SubmeshData SubmeshDataT, typename DataT >
castor::String const castor3d::BaseDataComponentT< SubmeshDataT, DataT >::TypeName
static
Initial value:
{ []()
{
return getBaseDataComponentName( SubmeshDataT );
}() }
C3D_API castor::String getBaseDataComponentName(SubmeshData submeshData)

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