Adjust camera position if outside the max distance limit

This commit is contained in:
Malin E
2023-01-12 11:01:32 +01:00
parent 659dab821c
commit 8ed9d083cb
2 changed files with 56 additions and 10 deletions
@@ -112,7 +112,10 @@ public:
float retargetInterpolationTime() const;
void setRetargetInterpolationTime(float durationInSeconds);
void updatePreviousStateVariables();
void setMinimumAllowedDistance(double distance);
void setMinimumAllowedDistance(float distance);
void setMaximumAllowedDistance(double distance);
void setEnableZoomOutLimit(bool value);
JoystickCameraStates& joystickStates();
const JoystickCameraStates& joystickStates() const;
@@ -191,7 +194,7 @@ private:
LimitZoomOut();
properties::BoolProperty isEnabled;
properties::FloatProperty maximumAllowedDistance;
properties::DoubleProperty maximumAllowedDistance;
};
LimitZoomOut _limitZoomOut;
@@ -351,7 +354,8 @@ private:
*/
glm::dvec3 pushToSurface(double minHeightAboveGround,
const glm::dvec3& cameraPosition, const glm::dvec3& objectPosition,
const SurfacePositionHandle& positionHandle) const;
const SurfacePositionHandle& positionHandle,
std::optional<double> maxHeightAboveGround) const;
/**
* Interpolates between rotationDiff and a 0 rotation.