Cogs.Core
HighlightRegionPicker.h
1#pragma once
2
3#include "Scene/RayPick.h"
4
5namespace Cogs::Core {
6
7 struct HighlightRegionSystem;
8
10 {
12 : IRayPickable(IRayPickable::Order::Last),
13 hrSystem(hrSystem)
14 {}
15
16 bool pickCamera(Context* context,
17 const CameraComponent& camera,
18 const glm::vec2& normPosition,
19 float /*rayLength*/,
20 float radius,
21 PickingFlags pickingFlags,
22 PicksReturned returnFlag,
23 const RayPicking::RayPickFilter& filter,
24 std::vector<RayPicking::RayPickHit>& hits) override;
25
26 bool pickRay(Context* /*context*/,
27 const glm::vec3& startPos,
28 const glm::quat& rot,
29 float rayLength,
30 float radius,
31 PickingFlags pickingFlags,
32 PicksReturned returnFlag,
33 const RayPicking::RayPickFilter& filter,
34 std::vector<RayPicking::RayPickHit>& hits) override;
35
36 HighlightRegionSystem* hrSystem = nullptr;
37 };
38
39}
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Interface for modules implementing custom picking.
Definition: RayPick.h:140
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
PicksReturned
  * Options for returning picking hits.
Definition: PickingFlags.h:40
PickingFlags
Options for COGS picking.
Definition: PickingFlags.h:12
bool pickCamera(Context *context, const CameraComponent &camera, const glm::vec2 &normPosition, float, float radius, PickingFlags pickingFlags, PicksReturned returnFlag, const RayPicking::RayPickFilter &filter, std::vector< RayPicking::RayPickHit > &hits) override
Do a ray pick from a normalized screen space position in the camera direction and return all hits.
bool pickRay(Context *, const glm::vec3 &startPos, const glm::quat &rot, float rayLength, float radius, PickingFlags pickingFlags, PicksReturned returnFlag, const RayPicking::RayPickFilter &filter, std::vector< RayPicking::RayPickHit > &hits) override
Do a ray pick from a position and orientation in world space and return all hits.