mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 12:28:02 +02:00
Merge pull request #927 from HifiExperiments/groupProps
Fix getEntityProperties for group properties + keylight direction
This commit is contained in:
commit
022f1497c5
3 changed files with 12 additions and 10 deletions
|
@ -2549,7 +2549,7 @@ bool EntityItemProperties::entityPropertyFlagsFromScriptValue(const ScriptValue&
|
||||||
if (object.isString()) {
|
if (object.isString()) {
|
||||||
EntityPropertyInfo propertyInfo;
|
EntityPropertyInfo propertyInfo;
|
||||||
if (getPropertyInfo(object.toString(), propertyInfo)) {
|
if (getPropertyInfo(object.toString(), propertyInfo)) {
|
||||||
flags << propertyInfo.propertyEnum;
|
flags << propertyInfo.propertyEnums;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (object.isArray()) {
|
else if (object.isArray()) {
|
||||||
|
@ -2558,7 +2558,7 @@ bool EntityItemProperties::entityPropertyFlagsFromScriptValue(const ScriptValue&
|
||||||
QString propertyName = object.property(i).toString();
|
QString propertyName = object.property(i).toString();
|
||||||
EntityPropertyInfo propertyInfo;
|
EntityPropertyInfo propertyInfo;
|
||||||
if (getPropertyInfo(propertyName, propertyInfo)) {
|
if (getPropertyInfo(propertyName, propertyInfo)) {
|
||||||
flags << propertyInfo.propertyEnum;
|
flags << propertyInfo.propertyEnums;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2794,7 +2794,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
||||||
{ // Keylight
|
{ // Keylight
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_COLOR, KeyLight, keyLight, Color, color);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_COLOR, KeyLight, keyLight, Color, color);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_INTENSITY, KeyLight, keyLight, Intensity, intensity);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_INTENSITY, KeyLight, keyLight, Intensity, intensity);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_DIRECTION, KeyLight, keylight, Direction, direction);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_DIRECTION, KeyLight, keyLight, Direction, direction);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_CAST_SHADOW, KeyLight, keyLight, CastShadows, castShadows);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_KEYLIGHT_CAST_SHADOW, KeyLight, keyLight, CastShadows, castShadows);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(PROP_KEYLIGHT_SHADOW_BIAS, KeyLight, keyLight, ShadowBias, shadowBias, 0.0f, 1.0f);
|
ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(PROP_KEYLIGHT_SHADOW_BIAS, KeyLight, keyLight, ShadowBias, shadowBias, 0.0f, 1.0f);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(PROP_KEYLIGHT_SHADOW_MAX_DISTANCE, KeyLight, keyLight, ShadowMaxDistance, shadowMaxDistance, 1.0f, 250.0f);
|
ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(PROP_KEYLIGHT_SHADOW_MAX_DISTANCE, KeyLight, keyLight, ShadowMaxDistance, shadowMaxDistance, 1.0f, 250.0f);
|
||||||
|
@ -2943,14 +2943,14 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
||||||
*/
|
*/
|
||||||
ScriptValue EntityPropertyInfoToScriptValue(ScriptEngine* engine, const EntityPropertyInfo& propertyInfo) {
|
ScriptValue EntityPropertyInfoToScriptValue(ScriptEngine* engine, const EntityPropertyInfo& propertyInfo) {
|
||||||
ScriptValue obj = engine->newObject();
|
ScriptValue obj = engine->newObject();
|
||||||
obj.setProperty("propertyEnum", propertyInfo.propertyEnum);
|
obj.setProperty("propertyEnum", propertyInfo.propertyEnums.firstFlag());
|
||||||
obj.setProperty("minimum", propertyInfo.minimum.toString());
|
obj.setProperty("minimum", propertyInfo.minimum.toString());
|
||||||
obj.setProperty("maximum", propertyInfo.maximum.toString());
|
obj.setProperty("maximum", propertyInfo.maximum.toString());
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EntityPropertyInfoFromScriptValue(const ScriptValue& object, EntityPropertyInfo& propertyInfo) {
|
bool EntityPropertyInfoFromScriptValue(const ScriptValue& object, EntityPropertyInfo& propertyInfo) {
|
||||||
propertyInfo.propertyEnum = (EntityPropertyList)object.property("propertyEnum").toVariant().toUInt();
|
propertyInfo.propertyEnums = (EntityPropertyList)object.property("propertyEnum").toVariant().toUInt();
|
||||||
propertyInfo.minimum = object.property("minimum").toVariant();
|
propertyInfo.minimum = object.property("minimum").toVariant();
|
||||||
propertyInfo.maximum = object.property("maximum").toVariant();
|
propertyInfo.maximum = object.property("maximum").toVariant();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -80,11 +80,11 @@ using u8vec3Color = glm::u8vec3;
|
||||||
|
|
||||||
struct EntityPropertyInfo {
|
struct EntityPropertyInfo {
|
||||||
EntityPropertyInfo(EntityPropertyList propEnum) :
|
EntityPropertyInfo(EntityPropertyList propEnum) :
|
||||||
propertyEnum(propEnum) {}
|
propertyEnums(propEnum) {}
|
||||||
EntityPropertyInfo(EntityPropertyList propEnum, QVariant min, QVariant max) :
|
EntityPropertyInfo(EntityPropertyList propEnum, QVariant min, QVariant max) :
|
||||||
propertyEnum(propEnum), minimum(min), maximum(max) {}
|
propertyEnums(propEnum), minimum(min), maximum(max) {}
|
||||||
EntityPropertyInfo() = default;
|
EntityPropertyInfo() = default;
|
||||||
EntityPropertyList propertyEnum;
|
EntityPropertyFlags propertyEnums;
|
||||||
QVariant minimum;
|
QVariant minimum;
|
||||||
QVariant maximum;
|
QVariant maximum;
|
||||||
};
|
};
|
||||||
|
|
|
@ -459,14 +459,16 @@ inline QRect QRect_convertFromScriptValue(const ScriptValue& v, bool& isValid) {
|
||||||
{ \
|
{ \
|
||||||
EntityPropertyInfo propertyInfo = EntityPropertyInfo(P); \
|
EntityPropertyInfo propertyInfo = EntityPropertyInfo(P); \
|
||||||
_propertyInfos[#g "." #n] = propertyInfo; \
|
_propertyInfos[#g "." #n] = propertyInfo; \
|
||||||
_enumsToPropertyStrings[P] = #g "." #n; \
|
_propertyInfos[#g].propertyEnums << P; \
|
||||||
|
_enumsToPropertyStrings[P] = #g "." #n; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(P, G, g, N, n, M, X) \
|
#define ADD_GROUP_PROPERTY_TO_MAP_WITH_RANGE(P, G, g, N, n, M, X) \
|
||||||
{ \
|
{ \
|
||||||
EntityPropertyInfo propertyInfo = EntityPropertyInfo(P, M, X); \
|
EntityPropertyInfo propertyInfo = EntityPropertyInfo(P, M, X); \
|
||||||
_propertyInfos[#g "." #n] = propertyInfo; \
|
_propertyInfos[#g "." #n] = propertyInfo; \
|
||||||
_enumsToPropertyStrings[P] = #g "." #n; \
|
_propertyInfos[#g].propertyEnums << P; \
|
||||||
|
_enumsToPropertyStrings[P] = #g "." #n; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DEFINE_CORE(N, n, T, V) \
|
#define DEFINE_CORE(N, n, T, V) \
|
||||||
|
|
Loading…
Reference in a new issue