mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-26 14:58:51 -06:00
Update field of view when scale of target is changed
This commit is contained in:
@@ -36,6 +36,7 @@ namespace openspace {
|
||||
|
||||
// Setters
|
||||
void setScaleFromVfov(float verticalFov);
|
||||
void setFovFromScale();
|
||||
void setDimensions(glm::vec2 dimensions);
|
||||
void setColor(glm::ivec3 color);
|
||||
void setOpacity(float opacity);
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace openspace {
|
||||
skybrowser::ScreenSpaceZ };
|
||||
|
||||
_cartesianPosition.setValue(startPos);
|
||||
|
||||
}
|
||||
|
||||
ScreenSpaceSkyTarget::~ScreenSpaceSkyTarget() {
|
||||
@@ -258,6 +259,12 @@ namespace openspace {
|
||||
_scale = std::max(heightRatio, smallestHeightRatio);
|
||||
}
|
||||
|
||||
void ScreenSpaceSkyTarget::setFovFromScale()
|
||||
{
|
||||
glm::dvec2 fovs = skybrowser::fovWindow();
|
||||
_verticalFov = _scale * fovs.y;
|
||||
}
|
||||
|
||||
bool ScreenSpaceSkyTarget::isLocked() const {
|
||||
return _isLocked;
|
||||
}
|
||||
@@ -357,5 +364,9 @@ namespace openspace {
|
||||
_enabled.onChange([this]() {
|
||||
_browser->setEnabled(_enabled);
|
||||
});
|
||||
_scale.onChange([&]() {
|
||||
setFovFromScale();
|
||||
_browser->setVerticalFov(_verticalFov);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user