mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-23 04:30:09 -05:00
Merge branch 'master' into feature/loadingscreen-refactor
This commit is contained in:
@@ -47,7 +47,7 @@ using Optional = ghoul::Boolean;
|
||||
struct TestResult {
|
||||
/**
|
||||
* An Offense is a violation against a specific verifier. The Offense::offender is the
|
||||
* key that caused the offense (in the case of nested tables, it will be fully
|
||||
* key that caused the offense (in the case of nested tables, it will be fully
|
||||
* qualified identifier) and the Offense::Reason is the reason that caused the
|
||||
* offense.
|
||||
*/
|
||||
@@ -142,8 +142,8 @@ struct DocumentationEntry {
|
||||
|
||||
/**
|
||||
* The constructor for a DocumentationEntry describing a \p key in a Documentation.
|
||||
* The value for the key (or each value in the case of the
|
||||
* DocumentationEntry::Wildcard) is tested using the \p verifier, that specifies the
|
||||
* The value for the key (or each value in the case of the
|
||||
* DocumentationEntry::Wildcard) is tested using the \p verifier, that specifies the
|
||||
* conditions that the \p key%'s value has to fulfill. The textual documentation
|
||||
* \p doc shall describe the usage of the key-value pair and will be printed for human
|
||||
* consumption for example in the DocumentationEngine. Each DocumentationEntry can
|
||||
@@ -211,7 +211,7 @@ Documentation doc = {
|
||||
{ // A list of DocumentationEntry%s; also specified using initializer lists
|
||||
{ "key1", new IntVerifier, "Documentation key1", Optional::Yes },
|
||||
{ "key2", new FloatVerifier, "Documentation key2" },
|
||||
{ "key3", new StringVerifier }
|
||||
{ "key3", new StringVerifier }
|
||||
}
|
||||
};
|
||||
\endverbatim
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
DocumentationEngine();
|
||||
|
||||
/**
|
||||
* Adds the \p documentation to the list of Documentation%s that are written to a
|
||||
* Adds the \p documentation to the list of Documentation%s that are written to a
|
||||
* documentation file with the writeDocumentation method.
|
||||
* \param documentation The Documentation object that is to be stored for later use
|
||||
* \throws DuplicateDocumentationException If the \p documentation has a non-empty
|
||||
|
||||
@@ -33,10 +33,10 @@ namespace openspace {
|
||||
/*
|
||||
* This abstract class is used for instances when another class has the ability to
|
||||
* generate a Handlebar generated documentation file that contains valuable information
|
||||
* for the user. Instances of this are the DocumentationEngine results, the list of
|
||||
* for the user. Instances of this are the DocumentationEngine results, the list of
|
||||
* Property%s generated by the Scene, or the FactoryEngine results. The documentation is
|
||||
* generated through the writeDocumentation method.
|
||||
*
|
||||
*
|
||||
* The concrete subclass needs to overload the generateJson class that will return the
|
||||
* Json that is parsed by Handlebar to generate the webpage.
|
||||
*
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
* writeDocumentation method.
|
||||
* \param name The name of the written documentation
|
||||
* \param jsonName The variable name of the value generated by the generateJson
|
||||
* \param handlebarTemplates A list of Handlebar templates that is added to the
|
||||
* \param handlebarTemplates A list of Handlebar templates that is added to the
|
||||
* documentation file
|
||||
* \param javascriptFilename The path to a Javascript source file that is added to the
|
||||
* documentation and that can contain additional functionality
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
/**
|
||||
* Create the documentation into the provided filename. Any existing file will be
|
||||
* silently overwritten. This method will call the generateJson method that can be
|
||||
* used by concrete subclasses to provide the actual data that is provided in the
|
||||
* used by concrete subclasses to provide the actual data that is provided in the
|
||||
* documentation.
|
||||
* \param filename The filename in which the documentation is written
|
||||
*/
|
||||
|
||||
@@ -61,7 +61,7 @@ struct Verifier {
|
||||
* \post If the return values' TestResult::success is \c true, its
|
||||
* TestResult::offenders is empty
|
||||
*/
|
||||
virtual TestResult operator()(const ghoul::Dictionary& dictionary,
|
||||
virtual TestResult operator()(const ghoul::Dictionary& dictionary,
|
||||
const std::string& key) const = 0;
|
||||
|
||||
/**
|
||||
@@ -116,7 +116,7 @@ struct TemplateVerifier : public Verifier {
|
||||
};
|
||||
|
||||
/**
|
||||
* A Verifier that checks whether a given key inside a ghoul::Dictionary is of type
|
||||
* A Verifier that checks whether a given key inside a ghoul::Dictionary is of type
|
||||
* \c bool. No implicit conversion is considered in this testing.
|
||||
*/
|
||||
struct BoolVerifier : public TemplateVerifier<bool> {
|
||||
@@ -258,7 +258,7 @@ struct Vector4Verifier : public TemplateVerifier<glm::tvec4<T>>, public VectorVe
|
||||
};
|
||||
|
||||
/**
|
||||
* A Verifier that checks whether all values contained in a Table are of
|
||||
* A Verifier that checks whether all values contained in a Table are of
|
||||
* type <code>glm::tvec2<T></code>
|
||||
*/
|
||||
template <typename T>
|
||||
@@ -627,7 +627,7 @@ struct InListVerifier : public T {
|
||||
* Tests whether the \p key exists in the \p dictionary, whether it has the correct
|
||||
* type by invoking the template parameter \c T, and then tests if the \p key's value
|
||||
* is part of the list passed to the constructor.
|
||||
* \param dictionary The ghoul::Dictionary that contains the \p key
|
||||
* \param dictionary The ghoul::Dictionary that contains the \p key
|
||||
* \param key The key that is contained in the \p dictionary and whose value is tested
|
||||
* \return A TestResult containing the results of the specification testing. If the
|
||||
* \p key%'s value has the wrong type, it will be added to the TestResult's offense
|
||||
@@ -688,7 +688,7 @@ struct NotInListVerifier : public T {
|
||||
* This Verifier checks whether the incoming value is of the correct type, using the
|
||||
* Verifier passed as a template parameter \c T and then checks whether it is greater or
|
||||
* equal to a lower limit and less or equal to a higher limit. To the missing comparison
|
||||
* operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier,
|
||||
* operators, \c T cannot be a subclass of (or the same as) BoolVerifier, StringVerifier,
|
||||
* TableVerifier, or VectorVerifier. Both the lower and the higher limit are inclusive).
|
||||
*/
|
||||
template <typename T>
|
||||
@@ -890,7 +890,7 @@ struct ReferencingVerifier : public TableVerifier {
|
||||
|
||||
std::string documentation() const override;
|
||||
|
||||
/// The identifier that references another Documentation registered with the
|
||||
/// The identifier that references another Documentation registered with the
|
||||
/// DocumentationEngine
|
||||
std::string identifier;
|
||||
};
|
||||
@@ -900,7 +900,7 @@ struct ReferencingVerifier : public TableVerifier {
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* This Verifier takes two Verifiers and performs a boolean \c and operation on their
|
||||
* This Verifier takes two Verifiers and performs a boolean \c and operation on their
|
||||
* results. In essence, a value only passes this Verifier if it passes both Verifier%s
|
||||
* that are passed in the constructor. Opposed to the <code>C++</code> <code>&&</code>
|
||||
* operator, the AndVerifier does not perform any short-circut evaluation.
|
||||
|
||||
@@ -122,7 +122,7 @@ OperatorVerifier<T, Operator>::OperatorVerifier(typename T::Type val)
|
||||
|
||||
template <typename T, typename Operator>
|
||||
TestResult OperatorVerifier<T, Operator>::operator()(const ghoul::Dictionary& dict,
|
||||
const std::string& key) const
|
||||
const std::string& key) const
|
||||
{
|
||||
TestResult res = T::operator()(dict, key);
|
||||
if (res.success) {
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
* Registers the passed \p module with this ModuleEngine. The OpenSpaceModule::create
|
||||
* method will be called on the \p module in the process.
|
||||
* \param module The OpenSpaceModule that is to be registered
|
||||
* \throw ghoul::RuntimeError If the name of the \p module was already registered
|
||||
* \throw ghoul::RuntimeError If the name of the \p module was already registered
|
||||
* previously
|
||||
* \pre \p module must not be nullptr
|
||||
*/
|
||||
|
||||
@@ -88,6 +88,7 @@ public:
|
||||
void postSynchronizationPreDraw();
|
||||
void render(const glm::mat4& sceneMatrix, const glm::mat4& viewMatrix,
|
||||
const glm::mat4& projectionMatrix);
|
||||
void drawOverlays();
|
||||
void postDraw();
|
||||
void keyboardCallback(Key key, KeyModifier mod, KeyAction action);
|
||||
void charCallback(unsigned int codepoint, KeyModifier mod);
|
||||
@@ -135,6 +136,7 @@ public:
|
||||
PreSync, // Callback for the end of the pre-sync function
|
||||
PostSyncPreDraw, // Callback for the end of the post-sync-pre-draw function
|
||||
Render, // Callback for the end of the render function
|
||||
Draw2D, // Callback for the two-dimensional rendering functions
|
||||
PostDraw // Callback for the end of the post-draw function
|
||||
};
|
||||
|
||||
@@ -222,6 +224,7 @@ private:
|
||||
std::vector<std::function<void()>> preSync;
|
||||
std::vector<std::function<void()>> postSyncPreDraw;
|
||||
std::vector<std::function<void()>> render;
|
||||
std::vector<std::function<void()>> draw2D;
|
||||
std::vector<std::function<void()>> postDraw;
|
||||
|
||||
std::vector<std::function<bool (Key, KeyModifier, KeyAction)>> keyboard;
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
SyncEngine(unsigned int syncBufferSize);
|
||||
|
||||
/**
|
||||
* Encodes all added Syncables in the injected <code>SyncBuffer</code>.
|
||||
* Encodes all added Syncables in the injected <code>SyncBuffer</code>.
|
||||
* This method is only called on the SGCT master node
|
||||
*/
|
||||
void encodeSyncables();
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
void removeSyncables(const std::vector<Syncable*>& syncables);
|
||||
|
||||
private:
|
||||
/**
|
||||
/**
|
||||
* Vector of Syncables. The vectors ensures consistent encode/decode order
|
||||
*/
|
||||
std::vector<Syncable*> _syncables;
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
* is <code>1</code> if mouse button <code>i</code> is pressed down;
|
||||
* <code>false</code> otherwise. On default, this method returns that none of the
|
||||
* buttons is pressed.
|
||||
* \param maxNumber The maximum number of mouse buttons that should be queried
|
||||
* \param maxNumber The maximum number of mouse buttons that should be queried
|
||||
* \return A bitmask showing the status of all mouse buttons (up to \p maxNumber)
|
||||
*/
|
||||
virtual uint32_t mouseButtons(int maxNumber = 8) const;
|
||||
@@ -201,8 +201,9 @@ public:
|
||||
virtual bool isUsingSwapGroups() const;
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> if the current rendering window is master of the swap its group.
|
||||
*/
|
||||
* Returns <code>true</code> if the current rendering window is master of the swap its
|
||||
* group.
|
||||
*/
|
||||
virtual bool isSwapGroupMaster() const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
|
||||
static scripting::LuaLibrary luaLibrary();
|
||||
|
||||
// Callback functions
|
||||
// Callback functions
|
||||
void keyboardCallback(Key key, KeyModifier modifier, KeyAction action);
|
||||
|
||||
private:
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
/**
|
||||
* \param sensitivity
|
||||
* \param velocityScaleFactor can be set to 60 to remove the inertia of the
|
||||
* interaction. Lower value will make it harder to move the camera.
|
||||
* interaction. Lower value will make it harder to move the camera.
|
||||
*/
|
||||
MouseStates(double sensitivity, double velocityScaleFactor);
|
||||
void updateMouseStatesFromInput(const InputState& inputState, double deltaTime);
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
void setCamera(Camera* camera);
|
||||
void resetCameraDirection();
|
||||
|
||||
void setCameraStateFromDictionary(const ghoul::Dictionary& cameraDict);
|
||||
void setCameraStateFromDictionary(const ghoul::Dictionary& cameraDict);
|
||||
|
||||
void updateCamera(double deltaTime);
|
||||
|
||||
@@ -69,9 +69,9 @@ public:
|
||||
Camera* camera() const;
|
||||
const InputState& inputState() const;
|
||||
const OrbitalNavigator& orbitalNavigator() const;
|
||||
KeyframeNavigator& keyframeNavigator() const;
|
||||
KeyframeNavigator& keyframeNavigator() const;
|
||||
|
||||
// Callback functions
|
||||
// Callback functions
|
||||
void keyboardCallback(Key key, KeyModifier modifier, KeyAction action);
|
||||
void mouseButtonCallback(MouseButton button, MouseAction action);
|
||||
void mousePositionCallback(double x, double y);
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
void setFocusNode(SceneGraphNode* focusNode);
|
||||
void startInterpolateCameraDirection(const Camera& camera);
|
||||
|
||||
bool followingNodeRotation() const;
|
||||
bool followingNodeRotation() const;
|
||||
SceneGraphNode* focusNode() const;
|
||||
|
||||
bool hasRotationalFriction() const;
|
||||
@@ -99,7 +99,7 @@ private:
|
||||
* camera points towards the focus node in the direction opposite to the direction
|
||||
* out from the surface of the object. The local rotation defines the differential
|
||||
* from the global to the current total rotation so that
|
||||
* <code>cameraRotation = globalRotation * localRotation</code>.
|
||||
* <code>cameraRotation = globalRotation * localRotation</code>.
|
||||
*/
|
||||
CameraRotationDecomposition decomposeCameraRotation(const glm::dvec3& cameraPosition,
|
||||
const glm::dquat& cameraRotation, const glm::dvec3& cameraLookUp,
|
||||
@@ -139,7 +139,7 @@ private:
|
||||
|
||||
/*
|
||||
* Adds rotation to the camera position so that it follows the rotation of the focus
|
||||
* node defined by the differential focusNodeRotationDiff.
|
||||
* node defined by the differential focusNodeRotationDiff.
|
||||
* \returns a position updated with the rotation defined by focusNodeRotationDiff
|
||||
*/
|
||||
glm::dvec3 followFocusNodeRotation(const glm::dvec3& cameraPosition,
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace documentation { struct Documentation; }
|
||||
* Used to represent a named period of time within a mission. Allows nested phases, i.e.
|
||||
* phases within phases. Designed for WORM usage (Write Once, Read Multiple), and,
|
||||
* therefore, has only accessors.
|
||||
*
|
||||
*
|
||||
* Each MissionPhase is characterized by its MissionPhase::name, a TimeRange, an
|
||||
* optional MissionPhase::description, and optional subphases.
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace openspace {
|
||||
namespace scripting { struct LuaLibrary; }
|
||||
|
||||
/**
|
||||
* Singleton class keeping track of space missions.
|
||||
* Singleton class keeping track of space missions.
|
||||
*/
|
||||
class MissionManager : public ghoul::Singleton<MissionManager> {
|
||||
public:
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
|
||||
/**
|
||||
* Reads a mission from file and maps the mission name to the Mission object. If
|
||||
* this is the first mission to be loaded, the mission will also be set as the
|
||||
* this is the first mission to be loaded, the mission will also be set as the
|
||||
* current active mission.
|
||||
* \pre \p filename must not be empty
|
||||
* \pre \p filename must not contain tokens
|
||||
@@ -79,8 +79,8 @@ public:
|
||||
bool hasCurrentMission() const;
|
||||
|
||||
/**
|
||||
* Returns the latest mission specified to `setCurrentMission()`. If no mission has
|
||||
* been specified, the first mission loaded will be returned. If no mission has been
|
||||
* Returns the latest mission specified to `setCurrentMission()`. If no mission has
|
||||
* been specified, the first mission loaded will be returned. If no mission has been
|
||||
* loaded, a warning will be printed and a dummy mission will be returned.
|
||||
*/
|
||||
const Mission& currentMission();
|
||||
|
||||
@@ -94,7 +94,7 @@ struct CameraKeyframe {
|
||||
// Focus node
|
||||
int nodeNameLength;
|
||||
size = sizeof(int);
|
||||
memcpy(&nodeNameLength, buffer.data() + offset, size);
|
||||
memcpy(&nodeNameLength, buffer.data() + offset, size);
|
||||
offset += size;
|
||||
size = nodeNameLength;
|
||||
_focusNode = std::string(buffer.data() + offset, buffer.data() + offset + size);
|
||||
|
||||
@@ -231,7 +231,7 @@ const std::string NumericalProperty<T>::SteppingValueKey = "SteppingValue";
|
||||
|
||||
// Delegating constructors are necessary; automatic template deduction cannot
|
||||
// deduce template argument for 'U' if 'default' methods are used as default values in
|
||||
// a single constructor
|
||||
// a single constructor
|
||||
|
||||
template <typename T>
|
||||
NumericalProperty<T>::NumericalProperty(Property::PropertyInfo info)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
namespace openspace::properties {
|
||||
|
||||
/**
|
||||
* The OptionProperty is a property that provides a number of predefined (using the
|
||||
* The OptionProperty is a property that provides a number of predefined (using the
|
||||
* addOption method) options consisting of a <code>description</code> and a
|
||||
* <code>value</code>. The available options can be queried using the options method.
|
||||
* Only values representing valid options can be used to set this property, or an error
|
||||
@@ -119,7 +119,7 @@ public:
|
||||
|
||||
/**
|
||||
* Get the description of the option that matches <code>value</code>
|
||||
* \param value The value of the option
|
||||
* \param value The value of the option
|
||||
*/
|
||||
std::string getDescriptionByValue(int value);
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
Visibility visibility = Visibility::All;
|
||||
};
|
||||
|
||||
/// An OnChangeHandle is returned by the onChange method to uniquely identify an
|
||||
/// An OnChangeHandle is returned by the onChange method to uniquely identify an
|
||||
/// onChange callback
|
||||
using OnChangeHandle = uint32_t;
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
* to be accessed by the GUI elements using the <code>guiName</code> key. The default
|
||||
* visibility settings is Visibility::All, whereas the default read-only state is
|
||||
* <code>false</code>.
|
||||
* \param info The PropertyInfo structure that contains all the required static
|
||||
* \param info The PropertyInfo structure that contains all the required static
|
||||
* information for initializing this Property.
|
||||
* \pre \p info.identifier must not be empty
|
||||
* \pre \p info.guiName must not be empty
|
||||
@@ -399,7 +399,7 @@ protected:
|
||||
* <code>generateAdditionalDescription()}</code>, which #generateMetaDataDescription
|
||||
* and this method being the override points to customize the behavior.
|
||||
* \return The information specific to each subclass of Property
|
||||
*/
|
||||
*/
|
||||
virtual std::string generateAdditionalDescription() const;
|
||||
|
||||
/**
|
||||
@@ -409,7 +409,7 @@ protected:
|
||||
void notifyListener();
|
||||
|
||||
/// The PropetyOwner this Property belongs to, or <code>nullptr</code>
|
||||
PropertyOwner* _owner;
|
||||
PropertyOwner* _owner;
|
||||
|
||||
/// The identifier for this Property
|
||||
std::string _identifier;
|
||||
|
||||
@@ -39,7 +39,7 @@ class Property;
|
||||
* sub-owners must be unique to this PropertyOwner. A Property cannot have the same name
|
||||
* as a PropertyOwner owned by this PropertyOwner.
|
||||
* Propertys can be added using the Property::addProperty methods and be removed by the
|
||||
* Property::removeProperty method. The same holds true for sub-owners
|
||||
* Property::removeProperty method. The same holds true for sub-owners
|
||||
* (Property::addPropertySubOwner, Property::removePropertySubOwner). These methods will
|
||||
* inform the passed object about the new ownership automatically.
|
||||
* Stored properties can be accessed using the Property::properties method or the
|
||||
@@ -231,7 +231,7 @@ public:
|
||||
void addTag(std::string tag);
|
||||
|
||||
/**
|
||||
* Removes a tag from this PropertyOwner. No error is reported if the tag does not
|
||||
* Removes a tag from this PropertyOwner. No error is reported if the tag does not
|
||||
* exist
|
||||
* @param tag The tag is that is to be removed from this PropertyOwner
|
||||
*/
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file boolproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class BoolProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file charproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class CharProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file doubleproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class DoubleProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file floatproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class FloatProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file intproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class IntProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file longdoubleproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class LongDoubleProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file longlongproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class LongLongProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file longproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class LongProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file shortproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class ShortProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file signedcharproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class SignedCharProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file ucharproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class UCharProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file uintproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class UIntProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file ulonglongproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class ULongLongProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file ulongproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class ULongProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file ushortproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class UShortProperty
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/**
|
||||
* \file wcharproperty.h
|
||||
*
|
||||
* \addtogroup openspace
|
||||
* \addtogroup openspace
|
||||
* @{
|
||||
* \addtogroup properties
|
||||
* \addtogroup properties
|
||||
* @{
|
||||
|
||||
* \class WCharProperty
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
/**
|
||||
* Accepts only the <code>LUA_TNIL</code> type and will notify all the listeners
|
||||
* that the event has been triggered.
|
||||
* \param state The unused Lua state
|
||||
* \param state The unused Lua state
|
||||
* \return Returns always <code>true</code>
|
||||
*/
|
||||
bool setLuaValue(lua_State* state) override;
|
||||
|
||||
@@ -109,7 +109,7 @@ private:
|
||||
* The _volumes map keeps track of which volumes that can
|
||||
* be rendered using the current resolve program, along with their raycast data
|
||||
* (id, namespace, etc)
|
||||
*/
|
||||
*/
|
||||
std::map<VolumeRaycaster*, RaycastData> _raycastData;
|
||||
std::map<VolumeRaycaster*, std::unique_ptr<ghoul::opengl::ProgramObject>> _boundsPrograms;
|
||||
std::vector<std::string> _helperPaths;
|
||||
|
||||
@@ -42,7 +42,7 @@ struct UpdateData;
|
||||
struct RendererTasks;
|
||||
struct SurfacePositionHandle;
|
||||
|
||||
namespace documentation { struct Documentation; }
|
||||
namespace documentation { struct Documentation; }
|
||||
|
||||
// Forward declare to minimize dependencies
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace documentation { struct Documentation; }
|
||||
|
||||
/**
|
||||
* The base class for screen space images and screen space framebuffers.
|
||||
* This base class handles general functionality specific to planes that are rendered in
|
||||
* This base class handles general functionality specific to planes that are rendered in
|
||||
* front of the camera. It implements protected methods and properties for converting
|
||||
* the planes from Spherical to Euclidean coordinates and back. It also specifies the
|
||||
* interface that its children need to implement.
|
||||
@@ -82,7 +82,7 @@ protected:
|
||||
* Converts Spherical coordinates to Euclidean.
|
||||
* \param spherical The coordinates theta and phi
|
||||
* \param radius The radius position value of the plane
|
||||
* \return The x and y position value of the plane
|
||||
* \return The x and y position value of the plane
|
||||
*/
|
||||
glm::vec2 toEuclidean(const glm::vec2& spherical, float radius);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
Volume() {};
|
||||
Volume() {};
|
||||
|
||||
/**
|
||||
* Destructor
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
*
|
||||
* The shader preprocessor will have acceess to
|
||||
* A #{namespace} variable (unique per helper file)
|
||||
*
|
||||
*
|
||||
* Should define the function:
|
||||
* vec4 getVertex()
|
||||
*/
|
||||
@@ -84,14 +84,14 @@ public:
|
||||
|
||||
/*
|
||||
* Return a path to a file with the functions, uniforms and fragment shader in variables
|
||||
* required to generate the fragment color and depth.
|
||||
* required to generate the fragment color and depth.
|
||||
*
|
||||
* Should define the function:
|
||||
* Fragment getFragment()
|
||||
*
|
||||
*
|
||||
* The shader preprocessor will have acceess to
|
||||
* A #{namespace} variable (unique per helper file)
|
||||
*/
|
||||
*/
|
||||
//virtual std::string getBoundsFsPath() = 0;
|
||||
|
||||
/**
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
* This file will be included once per shader program generated,
|
||||
* regardless of how many volumes say they require the file.
|
||||
* Ideal to avoid redefinitions of helper functions.
|
||||
*
|
||||
*
|
||||
* The shader preprocessor will have access to the #{namespace} variable (unique per helper file)
|
||||
* which should be a prefix to all symbols defined by the helper
|
||||
*/
|
||||
|
||||
@@ -84,14 +84,14 @@ public:
|
||||
|
||||
/*
|
||||
* Return a path to a file with the functions, uniforms and fragment shader in variables
|
||||
* required to generate the fragment color and depth.
|
||||
* required to generate the fragment color and depth.
|
||||
*
|
||||
* Should define the function:
|
||||
* Fragment getFragment()
|
||||
*
|
||||
*
|
||||
* The shader preprocessor will have acceess to
|
||||
* A #{namespace} variable (unique per helper file)
|
||||
*/
|
||||
*/
|
||||
virtual std::string getBoundsFsPath() const = 0 ;
|
||||
|
||||
/**
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
* This file will be included once per shader program generated,
|
||||
* regardless of how many volumes say they require the file.
|
||||
* Ideal to avoid redefinitions of helper functions.
|
||||
*
|
||||
*
|
||||
* The shader preprocessor will have access to the #{namespace} variable (unique per helper file)
|
||||
* which should be a prefix to all symbols defined by the helper
|
||||
*/
|
||||
@@ -125,4 +125,4 @@ public:
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
#endif // __OPENSPACE_CORE___VOLUMERAYCASTER___H__
|
||||
#endif // __OPENSPACE_CORE___VOLUMERAYCASTER___H__
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace openspace::documentation { struct Documentation; }
|
||||
namespace openspace::scripting {
|
||||
|
||||
/**
|
||||
* Maintains an ordered list of <code>ScheduledScript</code>s and provides a simple
|
||||
* Maintains an ordered list of <code>ScheduledScript</code>s and provides a simple
|
||||
* interface for retrieveing scheduled scripts
|
||||
*/
|
||||
class ScriptScheduler {
|
||||
@@ -72,8 +72,8 @@ public:
|
||||
void clearSchedule();
|
||||
|
||||
/**
|
||||
* Progresses the script schedulers time and returns all scripts that has been
|
||||
* scheduled to run between \param newTime and the time provided in the last invocation
|
||||
* Progresses the script schedulers time and returns all scripts that has been
|
||||
* scheduled to run between \param newTime and the time provided in the last invocation
|
||||
* of this method.
|
||||
*
|
||||
* \param newTime A j2000 time value specifying the new time stamp that
|
||||
@@ -96,7 +96,7 @@ public:
|
||||
> progressTo(double newTime);
|
||||
|
||||
/**
|
||||
* Returns the the j2000 time value that the script scheduler is currently at
|
||||
* Returns the the j2000 time value that the script scheduler is currently at
|
||||
*/
|
||||
double currentTime() const;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ struct Job {
|
||||
virtual std::shared_ptr<P> product() = 0;
|
||||
};
|
||||
|
||||
/*
|
||||
/*
|
||||
* Templated Concurrent Job Manager
|
||||
* This class is used execute specific jobs on one (1) parallell thread
|
||||
*/
|
||||
|
||||
@@ -41,7 +41,7 @@ class UniformLocation {
|
||||
public:
|
||||
|
||||
/**
|
||||
* Updates the uniform location of the uniform variable named <name>
|
||||
* Updates the uniform location of the uniform variable named <name>
|
||||
* in the provided shader program.
|
||||
*/
|
||||
void bind(ghoul::opengl::ProgramObject* program, const std::string& name);
|
||||
@@ -53,7 +53,7 @@ protected:
|
||||
|
||||
/**
|
||||
* Manages a GPU representation of the templated data type T.
|
||||
* This class provides a simple interface setting the value of
|
||||
* This class provides a simple interface setting the value of
|
||||
* the binded GLSL variable.
|
||||
*/
|
||||
template<typename T>
|
||||
@@ -71,13 +71,13 @@ public:
|
||||
|
||||
/**
|
||||
* Manages a Texture on the GPU.
|
||||
* This class provides a simple interface binding texture to the
|
||||
* This class provides a simple interface binding texture to the
|
||||
* named uniform.
|
||||
*/
|
||||
class GPUTexture : public UniformLocation{
|
||||
public:
|
||||
/**
|
||||
* Sets and assignes a texture unit within the provided shader
|
||||
* Sets and assignes a texture unit within the provided shader
|
||||
* program.
|
||||
* OBS! Users must ensure bind has been called before using this method.
|
||||
*/
|
||||
|
||||
@@ -49,10 +49,10 @@ public:
|
||||
* Enter value into the histogram. The add method takes the given
|
||||
* value, works out which bin this corresponds to, and increments
|
||||
* this bin by 'repeat'.
|
||||
*
|
||||
*
|
||||
* @param value The Value to insert into the histogram
|
||||
* @param repeat How many times you want to insert it
|
||||
*
|
||||
*
|
||||
* @return Returns true if succesful insertion, otherwise return false
|
||||
*/
|
||||
bool add(float value, float repeat = 1.0f);
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace documentation { struct Documentation; }
|
||||
class OpenSpaceModule : public properties::PropertyOwner {
|
||||
public:
|
||||
/**
|
||||
* Constructs the OpenSpaceModule with a specific \p name. The uniqueness of the
|
||||
* Constructs the OpenSpaceModule with a specific \p name. The uniqueness of the
|
||||
* \p name will be checked at a later stage.
|
||||
* \param name The name of this OpenSpace module
|
||||
* \pre \p name must not be empty
|
||||
|
||||
@@ -630,7 +630,7 @@ public:
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the state vector (position and velocity) of a \p target body relative to an
|
||||
* Returns the state vector (position and velocity) of a \p target body relative to an
|
||||
* \p observer in a specific \p referenceFrame, optionally corrected for aberration
|
||||
* (\p aberrationCorrection).
|
||||
* \param target The target body name or the target body's NAIF ID
|
||||
@@ -660,7 +660,7 @@ public:
|
||||
const std::string& observer, const std::string& referenceFrame,
|
||||
AberrationCorrection aberrationCorrection, double ephemerisTime) const;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Returns the state transformation matrix used to convert from the \p sourceFrame to
|
||||
* the \p destinationFrame at a specific \p ephemerisTime.
|
||||
* \param sourceFrame The name of the source reference frame
|
||||
@@ -824,7 +824,7 @@ public:
|
||||
bool addFrame(std::string body, std::string frame);
|
||||
|
||||
/**
|
||||
* This function returns the frame of a body if defined, otherwise it returns
|
||||
* This function returns the frame of a body if defined, otherwise it returns
|
||||
* IAU_ + body (most frames are known by the International Astronomical Union)
|
||||
* \param body - the name of the body
|
||||
* \return the frame of the body
|
||||
@@ -833,7 +833,7 @@ public:
|
||||
std::string frameFromBody(const std::string& body) const;
|
||||
|
||||
/**
|
||||
* Sets the SpiceManager's exception handling. If UseException::No is passed to this
|
||||
* Sets the SpiceManager's exception handling. If UseException::No is passed to this
|
||||
* function, all subsequent calls will not throw an error, but fail silently instead.
|
||||
* If set to UseException::Yes, a SpiceException is thrown whenever an error occurs.
|
||||
* \param useException The new exeception handling method that the SpiceManager should
|
||||
|
||||
@@ -53,13 +53,13 @@ protected:
|
||||
};
|
||||
|
||||
/**
|
||||
* A double buffered implementation of the Syncable interface.
|
||||
* Users are encouraged to used this class as a default way to synchronize different
|
||||
* A double buffered implementation of the Syncable interface.
|
||||
* Users are encouraged to used this class as a default way to synchronize different
|
||||
* C++ data types using the <code>SyncEngine</code>
|
||||
*
|
||||
* This class aims to handle the synchronization parts and yet act like a regular
|
||||
* instance of T. Implicit casts are supported, however, when accessing member functions or
|
||||
* or variables, user may have to do explicit casts.
|
||||
* This class aims to handle the synchronization parts and yet act like a regular
|
||||
* instance of T. Implicit casts are supported, however, when accessing member functions
|
||||
* or variables, user may have to do explicit casts.
|
||||
*
|
||||
* ((T&) t).method();
|
||||
*
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
SyncData() {};
|
||||
SyncData(const T& val) : data(val) {};
|
||||
SyncData(const SyncData<T>& o) : data(o.data) {
|
||||
// Should not have to be copied!
|
||||
// Should not have to be copied!
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace openspace {
|
||||
class ThreadPool;
|
||||
|
||||
class Worker {
|
||||
public:
|
||||
public:
|
||||
Worker(ThreadPool& pool);
|
||||
void operator()();
|
||||
private:
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace openspace {
|
||||
/**
|
||||
* This singleton class represents the current simulation time in OpenSpace. It
|
||||
* internally stores the time and provides methods to set the time directly
|
||||
* (setTime(double), setTime(std::string)) using a <code>double</code> value using the
|
||||
* (setTime(double), setTime(std::string)) using a <code>double</code> value using the
|
||||
* number of seconds passed since the J2000 epoch or a <code>string</code> that denotes
|
||||
* a valid date string in accordance to the Spice library
|
||||
* (http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/str2et_c.html). The time can
|
||||
@@ -47,12 +47,12 @@ namespace openspace {
|
||||
* the number of seconds that pass for each real-time second. This value is set with
|
||||
* setDeltaTime(double), retrieved with deltaTime() and solely used in the
|
||||
* advanceTime(double), which takes a <code>tickTime</code> parameter. The value of the
|
||||
* parameter is dependent on the usage of the class and must be equal to the real-world
|
||||
* parameter is dependent on the usage of the class and must be equal to the real-world
|
||||
* time that has passed since the last call to the method. For example, if the
|
||||
* advanceTime(double) method is called each frame, the <code>tickTime</code> has to be
|
||||
* equal to the frame time.
|
||||
*
|
||||
* The synchronization of the simulation time requires
|
||||
* The synchronization of the simulation time requires
|
||||
*/
|
||||
class Time {
|
||||
public:
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
double deltaTime() const;
|
||||
|
||||
/**
|
||||
* Sets the pause function, i.e. setting the deltaTime to 0 (<code>pause</code> =
|
||||
* Sets the pause function, i.e. setting the deltaTime to 0 (<code>pause</code> =
|
||||
* <code>true</code>) and restoring it when the function is called with a parameter of
|
||||
* <code>false</code>.
|
||||
* \param pause If <code>true</code>, the simulation time stops;
|
||||
|
||||
@@ -38,7 +38,7 @@ struct TimeRange {
|
||||
TimeRange();
|
||||
|
||||
/**
|
||||
* Initializes a TimeRange with both start and end time. Initializing empty timeranges
|
||||
* Initializes a TimeRange with both start and end time. Initializing empty timeranges
|
||||
* is OK.
|
||||
*/
|
||||
TimeRange(double startTime, double endTime);
|
||||
|
||||
Reference in New Issue
Block a user