Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Protected Attributes | List of all members
castor3d::BillboardList Class Reference

#include <BillboardList.hpp>

Inheritance diagram for castor3d::BillboardList:
Inheritance graph
[legend]
Collaboration diagram for castor3d::BillboardList:
Collaboration graph
[legend]

Public Member Functions

C3D_API BillboardList (castor::String const &name, Scene &scene, SceneNode &parent)
 Constructor.
 
C3D_API BillboardList (castor::String const &name, Scene &scene)
 Constructor.
 
C3D_API bool initialise (RenderDevice const &device)
 Initialises GPU side elements.
 
C3D_API void removePoint (uint32_t index)
 Removes a point from the list.
 
C3D_API void addPoint (castor::Point3f const &position)
 adds a point to the list
 
C3D_API void addPoints (castor::Point3fArray const &positions)
 adds a points list to the list
 
C3D_API void attachTo (SceneNode &node) override
 Attaches the movable object to a node.
 
castor::Point3f const & getAt (uint32_t index) const
 
castor::Point3fArrayIt begin ()
 
castor::Point3fArrayConstIt begin () const
 
castor::Point3fArrayIt end ()
 
castor::Point3fArrayConstIt end () const
 
void setAt (uint32_t index, castor::Point3f const &position)
 
- Public Member Functions inherited from castor3d::MovableObject
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node)
 Constructor.
 
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type)
 Constructor.
 
virtual C3D_API ~MovableObject () noexcept
 Destructor.
 
C3D_API void detach ()
 Detaches the movable object from it's parent.
 
C3D_API void markDirty ()
 Adds the object to dirty object list in the scene.
 
C3D_API EngineRPtr getEngine () const noexcept
 
SceneNodegetParent () const noexcept
 
MovableType getMovableType () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< Scene >
Scene * getOwner () const
 
- Public Member Functions inherited from castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructor.
 
T const & getName () const noexcept
 Retrieves the name.
 
void rename (T name) noexcept
 
- Public Member Functions inherited from castor3d::BillboardBase
C3D_API BillboardBase (Scene &scene, SceneNode *node, ashes::PipelineVertexInputStateCreateInfoPtr vertexLayout, uint32_t vertexStride, GpuBufferOffsetT< uint8_t > vertexBuffer={})
 Constructor.
 
virtual C3D_API ~BillboardBase () noexcept=default
 Destructor.
 
C3D_API bool initialise (RenderDevice const &device, uint32_t count)
 Initialises GPU side elements.
 
C3D_API void cleanup (RenderDevice const &device)
 Cleans GPU side elements up.
 
C3D_API void update (GpuUpdater &updater)
 Updates the render pass, GPU wise.
 
C3D_API uint32_t getId (Pass const &pass) const
 Retrieves the object ID in models buffer.
 
C3D_API BillboardRenderNode const * getRenderNode (Pass const &pass) const
 Retrieves the object render node.
 
C3D_API void fillData (BillboardUboConfiguration &data) const
 Fills the given data with this billboard's properties.
 
C3D_API void setId (Pass const &pass, BillboardRenderNode const *renderNode, uint32_t id)
 Sets the object render node and ID in models buffer.
 
C3D_API ProgramFlags getProgramFlags () const
 
SubmeshComponentCombineID getComponentCombineID () const
 
MaterialObs getMaterial () const
 
castor::Point2f const & getDimensions () const
 
uint32_t getCount () const
 
bool isInitialised () const
 
GpuBufferOffsetT< uint8_t > const & getVertexBuffer () const
 
GpuBufferOffsetT< uint8_t > & getVertexBuffer ()
 
uint32_t getVertexStride ()
 
GeometryBuffers const & getGeometryBuffers () const
 
ObjectBufferOffset const & getBufferOffsets () const
 
Scene const & getParentScene () const
 
ScenegetParentScene ()
 
SceneNodegetNode () const
 
BillboardType getBillboardType () const
 
BillboardSize getBillboardSize () const
 
castor::UnorderedMap< Pass const *, IdRenderNode > const & getIds () const
 
void setDimensions (castor::Point2f const &value)
 
void setCenterOffset (uint32_t value)
 
void setNode (SceneNode &value)
 
void setBillboardType (BillboardType value)
 
void setBillboardSize (BillboardSize value)
 
void setGpuFilled (bool value)
 
C3D_API void setMaterial (MaterialObs value)
 
C3D_API void setCount (uint32_t value)
 
- Public Member Functions inherited from castor3d::RenderedObject
C3D_API void fillEntry (uint32_t nodeId, Pass const &pass, SceneNode const &sceneNode, uint32_t meshletCount, ModelBufferConfiguration &modelData)
 
C3D_API void fillEntryOffsets (uint32_t nodeId, VkDeviceSize vertexOffset, VkDeviceSize indexOffset, VkDeviceSize meshletOffset)
 
