Euphoria
|
camera3.editor.cc
Go to the documentation of this file.
18 > reminder that you should use exponential interpolation, not lerp, for multiplicative quantities~
19 > if you want to find the frequency, zoom level or scale, halfway between 2 and 8, then the right answer is 4, not 5
251 orbit->rotation_angle += Angle::from_degrees(-x * owner->fps.look_sensitivity.get_multiplier_with_sign());
252 orbit->look_angle += Angle::from_degrees(-y * owner->fps.look_sensitivity.get_multiplier_with_sign());
514 MouseBehaviour get_mouse(const EditorCamera3*) const override { return MouseBehaviour::normal; }
538 return std::make_unique<detail::OrbitCamera>(start, latest_camera, latest_viewport, latest_mouse, latest_shift);
547 std::unique_ptr<detail::EditorCameraState3> make_lerp_camera(EditorCamera3* owner, const CameraFrame& to, float time)
std::optional< float > calc_zoom_move(int dx, int dy, float length, EditorCamera3 *owner)
Definition: camera3.editor.cc:109
std::string to_string(const CameraFrame &f)
Definition: camera3.editor.cc:27
std::unique_ptr< detail::EditorCameraState3 > make_lerp_camera(EditorCamera3 *owner, const CameraFrame &to, float time)
Definition: camera3.editor.cc:547
void set_frame_for_editor(const CameraFrame &frame, EditorCamera3 *editor)
Definition: camera3.editor.cc:62
CameraFrame get_frame_from_editor(EditorCamera3 *editor)
Definition: camera3.editor.cc:52
EditorCameraStyle3 get_next_style(EditorCameraStyle3 current_style)
Definition: camera3.editor.cc:39
std::unique_ptr< detail::EditorCameraState3 > make_default_camera()
Definition: camera3.editor.cc:542
std::unique_ptr< detail::EditorCameraState3 > make_orbit_camera(const CameraFrame &start, const CompiledCamera3 &latest_camera, const Viewport &latest_viewport, const vec2i &latest_mouse, bool latest_shift)
Definition: camera3.editor.cc:530
void update_state(EditorCamera3 *self)
Definition: camera3.editor.cc:31
void set_default_state(EditorCamera3 *cam)
Definition: camera3.editor.cc:519
Definition: argparse.cc:45
UnitRay3f from_mouse_to_unit_ray(const core::CompiledCamera3 &camera, const core::Viewport &viewport, const vec2i &position)
Definition: viewport.cc:48
Ray3f from_mouse_to_ray(const core::CompiledCamera3 &camera, const core::Viewport &viewport, const vec2i &position)
Definition: viewport.cc:31
@ wrap_within_window
@ relative_only
@ normal
Definition: angle.h:14
Definition: rect.h:125
Definition: camera3.h:29
Definition: camera3.h:14
Ray3f from_clip_to_world_ray(const vec2f &p) const
Definition: camera3.cc:34
Definition: camera3.editor.h:76
void update(bool shift_state, const vec2i &mouse, const CompiledCamera3 &camera, const Viewport &viewport, float dt)
Definition: camera3.editor.cc:574
void on_mouse_move(int dx, int dy)
Definition: camera3.editor.cc:589
std::vector< detail::CameraFrame > stored_cameras
Definition: camera3.editor.h:91
void apply_frame(const detail::CameraFrame &frame)
Definition: camera3.editor.cc:690
bool is_camera_orbit() const
Definition: camera3.editor.cc:641
void toggle_camera_orbit()
Definition: camera3.editor.cc:648
virtual std::optional< vec3f > raycast(const UnitRay3f &ray)=0
static constexpr int max_stored_index
Definition: camera3.editor.h:77
std::unique_ptr< detail::EditorCameraState3 > next_state
Definition: camera3.editor.h:90
std::unique_ptr< detail::EditorCameraState3 > state
Definition: camera3.editor.h:89
void focus(const SphereAndPosition &s, const Camera3 &cam)
Definition: camera3.editor.cc:673
void look(float delta_rot, float delta_look)
Definition: fpscontroller.cc:15
static quatf calc_rotation(const Angle &rotation_angle, const Angle &look_angle)
Definition: fpscontroller.cc:131
void look_in_direction(const unit3f &v)
Definition: fpscontroller.cc:152
float get_multiplier_with_sign() const
Definition: sensitivity.cc:22
Definition: sphere.position.h:10
Definition: viewport.h:10
Definition: camera3.editor.h:30
void update(EditorCamera3 *owner, bool shift, const vec2i &mouse, const CompiledCamera3 &camera, const Viewport &viewport, float dt) override
Definition: camera3.editor.cc:399
MouseBehaviour get_mouse(const EditorCamera3 *) const override
Definition: camera3.editor.cc:444
Viewport latest_viewport
Definition: camera3.editor.cc:332
void on_camera_stop(EditorCamera3 *) override
Definition: camera3.editor.cc:438
void on_scroll(EditorCamera3 *owner, int dx, int dy) override
Definition: camera3.editor.cc:360
void on_key(EditorCamera3 *owner, Key key, bool down) override
Definition: camera3.editor.cc:388
void on_camera_start(EditorCamera3 *owner) override
Definition: camera3.editor.cc:420
void on_mouse_move(EditorCamera3 *owner, int dx, int dy) override
Definition: camera3.editor.cc:350
CompiledCamera3 latest_camera
Definition: camera3.editor.cc:331
LerpCamera(EditorCamera3 *owner, const CameraFrame &ato, float atime)
Definition: camera3.editor.cc:465
void on_key(EditorCamera3 *owner, Key, bool) override
Definition: camera3.editor.cc:476
void update(EditorCamera3 *owner, bool, const vec2i &, const CompiledCamera3 &, const Viewport &, float dt) override
Definition: camera3.editor.cc:482
void on_camera_start(EditorCamera3 *) override
Definition: camera3.editor.cc:511
void on_camera_stop(EditorCamera3 *) override
Definition: camera3.editor.cc:512
void on_mouse_move(EditorCamera3 *, int, int) override
Definition: camera3.editor.cc:472
void on_scroll(EditorCamera3 *, int, int) override
Definition: camera3.editor.cc:510
MouseBehaviour get_mouse(const EditorCamera3 *) const override
Definition: camera3.editor.cc:514
void on_camera_stop(EditorCamera3 *owner) override
Definition: camera3.editor.cc:312
std::optional< OrbitData > orbit
Definition: camera3.editor.cc:132
CompiledCamera3 latest_camera
Definition: camera3.editor.cc:125
void update_data(EditorCamera3 *owner)
Definition: camera3.editor.cc:153
void on_camera_start(EditorCamera3 *) override
Definition: camera3.editor.cc:308
void update(EditorCamera3 *owner, bool shift_state, const vec2i &m, const CompiledCamera3 &cc, const Viewport &, float) override
Definition: camera3.editor.cc:276
void update_orbit(EditorCamera3 *owner)
Definition: camera3.editor.cc:201
void update_panning(EditorCamera3 *owner)
Definition: camera3.editor.cc:182
void on_mouse_move(EditorCamera3 *owner, int dx, int dy) override
Definition: camera3.editor.cc:243
MouseBehaviour get_mouse(const EditorCamera3 *) const override
Definition: camera3.editor.cc:317
void on_scroll(EditorCamera3 *owner, int dx, int dy) override
Definition: camera3.editor.cc:258
void update_camera(EditorCamera3 *owner)
Definition: camera3.editor.cc:220
OrbitCamera(const CameraFrame &start, const CompiledCamera3 &latest_c, const Viewport &latest_viewport, const vec2i &latest_mouse, bool latest_shift)
Definition: camera3.editor.cc:135
void on_key(EditorCamera3 *, Key, bool) override
Definition: camera3.editor.cc:271
vec3f get_far_point(const vec2i &p, const CompiledCamera3 &cc) const
Definition: camera3.editor.cc:232
Definition: camera3.editor.cc:91
OrbitData(std::optional< vec3f > collision, const CameraFrame &f)
Definition: camera3.editor.cc:98
Definition: camera3.editor.cc:86
std::optional< vec3f > collision
Definition: camera3.editor.cc:87
vec3f create_from_right_up_in(const vec3f &v) const
returns In*Z + Right*X + Up*Y
Definition: quat.cc:196