14#include <lagrange/ui/Entity.h>
15#include <lagrange/ui/components/Selection.h>
16#include <lagrange/ui/types/Camera.h>
17#include <lagrange/ui/types/Frustum.h>
27 entt::id_type element_type;
77 float neighbourhood_frustum_radius = 10.0f;
86 SelectionBehavior
behavior = SelectionBehavior::SET;
Camera class.
Definition: Camera.h:38
Frustum defined using 6 planes.
Definition: Frustum.h:43
Lagrange UI Viewer and mini 3D engine.
Definition: AcceleratedPicking.h:22
Main namespace for Lagrange.
Definition: AABBIGL.h:30
Global component with information about current viewport selection.
Definition: SelectionContext.h:25
bool active
Is selection active (are the selection keys down?)
Definition: SelectionContext.h:34
Frustum onepx_frustum
Frustum in one pixel diameter.
Definition: SelectionContext.h:80
Camera camera
Copy of current camera.
Definition: SelectionContext.h:83
bool marquee_active
Is marquee (rectangle) selection active.
Definition: SelectionContext.h:37
Eigen::Vector2i viewport_position
Current selection position.
Definition: SelectionContext.h:63
Eigen::Vector2i viewport_min
Beginning of selection rectangle (always lower coordinate than end)
Definition: SelectionContext.h:57
bool select_backfacing
Select backfacing objects/elements.
Definition: SelectionContext.h:89
Eigen::Vector3f ray_origin
Current mouse position induced ray origin.
Definition: SelectionContext.h:67
Eigen::Vector2i viewport_max
End of selection rectangle (always greater coordinate than begin)
Definition: SelectionContext.h:60
Eigen::Vector2f screen_end
End of selection rectangle (coordinates can be lower than begin)
Definition: SelectionContext.h:47
Frustum neighbourhood_frustum
Frustum in a radius.
Definition: SelectionContext.h:76
Eigen::Vector2f screen_begin
Beginning of selection rectangle (coordinates can be greater than end)
Definition: SelectionContext.h:44
Frustum frustum
Frustum, set if marquee is active.
Definition: SelectionContext.h:73
Entity active_viewport
In which viewport is the selection happening Can be null or invalid if no viewport is hovered.
Definition: SelectionContext.h:31
Eigen::Vector2f screen_position
Current selection position.
Definition: SelectionContext.h:50
Eigen::Vector3f ray_dir
Current mouse position induced ray direction.
Definition: SelectionContext.h:70
SelectionBehavior behavior
Selection behavior.
Definition: SelectionContext.h:86