opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
osc::RenderQueue Class Referencefinal

#include <render_queue.h>

Public Types

using handle_type = size_t
 
using handle_iterator = std::vector< handle_type >::iterator
 
using handle_const_iterator = std::vector< handle_type >::const_iterator
 
using handle_subrange = std::ranges::subrange< handle_iterator >
 
using handle_const_subrange = std::ranges::subrange< handle_const_iterator >
 
using size_type = size_t
 
using submesh_index_type = ValueOrSentinel< size_t, std::numeric_limits< size_t >::max()>
 

Public Member Functions

handle_type emplace (const Mesh &mesh, const Material &material)
 
handle_type emplace (const Mesh &mesh, const Transform &transform, const Material &material)
 
handle_type emplace (const Mesh &mesh, const Transform &transform, const Material &material, const MaterialPropertyBlock &material_prop_block)
 
handle_type emplace (const Mesh &mesh, const Transform &transform, const Material &material, size_t submesh_index)
 
handle_type emplace (const Mesh &mesh, const Transform &transform, const Material &material, const MaterialPropertyBlock &material_prop_block, size_t submesh_index)
 
handle_type emplace (const Mesh &mesh, const Matrix4x4 &transform, const Material &material)
 
handle_type emplace (const Mesh &mesh, const Matrix4x4 &transform, const Material &material, const MaterialPropertyBlock &material_prop_block)
 
handle_type emplace (const Mesh &mesh, const Matrix4x4 &transform, const Material &material, size_t submesh_index)
 
handle_type emplace (const Mesh &mesh, const Matrix4x4 &transform, const Material &material, const MaterialPropertyBlock &material_prop_block, size_t submesh_index)
 
void clear ()
 
bool empty () const
 
const Material & material (handle_type id) const
 
Material & material (handle_type id)
 
const MaterialPropertyBlock & material_property_block (handle_type id) const
 
MaterialPropertyBlock & material_property_block (handle_type id)
 
const Mesh & mesh (handle_type id) const
 
Mesh & mesh (handle_type id)
 
const submesh_index_type & maybe_submesh_index (handle_type id) const
 
submesh_index_type & maybe_submesh_index (handle_type id)
 
const Matrix4x4 & model_matrix (handle_type id) const
 
Matrix4x4 & model_matrix (handle_type id)
 
Vector3 world_space_centroid (handle_type id) const
 
bool is_opaque (handle_type id) const
 
bool is_depth_tested (handle_type id) const
 
Matrix3x3 normal_matrix3x3 (handle_type id) const
 
Matrix4x4 normal_matrix4x4 (handle_type id) const
 
const auto & handles () const
 
auto & handles ()
 
size_type size () const
 

Friends

bool operator== (const RenderQueue &, const RenderQueue &)=default
 

Member Typedef Documentation

◆ handle_const_iterator

using osc::RenderQueue::handle_const_iterator = std::vector<handle_type>::const_iterator

◆ handle_const_subrange

◆ handle_iterator

using osc::RenderQueue::handle_iterator = std::vector<handle_type>::iterator

◆ handle_subrange

using osc::RenderQueue::handle_subrange = std::ranges::subrange<handle_iterator>

◆ handle_type

◆ size_type

◆ submesh_index_type

using osc::RenderQueue::submesh_index_type = ValueOrSentinel<size_t, std::numeric_limits<size_t>::max()>

Member Function Documentation

◆ clear()

void osc::RenderQueue::clear ( )
inline

◆ emplace() [1/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Material &  material 
)
inline

◆ emplace() [2/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Matrix4x4 &  transform,
const Material &  material 
)
inline

◆ emplace() [3/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Matrix4x4 &  transform,
const Material &  material,
const MaterialPropertyBlock &  material_prop_block 
)
inline

◆ emplace() [4/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Matrix4x4 &  transform,
const Material &  material,
const MaterialPropertyBlock &  material_prop_block,
size_t  submesh_index 
)
inline

◆ emplace() [5/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Matrix4x4 &  transform,
const Material &  material,
size_t  submesh_index 
)
inline

◆ emplace() [6/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Transform &  transform,
const Material &  material 
)
inline

◆ emplace() [7/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Transform &  transform,
const Material &  material,
const MaterialPropertyBlock &  material_prop_block 
)
inline

◆ emplace() [8/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Transform &  transform,
const Material &  material,
const MaterialPropertyBlock &  material_prop_block,
size_t  submesh_index 
)
inline

◆ emplace() [9/9]

handle_type osc::RenderQueue::emplace ( const Mesh &  mesh,
const Transform &  transform,
const Material &  material,
size_t  submesh_index 
)
inline

◆ empty()

bool osc::RenderQueue::empty ( ) const
inline

◆ handles() [1/2]

auto & osc::RenderQueue::handles ( )
inline

◆ handles() [2/2]

const auto & osc::RenderQueue::handles ( ) const
inline

◆ is_depth_tested()

bool osc::RenderQueue::is_depth_tested ( handle_type  id) const
inline

◆ is_opaque()

bool osc::RenderQueue::is_opaque ( handle_type  id) const
inline

◆ material() [1/2]

Material & osc::RenderQueue::material ( handle_type  id)
inline

◆ material() [2/2]

const Material & osc::RenderQueue::material ( handle_type  id) const
inline

◆ material_property_block() [1/2]

MaterialPropertyBlock & osc::RenderQueue::material_property_block ( handle_type  id)
inline

◆ material_property_block() [2/2]

const MaterialPropertyBlock & osc::RenderQueue::material_property_block ( handle_type  id) const
inline

◆ maybe_submesh_index() [1/2]

submesh_index_type & osc::RenderQueue::maybe_submesh_index ( handle_type  id)
inline

◆ maybe_submesh_index() [2/2]

const submesh_index_type & osc::RenderQueue::maybe_submesh_index ( handle_type  id) const
inline

◆ mesh() [1/2]

Mesh & osc::RenderQueue::mesh ( handle_type  id)
inline

◆ mesh() [2/2]

const Mesh & osc::RenderQueue::mesh ( handle_type  id) const
inline

◆ model_matrix() [1/2]

Matrix4x4 & osc::RenderQueue::model_matrix ( handle_type  id)
inline

◆ model_matrix() [2/2]

const Matrix4x4 & osc::RenderQueue::model_matrix ( handle_type  id) const
inline

◆ normal_matrix3x3()

Matrix3x3 osc::RenderQueue::normal_matrix3x3 ( handle_type  id) const
inline

◆ normal_matrix4x4()

Matrix4x4 osc::RenderQueue::normal_matrix4x4 ( handle_type  id) const
inline

◆ size()

size_type osc::RenderQueue::size ( ) const
inline

◆ world_space_centroid()

Vector3 osc::RenderQueue::world_space_centroid ( handle_type  id) const
inline

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const RenderQueue &  ,
const RenderQueue &   
)
friend

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