Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::LinesMapping::ComponentData Struct Reference

#include <LinesMapping.hpp>

Inheritance diagram for castor3d::LinesMapping::ComponentData:
Inheritance graph
[legend]
Collaboration diagram for castor3d::LinesMapping::ComponentData:
Collaboration graph
[legend]

Public Member Functions

void copy (SubmeshComponentDataRPtr data) const override
 Copies given component's data into this one.
 
C3D_API void clearLines ()
 Clears the lines array.
 
C3D_API Line addLine (uint32_t a, uint32_t b)
 Creates and adds a line to the submesh.
 
C3D_API void addLineGroup (LineIndices const *const begin, LineIndices const *const end)
 Creates and adds lines to the submesh.
 
void addLineGroup (castor::Vector< LineIndices > const &lines)
 Creates and adds lines to the submesh.
 
template<size_t Count>
void addLineGroup (castor::Array< LineIndices, Count > const &lines)
 Creates and adds lines to the submesh.
 
template<uint32_t Count>
void addLineGroup (LineIndices(&lines)[Count])
 Creates and adds lines to the submesh.
 
Line const & operator[] (uint32_t index) const
 Retrieves the line at given index.
 
LineArray const & getFaces () const noexcept
 
LineArraygetFaces () noexcept
 
uint32_t getCount () const noexcept
 
- Public Member Functions inherited from castor3d::IndexMapping::ComponentData
 ComponentData (Submesh &submesh, VkBufferUsageFlags bufferUsageFlags)
 
void gather (PipelineFlags const &flags, Pass const &pass, ObjectBufferOffset const &bufferOffsets, ashes::BufferCRefArray &buffers, castor::Vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t &currentBinding, uint32_t &currentLocation) override final
 Gathers buffers that need to go in a vertex layout.
 
VkBufferUsageFlags getUsageFlags () const noexcept override
 
- Public Member Functions inherited from castor3d::SubmeshComponentData
C3D_API SubmeshComponentData (Submesh &submesh)
 
C3D_API bool initialise (RenderDevice const &device)
 Initialises the submesh.
 
C3D_API void cleanup (RenderDevice const &device)
 Cleans the submesh.
 
C3D_API void upload (UploadData &uploader)
 Uploads data on VRAM.
 
void needsUpdate ()
 
- Public Member Functions inherited from castor3d::SubmeshSubComponent
 SubmeshSubComponent ()=default
 
 SubmeshSubComponent (SubmeshSubComponent const &)=delete
 
SubmeshSubComponentoperator= (SubmeshSubComponent const &)=delete
 
C3D_API SubmeshSubComponent (SubmeshSubComponent &&) noexcept=default
 
C3D_API SubmeshSubComponentoperator= (SubmeshSubComponent &&) noexcept=default
 
virtual C3D_API ~SubmeshSubComponent () noexcept=default
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::SubmeshComponentData
Submeshm_submesh
 

Member Function Documentation

◆ addLine()

C3D_API Line castor3d::LinesMapping::ComponentData::addLine ( uint32_t a,
uint32_t b )

Creates and adds a line to the submesh.

Parameters
[in]aThe first vertex index.
[in]bThe second vertex index.
Returns
The created face.

◆ addLineGroup() [1/4]

template<size_t Count>
void castor3d::LinesMapping::ComponentData::addLineGroup ( castor::Array< LineIndices, Count > const & lines)
inline

Creates and adds lines to the submesh.

Parameters
[in]linesThe lines.

References addLineGroup().

Here is the call graph for this function:

◆ addLineGroup() [2/4]

void castor3d::LinesMapping::ComponentData::addLineGroup ( castor::Vector< LineIndices > const & lines)
inline

Creates and adds lines to the submesh.

Parameters
[in]linesThe lines.

References addLineGroup().

Here is the call graph for this function:

◆ addLineGroup() [3/4]

C3D_API void castor3d::LinesMapping::ComponentData::addLineGroup ( LineIndices const *const begin,
LineIndices const *const end )

Creates and adds lines to the submesh.

Parameters
[in]beginThe faces data begin.
[in]endThe faces data end.

Referenced by addLineGroup(), addLineGroup(), and addLineGroup().

Here is the caller graph for this function:

◆ addLineGroup() [4/4]

template<uint32_t Count>
void castor3d::LinesMapping::ComponentData::addLineGroup ( LineIndices(&) lines[Count])
inline

Creates and adds lines to the submesh.

Parameters
[in]linesThe lines.

References addLineGroup().

Here is the call graph for this function:

◆ clearLines()

C3D_API void castor3d::LinesMapping::ComponentData::clearLines ( )

Clears the lines array.

◆ copy()

void castor3d::LinesMapping::ComponentData::copy ( SubmeshComponentDataRPtr data) const
overridevirtual

Copies given component's data into this one.

Parameters
[in,out]dataThe source component's data.

Implements castor3d::SubmeshComponentData.

◆ getCount()

uint32_t castor3d::LinesMapping::ComponentData::getCount ( ) const
inlinenoexcept

◆ getFaces() [1/2]

LineArray const & castor3d::LinesMapping::ComponentData::getFaces ( ) const
inlinenoexcept
Returns
The lines array.

◆ getFaces() [2/2]

LineArray & castor3d::LinesMapping::ComponentData::getFaces ( )
inlinenoexcept
Returns
The lines array.

◆ operator[]()

Line const & castor3d::LinesMapping::ComponentData::operator[] ( uint32_t index) const
inline

Retrieves the line at given index.

Parameters
[in]indexThe index.
Returns
The value.

References CU_Require.


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