Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Static Public Attributes | List of all members
castor3d::Picking Class Reference

#include <Picking.hpp>

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

Public Member Functions

C3D_API Picking (crg::ResourceHandler &handler, RenderDevice const &device, QueueData const &queueData, castor::Size const &size, MatrixUbo &matrixUbo, SceneCuller &culler)
 Constructor. More...
 
C3D_API ~Picking ()
 Destructor. More...
 
C3D_API void addScene (Scene &scene, Camera &camera)
 Adds a scene rendered through this technique. More...
 
C3D_API PickNodeType pick (RenderDevice const &device, castor::Position position, Camera const &camera)
 Picks a geometry at given mouse position. More...
 
Geometry const * getPickedGeometry () const
 
BillboardBase const * getPickedBillboard () const
 
Submesh const * getPickedSubmesh () const
 
uint32_t getPickedFace () const
 
PickNodeType getPickedNodeType () const
 
crg::ImageViewId const & getImageView () const
 
crg::SemaphoreWaitArray const & getSemaphoreWait () const
 
bool isPicking () const
 

Static Public Attributes

static uint32_t constexpr PickingWidth = 32u
 

Constructor & Destructor Documentation

◆ Picking()

C3D_API castor3d::Picking::Picking ( crg::ResourceHandler &  handler,
RenderDevice const &  device,
QueueData const &  queueData,
castor::Size const &  size,
MatrixUbo matrixUbo,
SceneCuller culler 
)

Constructor.

Parameters
[in]handlerThe graph resources handler.
[in]deviceThe GPU device.
[in]queueDataThe queue receiving the GPU commands.
[in]sizeThe render area dimensions.
[in]matrixUboThe scene matrices UBO.
[in]cullerThe culler for this pass.

◆ ~Picking()

C3D_API castor3d::Picking::~Picking ( )

Destructor.

Member Function Documentation

◆ addScene()

C3D_API void castor3d::Picking::addScene ( Scene scene,
Camera camera 
)

Adds a scene rendered through this technique.

Parameters
[in]sceneThe scene.
[in]cameraThe camera through which the scene is viewed.

◆ getImageView()

crg::ImageViewId const & castor3d::Picking::getImageView ( ) const
inline

◆ getPickedBillboard()

BillboardBase const * castor3d::Picking::getPickedBillboard ( ) const
inline

◆ getPickedFace()

uint32_t castor3d::Picking::getPickedFace ( ) const
inline

◆ getPickedGeometry()

Geometry const * castor3d::Picking::getPickedGeometry ( ) const
inline

name Getters.

◆ getPickedNodeType()

PickNodeType castor3d::Picking::getPickedNodeType ( ) const
inline

◆ getPickedSubmesh()

Submesh const * castor3d::Picking::getPickedSubmesh ( ) const
inline

◆ getSemaphoreWait()

crg::SemaphoreWaitArray const & castor3d::Picking::getSemaphoreWait ( ) const
inline

◆ isPicking()

bool castor3d::Picking::isPicking ( ) const
inline

◆ pick()

C3D_API PickNodeType castor3d::Picking::pick ( RenderDevice const &  device,
castor::Position  position,
Camera const &  camera 
)

Picks a geometry at given mouse position.

Parameters
[in]deviceThe GPU device.
[in]positionThe position in the pass.
[in]cameraThe viewing camera.
Returns
PickingPass::PickNodeType::eNone if nothing was picked.

Member Data Documentation

◆ PickingWidth

uint32_t constexpr castor3d::Picking::PickingWidth = 32u
staticconstexpr

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