Rename RenderCopy to DisplayCopy

This commit is contained in:
Ylva Selling
2022-05-04 13:00:25 -04:00
parent ce555ebacc
commit 28393a9523
6 changed files with 53 additions and 61 deletions

View File

@@ -59,17 +59,16 @@ public:
void updateTextureResolution();
// Copies rendered
void addRenderCopy(const glm::vec3& raePosition, int nCopies);
void removeRenderCopy();
std::vector<std::pair<std::string, glm::dvec3>> renderCopies() const;
std::vector<std::pair<std::string, bool>> showRenderCopies() const;
void moveRenderCopy(int i, glm::vec3 raePosition);
void addDisplayCopy(const glm::vec3& raePosition, int nCopies);
void removeDisplayCopy();
std::vector<std::pair<std::string, glm::dvec3>> displayCopies() const;
std::vector<std::pair<std::string, bool>> showDisplayCopies() const;
private:
properties::FloatProperty _textureQuality;
properties::BoolProperty _isHidden;
std::vector<std::unique_ptr<properties::Vec3Property>> _renderCopies;
std::vector<std::unique_ptr<properties::BoolProperty>> _showRenderCopies;
std::vector<std::unique_ptr<properties::Vec3Property>> _displayCopies;
std::vector<std::unique_ptr<properties::BoolProperty>> _showDisplayCopies;
void bindTexture() override;

View File

@@ -59,7 +59,7 @@ public:
// Browser
void sendIdToBrowser() const;
void updateBrowserSize();
std::vector<std::pair<std::string, glm::dvec3>> renderCopies() const;
std::vector<std::pair<std::string, glm::dvec3>> displayCopies() const;
bool isImageCollectionLoaded();
// Target

View File

