Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
OpenSpace
Commits
90e0364c
Commit
90e0364c
authored
8 years ago
by
Alexander Bock
Browse files
Options
Download
Email Patches
Plain Diff
Revert to using ghoul::any due to lack of support on macOS
parent
096e751d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
include/openspace/properties/numericalproperty.inl
+1
-1
include/openspace/properties/numericalproperty.inl
include/openspace/properties/property.h
+4
-4
include/openspace/properties/property.h
include/openspace/properties/templateproperty.h
+6
-6
include/openspace/properties/templateproperty.h
include/openspace/properties/templateproperty.inl
+6
-6
include/openspace/properties/templateproperty.inl
include/openspace/properties/triggerproperty.h
+1
-1
include/openspace/properties/triggerproperty.h
modules/newhorizons/rendering/renderableplanetprojection.cpp
+4
-4
modules/newhorizons/rendering/renderableplanetprojection.cpp
src/properties/property.cpp
+3
-3
src/properties/property.cpp
src/properties/triggerproperty.cpp
+1
-1
src/properties/triggerproperty.cpp
with
26 additions
and
26 deletions
+26
-26
include/openspace/properties/numericalproperty.inl
+
1
-
1
View file @
90e0364c
...
@@ -327,7 +327,7 @@ bool NumericalProperty<T>::setStringValue(std::string value) {
...
@@ -327,7 +327,7 @@ bool NumericalProperty<T>::setStringValue(std::string value) {
value, success
value, success
);
);
if (success)
if (success)
TemplateProperty<T>::set(
std
::any(std::move(thisValue)));
TemplateProperty<T>::set(
ghoul
::any(std::move(thisValue)));
return success;
return success;
}
}
...
...
This diff is collapsed.
Click to expand it.
include/openspace/properties/property.h
+
4
-
4
View file @
90e0364c
...
@@ -114,11 +114,11 @@ public:
...
@@ -114,11 +114,11 @@ public:
/**
/**
* This method returns the encapsulated value of the Property to the caller. The type
* This method returns the encapsulated value of the Property to the caller. The type
* that is returned is determined by the type function and is up to the developer of
* that is returned is determined by the type function and is up to the developer of
* the derived class. The default implementation returns an empty
std
::any object.
* the derived class. The default implementation returns an empty
ghoul
::any object.
* \return The value that is encapsulated by this Property, or an empty
std
::any
* \return The value that is encapsulated by this Property, or an empty
ghoul
::any
* object if the method was not overritten.
* object if the method was not overritten.
*/
*/
virtual
std
::
any
get
()
const
;
virtual
ghoul
::
any
get
()
const
;
/**
/**
* Sets the value encapsulated by this Property to the <code>value</code> passed to
* Sets the value encapsulated by this Property to the <code>value</code> passed to
...
@@ -128,7 +128,7 @@ public:
...
@@ -128,7 +128,7 @@ public:
* implementation of this method ignores the input.
* implementation of this method ignores the input.
* \param value The new value that should be stored in this Property
* \param value The new value that should be stored in this Property
*/
*/
virtual
void
set
(
std
::
any
value
);
virtual
void
set
(
ghoul
::
any
value
);
/**
/**
* This method returns the type that is requested by this Property for the set method.
* This method returns the type that is requested by this Property for the set method.
...
...
This diff is collapsed.
Click to expand it.
include/openspace/properties/templateproperty.h
+
6
-
6
View file @
90e0364c
...
@@ -84,21 +84,21 @@ public:
...
@@ -84,21 +84,21 @@ public:
virtual
std
::
string
className
()
const
override
;
virtual
std
::
string
className
()
const
override
;
/**
/**
* Returns the stored value packed into a
std
::any object.
* Returns the stored value packed into a
ghoul
::any object.
* \return The stored value packed into a
std
::any object
* \return The stored value packed into a
ghoul
::any object
*/
*/
virtual
std
::
any
get
()
const
override
;
virtual
ghoul
::
any
get
()
const
override
;
/**
/**
* Sets the value from the provided
std
::any object. If the types between
* Sets the value from the provided
ghoul
::any object. If the types between
* <code>T</code> and <code>value</code> disagree, an error is logged and the stored
* <code>T</code> and <code>value</code> disagree, an error is logged and the stored
* value remains unchanged.
* value remains unchanged.
*/
*/
virtual
void
set
(
std
::
any
value
)
override
;
virtual
void
set
(
ghoul
::
any
value
)
override
;
/**
/**
* Returns the <code>std::type_info</code> describing the template parameter
* Returns the <code>std::type_info</code> describing the template parameter
* <code>T</code>. It can be used to test against a
std
::any value before trying to
* <code>T</code>. It can be used to test against a
ghoul
::any value before trying to
* assign it.
* assign it.
* \return The type info object describing the template parameter <code>T</code>
* \return The type info object describing the template parameter <code>T</code>
*/
*/
...
...
This diff is collapsed.
Click to expand it.
include/openspace/properties/templateproperty.inl
+
6
-
6
View file @
90e0364c
...
@@ -213,14 +213,14 @@ std::ostream& operator<<(std::ostream& os, const TemplateProperty<T>& obj) {
...
@@ -213,14 +213,14 @@ std::ostream& operator<<(std::ostream& os, const TemplateProperty<T>& obj) {
}
}
template <typename T>
template <typename T>
std
::any TemplateProperty<T>::get() const {
ghoul
::any TemplateProperty<T>::get() const {
return
std
::any(_value);
return
ghoul
::any(_value);
}
}
template <typename T>
template <typename T>
void TemplateProperty<T>::set(
std
::any value) {
void TemplateProperty<T>::set(
ghoul
::any value) {
try {
try {
T v =
std
::any_cast<T>(std::move(value));
T v =
ghoul
::any_cast<T>(std::move(value));
if (v != _value) {
if (v != _value) {
_value = std::move(v);
_value = std::move(v);
notifyListener();
notifyListener();
...
@@ -254,7 +254,7 @@ bool TemplateProperty<T>::setLuaValue(lua_State* state) {
...
@@ -254,7 +254,7 @@ bool TemplateProperty<T>::setLuaValue(lua_State* state) {
success
success
);
);
if (success) {
if (success) {
set(
std
::any(thisValue));
set(
ghoul
::any(thisValue));
}
}
return success;
return success;
}
}
...
@@ -281,7 +281,7 @@ bool TemplateProperty<T>::setStringValue(std::string value) {
...
@@ -281,7 +281,7 @@ bool TemplateProperty<T>::setStringValue(std::string value) {
success
success
);
);
if (success) {
if (success) {
set(
std
::any(thisValue));
set(
ghoul
::any(thisValue));
}
}
return success;
return success;
}
}
...
...
This diff is collapsed.
Click to expand it.
include/openspace/properties/triggerproperty.h
+
1
-
1
View file @
90e0364c
...
@@ -63,7 +63,7 @@ public:
...
@@ -63,7 +63,7 @@ public:
* listeners regardless of the value
* listeners regardless of the value
* \param value The ignored value
* \param value The ignored value
*/
*/
void
set
(
std
::
any
value
);
void
set
(
ghoul
::
any
value
);
};
};
}
// namespace openspace::properties
}
// namespace openspace::properties
...
...
This diff is collapsed.
Click to expand it.
modules/newhorizons/rendering/renderableplanetprojection.cpp
+
4
-
4
View file @
90e0364c
...
@@ -279,16 +279,16 @@ void RenderablePlanetProjection::imageProjectGPU(
...
@@ -279,16 +279,16 @@ void RenderablePlanetProjection::imageProjectGPU(
_fboProgramObject
->
setUniform
(
"boresight"
,
_boresight
);
_fboProgramObject
->
setUniform
(
"boresight"
,
_boresight
);
if
(
_geometry
->
hasProperty
(
"radius"
)){
if
(
_geometry
->
hasProperty
(
"radius"
)){
std
::
any
r
=
_geometry
->
property
(
"radius"
)
->
get
();
ghoul
::
any
r
=
_geometry
->
property
(
"radius"
)
->
get
();
if
(
glm
::
vec3
*
radius
=
std
::
any_cast
<
glm
::
vec3
>
(
&
r
)){
if
(
glm
::
vec3
*
radius
=
ghoul
::
any_cast
<
glm
::
vec3
>
(
&
r
)){
_fboProgramObject
->
setUniform
(
"_radius"
,
radius
);
_fboProgramObject
->
setUniform
(
"_radius"
,
radius
);
}
}
}
else
{
}
else
{
LERROR
(
"Geometry object needs to provide radius"
);
LERROR
(
"Geometry object needs to provide radius"
);
}
}
if
(
_geometry
->
hasProperty
(
"segments"
)){
if
(
_geometry
->
hasProperty
(
"segments"
)){
std
::
any
s
=
_geometry
->
property
(
"segments"
)
->
get
();
ghoul
::
any
s
=
_geometry
->
property
(
"segments"
)
->
get
();
if
(
int
*
segments
=
std
::
any_cast
<
int
>
(
&
s
)){
if
(
int
*
segments
=
ghoul
::
any_cast
<
int
>
(
&
s
)){
_fboProgramObject
->
setUniform
(
"_segments"
,
segments
[
0
]);
_fboProgramObject
->
setUniform
(
"_segments"
,
segments
[
0
]);
}
}
}
else
{
}
else
{
...
...
This diff is collapsed.
Click to expand it.
src/properties/property.cpp
+
3
-
3
View file @
90e0364c
...
@@ -81,15 +81,15 @@ std::string Property::fullyQualifiedIdentifier() const {
...
@@ -81,15 +81,15 @@ std::string Property::fullyQualifiedIdentifier() const {
return
identifier
;
return
identifier
;
}
}
std
::
any
Property
::
get
()
const
{
ghoul
::
any
Property
::
get
()
const
{
return
std
::
any
();
return
ghoul
::
any
();
}
}
bool
Property
::
getLuaValue
(
lua_State
*
)
const
{
bool
Property
::
getLuaValue
(
lua_State
*
)
const
{
return
false
;
return
false
;
}
}
void
Property
::
set
(
std
::
any
)
{}
void
Property
::
set
(
ghoul
::
any
)
{}
bool
Property
::
setLuaValue
(
lua_State
*
)
{
bool
Property
::
setLuaValue
(
lua_State
*
)
{
return
false
;
return
false
;
...
...
This diff is collapsed.
Click to expand it.
src/properties/triggerproperty.cpp
+
1
-
1
View file @
90e0364c
...
@@ -40,7 +40,7 @@ bool TriggerProperty::setLuaValue(lua_State*) {
...
@@ -40,7 +40,7 @@ bool TriggerProperty::setLuaValue(lua_State*) {
return
true
;
return
true
;
}
}
void
TriggerProperty
::
set
(
std
::
any
)
{
void
TriggerProperty
::
set
(
ghoul
::
any
)
{
notifyListener
();
notifyListener
();
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help