mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-23 12:39:24 -05:00
Merge branch 'master' into feature/model-opacity
* Solve conflict in iss.asset
This commit is contained in:
@@ -121,6 +121,8 @@ struct SpecificationError : public ghoul::RuntimeError {
|
||||
TestResult result;
|
||||
};
|
||||
|
||||
void logError(const SpecificationError& error, std::string component = "");
|
||||
|
||||
struct Verifier;
|
||||
|
||||
/**
|
||||
|
||||
@@ -129,9 +129,18 @@ public:
|
||||
bool hasZoomFriction() const;
|
||||
bool hasRollFriction() const;
|
||||
|
||||
double minAllowedDistance() const;
|
||||
|
||||
glm::dvec3 anchorNodeToCameraVector() const;
|
||||
glm::quat anchorNodeToCameraRotation() const;
|
||||
|
||||
/**
|
||||
* Compute a camera position that pushed the camera position to
|
||||
* a valid position over the anchor node, accounting for the
|
||||
* minimal allowed distance
|
||||
*/
|
||||
glm::dvec3 pushToSurfaceOfAnchor(const glm::dvec3& cameraPosition) const;
|
||||
|
||||
private:
|
||||
struct CameraRotationDecomposition {
|
||||
glm::dquat localRotation = glm::dquat(1.0, 0.0, 0.0, 0.0);
|
||||
@@ -328,11 +337,11 @@ private:
|
||||
/**
|
||||
* Push the camera out to the surface of the object.
|
||||
*
|
||||
* \return a position vector adjusted to be at least minHeightAboveGround meters
|
||||
* \return a position vector adjusted to be at least _minimumAllowedDistance meters
|
||||
* above the actual surface of the object
|
||||
*/
|
||||
glm::dvec3 pushToSurface(double minHeightAboveGround,
|
||||
const glm::dvec3& cameraPosition, const glm::dvec3& objectPosition,
|
||||
glm::dvec3 pushToSurface(const glm::dvec3& cameraPosition,
|
||||
const glm::dvec3& objectPosition,
|
||||
const SurfacePositionHandle& positionHandle) const;
|
||||
|
||||
/**
|
||||
@@ -351,7 +360,7 @@ private:
|
||||
* Calculates a SurfacePositionHandle given a camera position in world space.
|
||||
*/
|
||||
SurfacePositionHandle calculateSurfacePositionHandle(const SceneGraphNode& node,
|
||||
const glm::dvec3 cameraPositionWorldSpace);
|
||||
const glm::dvec3& cameraPositionWorldSpace) const;
|
||||
|
||||
void resetIdleBehavior();
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
virtual glm::vec2 size() const = 0;
|
||||
|
||||
protected:
|
||||
properties::BoolProperty _isEnabled;
|
||||
properties::BoolProperty _enabled;
|
||||
};
|
||||
|
||||
} // openspace
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <openspace/properties/stringproperty.h>
|
||||
#include <openspace/scene/scenegraphnode.h>
|
||||
#include <ghoul/misc/managedmemoryuniqueptr.h>
|
||||
#include <string_view>
|
||||
|
||||
namespace ghoul { class Dictionary; }
|
||||
namespace ghoul::opengl {
|
||||
@@ -80,6 +81,8 @@ public:
|
||||
double boundingSphere() const;
|
||||
double interactionSphere() const;
|
||||
|
||||
std::string_view typeAsString() const;
|
||||
|
||||
virtual void render(const RenderData& data, RendererTasks& rendererTask);
|
||||
virtual void update(const UpdateData& data);
|
||||
|
||||
|
||||
@@ -139,6 +139,8 @@ public:
|
||||
double reachFactor() const;
|
||||
double approachFactor() const;
|
||||
|
||||
bool supportsDirectInteraction() const;
|
||||
|
||||
SceneGraphNode* childNode(const std::string& identifier);
|
||||
|
||||
const Renderable* renderable() const;
|
||||
@@ -204,6 +206,7 @@ private:
|
||||
properties::DoubleProperty _distFromCamToNode;
|
||||
properties::DoubleProperty _screenSizeRadius;
|
||||
properties::FloatProperty _visibilityDistance;
|
||||
properties::BoolProperty _supportsDirectInteraction;
|
||||
|
||||
// This variable is used for the rate-limiting of the screenspace positions (if they
|
||||
// are calculated when _computeScreenSpaceValues is true)
|
||||
|
||||
Reference in New Issue
Block a user