Cogs.Core
Public Types | Public Member Functions | Public Attributes | List of all members
Cogs::Core::IRayPickable Class Referenceabstract

Interface for modules implementing custom picking. More...

#include <RayPick.h>

Inheritance diagram for Cogs::Core::IRayPickable:
Cogs::Core::HighlightRegionPicker Cogs::Core::Image360::RayPickExtension Cogs::Core::MarkerPointSetPicker Cogs::Core::MeshRayPickableBase Cogs::Core::OceanPicker Cogs::Core::PotreePicker Cogs::Core::SpritePicker Cogs::Core::TerrainPicker Cogs::Core::VectorField::VectorFieldPick

Public Types

enum struct  Order : int32_t { Default = 0 , Last = std::numeric_limits<int32_t>::max() }
 Specifies run-order of picking extensions when that is needed. More...
 

Public Member Functions

 IRayPickable (Order order=Order::Default)
 
virtual COGSCORE_DLL_API bool pickCamera (Context *context, const CameraComponent &camera, const glm::vec2 &queryClip, float rayLength, float rayRadius, PickingFlags pickingFlags, PicksReturned returnFlag, const RayPicking::RayPickFilter &filter, std::vector< RayPicking::RayPickHit > &hits)=0
 Do a ray pick from a normalized screen space position in the camera direction and return all hits.
 
virtual COGSCORE_DLL_API bool pickRay (Context *, const glm::vec3 &, const glm::quat &, float, float, PickingFlags, PicksReturned, const RayPicking::RayPickFilter &, std::vector< RayPicking::RayPickHit > &)
 Do a ray pick from a position and orientation in world space and return all hits.
 

Public Attributes

Order order = Order::Default
 

Detailed Description

Interface for modules implementing custom picking.

Definition at line 139 of file RayPick.h.

Member Enumeration Documentation

◆ Order

enum struct Cogs::Core::IRayPickable::Order : int32_t
strong

Specifies run-order of picking extensions when that is needed.

Definition at line 143 of file RayPick.h.

Constructor & Destructor Documentation

◆ IRayPickable()

Cogs::Core::IRayPickable::IRayPickable ( Order  order = Order::Default)
inline

Definition at line 149 of file RayPick.h.

Member Function Documentation

◆ pickCamera()

virtual COGSCORE_DLL_API bool Cogs::Core::IRayPickable::pickCamera ( Context context,
const CameraComponent camera,
const glm::vec2 &  queryClip,
float  rayLength,
float  rayRadius,
PickingFlags  pickingFlags,
PicksReturned  returnFlag,
const RayPicking::RayPickFilter filter,
std::vector< RayPicking::RayPickHit > &  hits 
)
pure virtual

Do a ray pick from a normalized screen space position in the camera direction and return all hits.

Parameters
queryClipPicking query position in clip coords [-1,1]x[-1,1].
rayLengthMax length of picking ray, measured in world units.
rayRadiusRadius of picking picking ray, measured in pixels.

Implemented in Cogs::Core::HighlightRegionPicker, Cogs::Core::PotreePicker, Cogs::Core::MeshRayPickableBase, Cogs::Core::Image360::RayPickExtension, Cogs::Core::OceanPicker, Cogs::Core::TerrainPicker, Cogs::Core::VectorField::VectorFieldPick, Cogs::Core::SpritePicker, and Cogs::Core::MarkerPointSetPicker.

◆ pickRay()

virtual COGSCORE_DLL_API bool Cogs::Core::IRayPickable::pickRay ( Context ,
const glm::vec3 &  ,
const glm::quat &  ,
float  ,
float  ,
PickingFlags  ,
PicksReturned  ,
const RayPicking::RayPickFilter ,
std::vector< RayPicking::RayPickHit > &   
)
inlinevirtual

Do a ray pick from a position and orientation in world space and return all hits.

Reimplemented in Cogs::Core::HighlightRegionPicker, Cogs::Core::PotreePicker, Cogs::Core::MeshRayPickableBase, and Cogs::Core::MarkerPointSetPicker.

Definition at line 168 of file RayPick.h.

Member Data Documentation

◆ order

Order Cogs::Core::IRayPickable::order = Order::Default

Definition at line 147 of file RayPick.h.


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