@@ -524,9 +524,9 @@ scripting::LuaLibrary SkyBrowserModule::luaLibrary() const {
codegen::lua::SetVerticalFov,
codegen::lua::SetBorderColor,
codegen::lua::TranslateScreenSpaceRenderable,
codegen::lua::AddRenderCopy,
codegen::lua::AddDisplayCopy,
codegen::lua::SetBrowserRatio,
codegen::lua::RemoveRenderCopy,
codegen::lua::RemoveDisplayCopy,
codegen::lua::StartFinetuningTarget,
codegen::lua::FinetuneTargetPosition,
codegen::lua::ScrollOverBrowser,

View File

@@ -343,13 +343,13 @@ namespace {
target.setValue("dec", spherical.y);
target.setValue("roll", pair->targetRoll());
target.setValue("color", pair->borderColor());
std::vector<std::pair<std::string, glm::dvec3>> copies = pair->renderCopies();
std::vector<std::pair<std::string, glm::dvec3>> copies = pair->displayCopies();
ghoul::Dictionary copiesData;
for (size_t i = 0; i < copies.size(); i++) {
copiesData.setValue(copies[i].first, copies[i].second);
}
// Set table for the current target
target.setValue("renderCopies", copiesData);
target.setValue("displayCopies", copiesData);
data.setValue(id, target);
}
}
@@ -648,7 +648,7 @@ namespace {
* \param position Position of first copy, which depends on if RAE or Cartesian coordinates
* are checked
*/
[[codegen::luawrap]] void addRenderCopy(std::string identifier, int numberOfCopies = 1,
[[codegen::luawrap]] void addDisplayCopy(std::string identifier, int numberOfCopies = 1,
glm::vec3 position = glm::vec3(2.1f, 0.f, 0.f))
{
using namespace openspace;
@@ -656,7 +656,7 @@ namespace {
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
TargetBrowserPair* pair = module->getPair(identifier);
if (pair) {
pair->browser()->addRenderCopy(position, numberOfCopies);
pair->browser()->addDisplayCopy(position, numberOfCopies);
}
}
@@ -664,13 +664,13 @@ namespace {
* Takes an identifier to a sky browser and removes the latest added rendered copy to it.
* \param identifier Identifier of the sky browser
*/
[[codegen::luawrap]] void removeRenderCopy(std::string identifier) {
[[codegen::luawrap]] void removeDisplayCopy(std::string identifier) {
using namespace openspace;
SkyBrowserModule* module = global::moduleEngine->module<SkyBrowserModule>();
TargetBrowserPair* pair = module->getPair(identifier);
if (pair) {
pair->browser()->removeRenderCopy();
pair->browser()->removeDisplayCopy();
}
}

View File

@@ -48,18 +48,18 @@ namespace {
"frame rate."
};
constexpr const openspace::properties::Property::PropertyInfo RenderCopyInfo = {
"RenderCopy",
"Position of a Copy of the Sky Browser",
"Render a copy of this sky browser at an additional position. This copy will not "
constexpr const openspace::properties::Property::PropertyInfo DisplayCopyInfo = {
"DisplayCopy",
"Display Copy Position",
"Display a copy of this sky browser at an additional position. This copy will not "
"be interactive. The position is in RAE (Radius, Azimuth, Elevation) coordinates "
"or Cartesian, depending on if the browser uses RAE or Cartesian coordinates."
};
constexpr const openspace::properties::Property::PropertyInfo RenderCopyShowInfo = {
"ShowRenderCopy",
"Show Render Copy",
"Show the render copy."
constexpr const openspace::properties::Property::PropertyInfo DisplayCopyShowInfo = {
"ShowDisplayCopy",
"Show Display Copy",
"Show the display copy."
};
constexpr const openspace::properties::Property::PropertyInfo IsHiddenInfo = {
@@ -130,8 +130,8 @@ ScreenSpaceSkyBrowser::ScreenSpaceSkyBrowser(const ghoul::Dictionary& dictionary
_useRadiusAzimuthElevation.onChange(
[this]() {
std::for_each(
_renderCopies.begin(),
_renderCopies.end(),
_displayCopies.begin(),
_displayCopies.end(),
[this](std::unique_ptr<properties::Vec3Property>& copy) {
if (_useRadiusAzimuthElevation) {
*copy = sphericalToRae(cartesianToSpherical(copy->value()));
@@ -200,15 +200,15 @@ void ScreenSpaceSkyBrowser::updateTextureResolution() {
_objectSize = glm::ivec3(_texture->dimensions());
}
void ScreenSpaceSkyBrowser::addRenderCopy(const glm::vec3& raePosition, int nCopies) {
size_t start = _renderCopies.size();
void ScreenSpaceSkyBrowser::addDisplayCopy(const glm::vec3& raePosition, int nCopies) {
size_t start = _displayCopies.size();
for (int i = 0; i < nCopies; i++) {
openspace::properties::Property::PropertyInfo info = RenderCopyInfo;
openspace::properties::Property::PropertyInfo info = DisplayCopyInfo;
float azimuth = i * glm::two_pi<float>() / nCopies;
glm::vec3 position = raePosition + glm::vec3(0.f, azimuth, 0.f);
std::string idRenderCopy = "RenderCopy" + std::to_string(start + i);
info.identifier = idRenderCopy.c_str();
_renderCopies.push_back(
std::string idDisplayCopy = "DisplayCopy" + std::to_string(start + i);
info.identifier = idDisplayCopy.c_str();
_displayCopies.push_back(
std::make_unique<properties::Vec3Property>(
info,
position,
@@ -216,56 +216,49 @@ void ScreenSpaceSkyBrowser::addRenderCopy(const glm::vec3& raePosition, int nCop
glm::vec3(4.f, 4.f, glm::half_pi<float>())
)
);
openspace::properties::Property::PropertyInfo showInfo = RenderCopyShowInfo;
std::string idRenderCopyVisible = "ShowRenderCopy" + std::to_string(start + i);
showInfo.identifier = idRenderCopyVisible.c_str();
_showRenderCopies.push_back(
openspace::properties::Property::PropertyInfo showInfo = DisplayCopyShowInfo;
std::string idDisplayCopyVisible = "ShowDisplayCopy" + std::to_string(start + i);
showInfo.identifier = idDisplayCopyVisible.c_str();
_showDisplayCopies.push_back(
std::make_unique<properties::BoolProperty>(
showInfo,
true
)
);
addProperty(_renderCopies.back().get());
addProperty(_showRenderCopies.back().get());
addProperty(_displayCopies.back().get());
addProperty(_showDisplayCopies.back().get());
}
}
void ScreenSpaceSkyBrowser::removeRenderCopy() {
if (!_renderCopies.empty()) {
removeProperty(_renderCopies.back().get());
_renderCopies.pop_back();
void ScreenSpaceSkyBrowser::removeDisplayCopy() {
if (!_displayCopies.empty()) {
removeProperty(_displayCopies.back().get());
_displayCopies.pop_back();
}
}
std::vector<std::pair<std::string, glm::dvec3>>
ScreenSpaceSkyBrowser::renderCopies() const
ScreenSpaceSkyBrowser::displayCopies() const
{
std::vector<std::pair<std::string, glm::dvec3>> vec;
using vec3Property = std::unique_ptr<properties::Vec3Property>;
for (const vec3Property& copy : _renderCopies) {
for (const vec3Property& copy : _displayCopies) {
vec.push_back({ copy->identifier(), copy->value() });
}
return vec;
}
std::vector<std::pair<std::string, bool>>
ScreenSpaceSkyBrowser::showRenderCopies() const
ScreenSpaceSkyBrowser::showDisplayCopies() const
{
std::vector<std::pair<std::string, bool>> vec;
using boolProperty = std::unique_ptr<properties::BoolProperty>;
for (const boolProperty& copy : _showRenderCopies) {
for (const boolProperty& copy : _showDisplayCopies) {
vec.push_back({copy->identifier(), copy->value()});
}
return vec;
}
void ScreenSpaceSkyBrowser::moveRenderCopy(int i, glm::vec3 raePosition) {
if (i < static_cast<int>(_renderCopies.size()) && i >= 0) {
*_renderCopies[i].get() = raePosition;
}
}
bool ScreenSpaceSkyBrowser::deinitializeGL() {
ScreenSpaceRenderable::deinitializeGL();
WwtCommunicator::deinitializeGL();
@@ -285,9 +278,9 @@ void ScreenSpaceSkyBrowser::render() {
}
// Render the display copies
for (size_t i = 0; i < _renderCopies.size(); i++) {
if (_showRenderCopies[i]->value()) {
glm::vec3 coordinates = _renderCopies[i]->value();
for (size_t i = 0; i < _displayCopies.size(); i++) {
if (_showDisplayCopies[i]->value()) {
glm::vec3 coordinates = _displayCopies[i]->value();
if (_useRadiusAzimuthElevation) {
coordinates = sphericalToCartesian(raeToSpherical(coordinates));
}

View File

@@ -197,8 +197,8 @@ ghoul::Dictionary TargetBrowserPair::dataAsDictionary() const {
res.setValue("scale", static_cast<double>(_browser->scale()));
res.setValue("opacities", _browser->opacities());
std::vector<std::pair<std::string, glm::dvec3>> copies = renderCopies();
std::vector<std::pair<std::string, bool>> showCopies = _browser->showRenderCopies();
std::vector<std::pair<std::string, glm::dvec3>> copies = displayCopies();
std::vector<std::pair<std::string, bool>> showCopies = _browser->showDisplayCopies();
ghoul::Dictionary copiesData;
for (size_t i = 0; i < copies.size(); i++) {
ghoul::Dictionary copy;
@@ -208,7 +208,7 @@ ghoul::Dictionary TargetBrowserPair::dataAsDictionary() const {
copiesData.setValue(copies[i].first, copy);
}
// Set table for the current target
res.setValue("renderCopies", copiesData);
res.setValue("displayCopies", copiesData);
return res;
}
@@ -253,8 +253,8 @@ void TargetBrowserPair::updateBrowserSize() {
_browser->updateBrowserSize();
}
std::vector<std::pair<std::string, glm::dvec3>> TargetBrowserPair::renderCopies() const {
return _browser->renderCopies();
std::vector<std::pair<std::string, glm::dvec3>> TargetBrowserPair::displayCopies() const {
return _browser->displayCopies();
}
bool TargetBrowserPair::isImageCollectionLoaded() {