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
1818304d
Unverified
Commit
1818304d
authored
7 years ago
by
Alexander Bock
Committed by
GitHub
7 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Changes from std::string to const char* in PropertyInfo (#633)
parent
c9833197
master
content/2012EventProfile
elumenati/spout-implementation
elumenati/spoutImplementation
feature/2012Fieldlines
feature/WSA
feature/apollo-missions
feature/arrow-renderable
feature/asset-helper
feature/asset-meta-update-part2
feature/asset-require
feature/atmosphere-stars-rendering
feature/bufferTransferTestings
feature/camera-control-during-path
feature/camera-path-stability
feature/cef-update
feature/change-renderbin-runtime
feature/cmake
feature/codegen-lua
feature/codegen-lua-jenkins
feature/compile-times
feature/direction-hint-renderable
feature/downscaledATM
feature/du-meshes-selection
feature/fieldlines
feature/gamma-correction
feature/geojson
feature/geojson-renderable
feature/getting-started-tour
feature/grid-labels
feature/grids-update
feature/gui-mouseinteraction-fix
feature/horizons-framework
feature/horizons-unit-tests
feature/idle-behavior-updates
feature/imageTestKeys2Actions
feature/jenkins-codegen
feature/jenkins-fix
feature/jenkins-timeout
feature/juice
feature/jwst-pointing
feature/jwst-trail-update
feature/jwst-update
feature/labels-rendering
feature/location-measure
feature/macos
feature/mars-moons
feature/mas-model
feature/missions
feature/model-opacity
feature/molecule_rendering
feature/mollwide-projection
feature/multiple-endpoints
feature/orientation-check
feature/paper-atmosphere
feature/properties-visibility
feature/renderable-enabled-event
feature/rover-visualization
feature/satellites
feature/saturn-shepherd-moons
feature/science-on-the-sphere
feature/sgct-framebuffer-fixes
feature/sgct-gui
feature/sgct-gui-editable
feature/sgct-gui-jenkins
feature/sgct-json
feature/sgct-ui
feature/side-by-side-removal
feature/skybrowser
feature/skybrowser-cleanup
feature/skybrowser-drag-and-drop
feature/skybrowser-reload
feature/solarbrowsing
feature/spacecraft-instruments
feature/spaceweather-stream
feature/spice-update
feature/state-with-time
feature/tileprovider-minlevel
feature/tileproviders
feature/tle-bodymass
feature/touchEventListener
feature/transparency-rendering-last
feature/ubuntu2204
feature/unit-tests
feature/userproperties
feature/various-changes
feature/video-on-globe
feature/visual-testing
feature/visual-testing-try2
feature/volume-fixes
feature/warnings
feature/wormhole
feature/xbox-update
hotfix/scaling
integration/atm-paper-fixes-2
integration/moon-mars-show
integration/paper-atmosphere
issue/1043
issue/1161
issue/1279
issue/1366-2
issue/1479
issue/1559
issue/1607
issue/1666
issue/1707
issue/1751
issue/1814
issue/1827
issue/1842
issue/1845
issue/1851
issue/1905
issue/1908
issue/1910
issue/1911
issue/1964
issue/1989
issue/1995
issue/2029
issue/2055
issue/2093
issue/2111
issue/2118
issue/2121
issue/2127
issue/2133
issue/2137
issue/2194
issue/2207
issue/2209
issue/2212
issue/2236
issue/2259
issue/2261
issue/2266
issue/2269
issue/843
issue/888
issue/hdrModels
jenkins/1
jenkins/2
jenkins/2286
jenkins/utah-test-1
project/2021-wisdome-installation
project/climate
project/exoplanet-explorer
project/exoplanets-expert-tool
project/lights-2020-installation
project/spaceship-installation
project/spvl
rc/0.18.1
temp/skybrowser-animation-fixes-merge
thesis/2017/mars-rover-visualization
thesis/2018/data-loader
thesis/2018/dsn
thesis/2018/flightcontroller
thesis/2019/spaceDebris
thesis/2019/spaceweather-stream
thesis/2020/software-integration
thesis/2020/sonification
thesis/2021/airtraffic
thesis/2021/fieldlines
thesis/2021/multiuser-collab
thesis/2021/multiuser-collab3
thesis/2021/skybrowser
thesis/2022/climate
thesis/2022/cosmic-view
thesis/2022/fieldline-rendering
thesis/2022/remote-streaming
thesis/2022/software-integration
thesis/2022/software-integration_dod
thesis/2022/software-integration_receive-ra-dec
thesis/2022/software-integration_refactor-simp
thesis/2022/software-integration_velocity-support
thesis/2022/streaming
vislabs/release/2.1
research/atmospheres
releases/v0.18.0
releases/v0.17.2
releases/v0.17.1
releases/v0.17.0
releases/v0.16.1
releases/v0.16.0
releases/v0.15.2
releases/v0.15.1
releases/v0.15.0
releases/v0.14.1
releases/v0.14.0
releases/v0.13.0
releases/v0.12.0
releases/beta/beta-9
releases/beta/beta-8
releases/beta/beta-7
releases/beta/beta-5
releases/beta/beta-4_2
releases/beta/beta-4
releases/beta/beta-3
releases/beta/beta-2
dev/fc-port-change
beta/beta-4_2
beta/beta-4
beta/beta-3
beta/beta-2
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
include/openspace/properties/property.h
+3
-3
include/openspace/properties/property.h
modules/base/rotation/fixedrotation.cpp
+128
-131
modules/base/rotation/fixedrotation.cpp
src/engine/openspaceengine_lua.inl
+4
-4
src/engine/openspaceengine_lua.inl
with
135 additions
and
138 deletions
+135
-138
include/openspace/properties/property.h
+
3
-
3
View file @
1818304d
...
...
@@ -77,11 +77,11 @@ public:
*/
struct
PropertyInfo
{
/// The unique identifier that is part of the fully qualified URI of this Property
std
::
string
identifier
;
const
char
*
identifier
;
/// The name that is displayed in the user interface
std
::
string
guiName
;
const
char
*
guiName
;
/// The user facing description of this Property
std
::
string
description
;
const
char
*
description
;
/// Determins the visibility of this Property in the user interface
Visibility
visibility
=
Visibility
::
All
;
};
...
...
This diff is collapsed.
Click to expand it.
modules/base/rotation/fixedrotation.cpp
+
128
-
131
View file @
1818304d
...
...
@@ -31,13 +31,17 @@
#include
<ghoul/fmt.h>
#include
<ghoul/logging/logmanager.h>
#include
<ghoul/misc/assert.h>
#include
<string>
namespace
{
constexpr
const
char
*
KeyXAxis
=
"XAxis"
;
constexpr
const
char
*
KeyXAxisOrthogonal
=
"XAxisOrthogonal"
;
constexpr
const
char
*
KeyYAxis
=
"YAxis"
;
constexpr
const
char
*
KeyYAxisOrthogonal
=
"YAxisOrthogonal"
;
constexpr
const
char
*
KeyZAxis
=
"ZAxis"
;
constexpr
const
char
*
KeyZAxisOrthogonal
=
"ZAxisOrthogonal"
;
const
openspace
::
properties
::
Property
::
PropertyInfo
EnableInfo
=
{
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
EnableInfo
=
{
"Enable"
,
"Enabled"
,
"If this value is 'true', all the machinery of this rotation is used, of it is "
...
...
@@ -45,47 +49,127 @@ namespace {
"undefined behavior."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
TypeInfo
=
{
"Type"
,
"Specification Type"
,
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
XAxis
TypeInfo
=
{
"
xAxis-
Type"
,
"
xAxis:
Specification Type"
,
"This value specifies how this axis is being specified, that is whether it is "
"referencing another object, specifying an absolute vector, or whether it is "
"using the right handed coordinate system completion based off the other two "
"vectors."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
ObjectInfo
=
{
"Object"
,
"Focus Object"
,
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
YAxisTypeInfo
=
{
"yAxis-Type"
,
"yAxis: Specification Type"
,
"This value specifies how this axis is being specified, that is whether it is "
"referencing another object, specifying an absolute vector, or whether it is "
"using the right handed coordinate system completion based off the other two "
"vectors."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
ZAxisTypeInfo
=
{
"zAxis-Type"
,
"zAxis: Specification Type"
,
"This value specifies how this axis is being specified, that is whether it is "
"referencing another object, specifying an absolute vector, or whether it is "
"using the right handed coordinate system completion based off the other two "
"vectors."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
XAxisObjectInfo
=
{
"xAxis-Object"
,
"xAxis: Focus Object"
,
"This is the object that the axis will focus on. This object must name an "
"existing scene graph node in the currently loaded scene and the rotation will "
"stay fixed to the current position of that object."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
YAxisObjectInfo
=
{
"yAxis-Object"
,
"yAxis: Focus Object"
,
"This is the object that the axis will focus on. This object must name an "
"existing scene graph node in the currently loaded scene and the rotation will "
"stay fixed to the current position of that object."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
ZAxisObjectInfo
=
{
"zAxis-Object"
,
"zAxis: Focus Object"
,
"This is the object that the axis will focus on. This object must name an "
"existing scene graph node in the currently loaded scene and the rotation will "
"stay fixed to the current position of that object."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
InvertObjectInfo
=
{
"InvertObject"
,
"Invert Object Point Direction"
,
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
XAxis
InvertObjectInfo
=
{
"
xAxis-
InvertObject"
,
"
xAxis:
Invert Object Point Direction"
,
"If this value is set to 'true', and the type is set to 'Object', the inverse of "
"the pointing direction is used, causing the object to point away from the "
"referenced object."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
VectorInfo
=
{
"Vector"
,
"Direction vector"
,
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
YAxisInvertObjectInfo
=
{
"yAxis-InvertObject"
,
"yAxis: Invert Object Point Direction"
,
"If this value is set to 'true', and the type is set to 'Object', the inverse of "
"the pointing direction is used, causing the object to point away from the "
"referenced object."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
ZAxisInvertObjectInfo
=
{
"zAxis-InvertObject"
,
"zAxis: Invert Object Point Direction"
,
"If this value is set to 'true', and the type is set to 'Object', the inverse of "
"the pointing direction is used, causing the object to point away from the "
"referenced object."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
XAxisVectorInfo
=
{
"xAxis-Vector"
,
"xAxis: Direction vector"
,
"This value specifies a static direction vector that is used for a fixed "
"rotation."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
YAxisVectorInfo
=
{
"yAxis-Vector"
,
"yAxis: Direction vector"
,
"This value specifies a static direction vector that is used for a fixed "
"rotation."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
OrthogonalVectorInfo
=
{
"Orthogonal"
,
"Vector is orthogonal"
,
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
ZAxisVectorInfo
=
{
"zAxis-Vector"
,
"zAxis: Direction vector"
,
"This value specifies a static direction vector that is used for a fixed "
"rotation."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
XAxisOrthogonalVectorInfo
=
{
"xAxis-Orthogonal"
,
"xAxis: Vector is orthogonal"
,
"This value determines whether the vector specified is used directly, or whether "
"it is used together with another non-coordinate system completion vector to "
"construct an orthogonal vector instead."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
YAxisOrthogonalVectorInfo
=
{
"yAxis-Orthogonal"
,
"yAxis: Vector is orthogonal"
,
"This value determines whether the vector specified is used directly, or whether "
"it is used together with another non-coordinate system completion vector to "
"construct an orthogonal vector instead."
};
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
ZAxisOrthogonalVectorInfo
=
{
"zAxis-Orthogonal"
,
"zAxis: Vector is orthogonal"
,
"This value determines whether the vector specified is used directly, or whether "
"it is used together with another non-coordinate system completion vector to "
"construct an orthogonal vector instead."
};
const
openspace
::
properties
::
Property
::
PropertyInfo
AttachedInfo
=
{
constexpr
const
openspace
::
properties
::
Property
::
PropertyInfo
AttachedInfo
=
{
"Attached"
,
"Attached Node"
,
"This is the name of the node that this rotation is attached to, this value is "
...
...
@@ -120,10 +204,10 @@ documentation::Documentation FixedRotation::Documentation() {
"instead."
},
{
KeyXAxis
+
Orthogonal
VectorInfo
.
identifier
,
KeyXAxisOrthogonal
,
new
BoolVerifier
,
Optional
::
Yes
,
OrthogonalVectorInfo
.
description
XAxis
OrthogonalVectorInfo
.
description
},
{
KeyYAxis
,
...
...
@@ -138,10 +222,10 @@ documentation::Documentation FixedRotation::Documentation() {
"instead."
},
{
KeyYAxis
+
Orthogonal
VectorInfo
.
identifier
,
KeyYAxisOrthogonal
,
new
BoolVerifier
,
Optional
::
Yes
,
OrthogonalVectorInfo
.
description
YAxis
OrthogonalVectorInfo
.
description
},
{
KeyZAxis
,
...
...
@@ -156,10 +240,10 @@ documentation::Documentation FixedRotation::Documentation() {
"instead."
},
{
KeyZAxis
+
Orthogonal
VectorInfo
.
identifier
,
KeyZAxisOrthogonal
,
new
BoolVerifier
,
Optional
::
Yes
,
OrthogonalVectorInfo
.
description
ZAxis
OrthogonalVectorInfo
.
description
},
{
AttachedInfo
.
identifier
,
...
...
@@ -175,137 +259,50 @@ FixedRotation::FixedRotation(const ghoul::Dictionary& dictionary)
:
_enabled
(
EnableInfo
,
true
)
,
_xAxis
{
properties
::
OptionProperty
(
{
"xAxis-"
+
TypeInfo
.
identifier
,
"xAxis:"
+
TypeInfo
.
guiName
,
TypeInfo
.
description
},
XAxisTypeInfo
,
properties
::
OptionProperty
::
DisplayType
::
Dropdown
),
properties
::
StringProperty
(
{
"xAxis-"
+
ObjectInfo
.
identifier
,
"xAxis:"
+
ObjectInfo
.
guiName
,
ObjectInfo
.
description
},
""
),
properties
::
BoolProperty
(
{
"xAxis-"
+
InvertObjectInfo
.
identifier
,
"xAxis:"
+
InvertObjectInfo
.
guiName
,
InvertObjectInfo
.
description
},
false
),
properties
::
StringProperty
(
XAxisObjectInfo
,
""
),
properties
::
BoolProperty
(
XAxisInvertObjectInfo
,
false
),
properties
::
Vec3Property
(
{
"xAxis-"
+
VectorInfo
.
identifier
,
"xAxis:"
+
VectorInfo
.
guiName
,
VectorInfo
.
description
},
XAxisVectorInfo
,
glm
::
vec3
(
1.
f
,
0.
f
,
0.
f
),
glm
::
vec3
(
0.
f
),
glm
::
vec3
(
1.
f
)
),
properties
::
BoolProperty
(
{
"xAxis-"
+
OrthogonalVectorInfo
.
identifier
,
"xAxis:"
+
OrthogonalVectorInfo
.
guiName
,
OrthogonalVectorInfo
.
description
},
false
),
properties
::
BoolProperty
(
XAxisOrthogonalVectorInfo
,
false
),
nullptr
}
,
_yAxis
{
properties
::
OptionProperty
(
{
"yAxis-"
+
TypeInfo
.
identifier
,
"yAxis:"
+
TypeInfo
.
guiName
,
"yAxis:"
+
TypeInfo
.
description
},
YAxisTypeInfo
,
properties
::
OptionProperty
::
DisplayType
::
Dropdown
),
properties
::
StringProperty
(
{
"yAxis-"
+
ObjectInfo
.
identifier
,
"yAxis:"
+
ObjectInfo
.
guiName
,
"yAxis:"
+
ObjectInfo
.
description
},
""
),
properties
::
BoolProperty
(
{
"yAxis-"
+
InvertObjectInfo
.
identifier
,
"yAxis:"
+
InvertObjectInfo
.
guiName
,
InvertObjectInfo
.
description
},
false
),
properties
::
StringProperty
(
YAxisObjectInfo
,
""
),
properties
::
BoolProperty
(
YAxisInvertObjectInfo
,
false
),
properties
::
Vec3Property
(
{
"yAxis-"
+
VectorInfo
.
identifier
,
"yAxis:"
+
VectorInfo
.
guiName
,
"yAxis:"
+
VectorInfo
.
description
},
YAxisVectorInfo
,
glm
::
vec3
(
0.
f
,
1.
f
,
0.
f
),
glm
::
vec3
(
0.
f
),
glm
::
vec3
(
1.
f
)
),
properties
::
BoolProperty
(
{
"yAxis-"
+
OrthogonalVectorInfo
.
identifier
,
"yAxis:"
+
OrthogonalVectorInfo
.
guiName
,
OrthogonalVectorInfo
.
description
},
false
),
properties
::
BoolProperty
(
YAxisOrthogonalVectorInfo
,
false
),
nullptr
}
,
_zAxis
{
properties
::
OptionProperty
(
{
"zAxis-"
+
TypeInfo
.
identifier
,
"zAxis:"
+
TypeInfo
.
guiName
,
"zAxis:"
+
TypeInfo
.
description
},
ZAxisTypeInfo
,
properties
::
OptionProperty
::
DisplayType
::
Dropdown
),
properties
::
StringProperty
(
{
"zAxis-"
+
ObjectInfo
.
identifier
,
"zAxis:"
+
ObjectInfo
.
guiName
,
"zAxis:"
+
ObjectInfo
.
description
},
""
),
properties
::
BoolProperty
(
{
"zAxis-"
+
InvertObjectInfo
.
identifier
,
"zAxis:"
+
InvertObjectInfo
.
guiName
,
InvertObjectInfo
.
description
},
false
),
properties
::
StringProperty
(
ZAxisObjectInfo
,
""
),
properties
::
BoolProperty
(
ZAxisInvertObjectInfo
,
false
),
properties
::
Vec3Property
(
{
"zAxis-"
+
VectorInfo
.
identifier
,
"zAxis:"
+
VectorInfo
.
guiName
,
"zAxis:"
+
VectorInfo
.
description
},
ZAxisVectorInfo
,
glm
::
vec3
(
0.
f
,
0.
f
,
1.
f
),
glm
::
vec3
(
0.
f
),
glm
::
vec3
(
1.
f
)
),
properties
::
BoolProperty
(
{
"zAxis-"
+
OrthogonalVectorInfo
.
identifier
,
"zAxis:"
+
OrthogonalVectorInfo
.
guiName
,
OrthogonalVectorInfo
.
description
},
false
),
properties
::
BoolProperty
(
ZAxisOrthogonalVectorInfo
,
false
),
nullptr
}
,
_attachedObject
(
AttachedInfo
,
""
)
...
...
@@ -448,9 +445,9 @@ bool FixedRotation::initialize() {
}
}
if
(
_constructorDictionary
.
hasKey
(
Key
XAxis
+
OrthogonalVectorInfo
.
identifier
))
{
if
(
_constructorDictionary
.
hasKey
(
XAxisOrthogonalVectorInfo
.
identifier
))
{
_xAxis
.
isOrthogonal
=
_constructorDictionary
.
value
<
bool
>
(
Key
XAxis
+
OrthogonalVectorInfo
.
identifier
XAxisOrthogonalVectorInfo
.
identifier
);
}
if
(
_xAxis
.
isOrthogonal
)
{
...
...
@@ -470,9 +467,9 @@ bool FixedRotation::initialize() {
}
}
if
(
_constructorDictionary
.
hasKey
(
Key
YAxis
+
OrthogonalVectorInfo
.
identifier
))
{
if
(
_constructorDictionary
.
hasKey
(
YAxisOrthogonalVectorInfo
.
identifier
))
{
_yAxis
.
isOrthogonal
=
_constructorDictionary
.
value
<
bool
>
(
Key
YAxis
+
OrthogonalVectorInfo
.
identifier
YAxisOrthogonalVectorInfo
.
identifier
);
}
if
(
_yAxis
.
isOrthogonal
)
{
...
...
@@ -492,9 +489,9 @@ bool FixedRotation::initialize() {
}
}
if
(
_constructorDictionary
.
hasKey
(
Key
ZAxis
+
OrthogonalVectorInfo
.
identifier
))
{
if
(
_constructorDictionary
.
hasKey
(
ZAxisOrthogonalVectorInfo
.
identifier
))
{
_zAxis
.
isOrthogonal
=
_constructorDictionary
.
value
<
bool
>
(
Key
ZAxis
+
OrthogonalVectorInfo
.
identifier
ZAxisOrthogonalVectorInfo
.
identifier
);
}
if
(
_zAxis
.
isOrthogonal
)
{
...
...
This diff is collapsed.
Click to expand it.
src/engine/openspaceengine_lua.inl
+
4
-
4
View file @
1818304d
...
...
@@ -73,7 +73,7 @@ int addVirtualProperty(lua_State* L) {
if (type == "BoolProperty") {
const bool v = ghoul::lua::value<bool>(L, 5);
prop = std::make_unique<properties::BoolProperty>(
properties::Property::PropertyInfo{ identifier
, name
, description },
properties::Property::PropertyInfo{ identifier
.c_str(), name.c_str()
, description
.c_str()
},
v
);
}
...
...
@@ -83,7 +83,7 @@ int addVirtualProperty(lua_State* L) {
const int max = ghoul::lua::value<int>(L, 7);
prop = std::make_unique<properties::IntProperty>(
properties::Property::PropertyInfo{ identifier
, name
, description },
properties::Property::PropertyInfo{ identifier
.c_str(), name.c_str()
, description
.c_str()
},
v,
min,
max
...
...
@@ -95,7 +95,7 @@ int addVirtualProperty(lua_State* L) {
const float max = ghoul::lua::value<float>(L, 7);
prop = std::make_unique<properties::FloatProperty>(
properties::Property::PropertyInfo{ identifier
, name
, description },
properties::Property::PropertyInfo{ identifier
.c_str(), name.c_str()
, description
.c_str()
},
v,
min,
max
...
...
@@ -103,7 +103,7 @@ int addVirtualProperty(lua_State* L) {
}
else if (type == "TriggerProperty") {
prop = std::make_unique<properties::TriggerProperty>(
properties::Property::PropertyInfo{ identifier
, name
, description }
properties::Property::PropertyInfo{ identifier
.c_str(), name.c_str()
, description
.c_str()
}
);
}
else {
...
...
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