void setVisible (bool value) noexcept
 
void setShadowCaster (bool value) noexcept
 
void setShadowReceiver (bool value) noexcept
 
void setCullable (bool value) noexcept
 
bool isVisible () const noexcept
 
bool isShadowCaster () const noexcept
 
bool isShadowReceiver () const noexcept
 
bool isCullable () const noexcept
 

Protected Attributes

castor::Point3fArray m_arrayPositions
 
- Protected Attributes inherited from castor3d::MovableObject
MovableType m_type
 
SceneNodem_sceneNode {}
 
OnSceneNodeChangedConnection m_notifyIndex
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 
- Protected Attributes inherited from castor3d::BillboardBase
Scenem_scene
 
SceneNodem_node {}
 
MaterialObs m_material {}
 
castor::Point2f m_dimensions
 
castor::Point3f m_cameraPosition
 
GpuBufferOffsetT< uint8_t > m_vertexBuffer
 
ashes::PipelineVertexInputStateCreateInfoPtr m_vertexLayout
 
uint32_t m_vertexStride
 
ashes::PipelineVertexInputStateCreateInfoPtr m_quadLayout
 
ObjectBufferOffset m_bufferOffsets
 
GeometryBuffers m_geometryBuffers
 
bool m_needUpdate { true }
 
bool m_initialised { false }
 
bool m_gpuFilled { false }
 
uint32_t m_count { 0u }
 
uint32_t m_centerOffset { 0u }
 
BillboardType m_billboardType { BillboardType::eCylindrical }
 
BillboardSize m_billboardSize { BillboardSize::eDynamic }
 
castor::UnorderedMap< Pass const *, IdRenderNodem_ids {}
 
SubmeshComponentCombine m_proxyCombine
 

Additional Inherited Members

- Public Types inherited from castor3d::BillboardBase
using IdRenderNode = castor::Pair< uint32_t, BillboardRenderNode const * >
 
using Quad = castor::Array< BillboardVertex, 4u >
 
- Protected Member Functions inherited from castor::OwnedBy< Scene >
 OwnedBy (Scene &owner)
 Constructor.
 

Constructor & Destructor Documentation

◆ BillboardList() [1/2]

C3D_API castor3d::BillboardList::BillboardList ( castor::String const & name,
Scene & scene,
SceneNode & parent )

Constructor.

Parameters
[in]nameThe name.
[in]sceneThe parent scene.
[in]parentThe parent scene node.

◆ BillboardList() [2/2]

C3D_API castor3d::BillboardList::BillboardList ( castor::String const & name,
Scene & scene )

Constructor.

Parameters
[in]nameThe name.
[in]sceneThe parent scene.

Member Function Documentation

◆ addPoint()

C3D_API void castor3d::BillboardList::addPoint ( castor::Point3f const & position)

adds a point to the list

Parameters
[in]positionThe point

◆ addPoints()

C3D_API void castor3d::BillboardList::addPoints ( castor::Point3fArray const & positions)

adds a points list to the list

Parameters
[in]positionsThe points list

◆ attachTo()

C3D_API void castor3d::BillboardList::attachTo ( SceneNode & node)
overridevirtual

Attaches the movable object to a node.

Parameters
[in]nodeThe parent scene node.

Reimplemented from castor3d::MovableObject.

◆ begin() [1/2]

castor::Point3fArrayIt castor3d::BillboardList::begin ( )
inline

References m_arrayPositions.

◆ begin() [2/2]

castor::Point3fArrayConstIt castor3d::BillboardList::begin ( ) const
inline

References m_arrayPositions.

◆ end() [1/2]

castor::Point3fArrayIt castor3d::BillboardList::end ( )
inline

References m_arrayPositions.

◆ end() [2/2]

castor::Point3fArrayConstIt castor3d::BillboardList::end ( ) const
inline

References m_arrayPositions.

◆ getAt()

castor::Point3f const & castor3d::BillboardList::getAt ( uint32_t index) const
inline

name Getters.

References m_arrayPositions.

◆ initialise()

C3D_API bool castor3d::BillboardList::initialise ( RenderDevice const & device)

Initialises GPU side elements.

Parameters
deviceThe current device.
Returns
true if all is OK

◆ removePoint()

C3D_API void castor3d::BillboardList::removePoint ( uint32_t index)

Removes a point from the list.

Parameters
[in]indexThe point index

◆ setAt()

void castor3d::BillboardList::setAt ( uint32_t index,
castor::Point3f const & position )
inline

Member Data Documentation

◆ m_arrayPositions

castor::Point3fArray castor3d::BillboardList::m_arrayPositions
protected

Referenced by begin(), begin(), end(), end(), getAt(), and setAt().


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