15 #ifndef hifi_AmbientLightPropertyGroup_h
16 #define hifi_AmbientLightPropertyGroup_h
20 #include <glm/glm.hpp>
22 #include "EntityItemPropertiesMacros.h"
23 #include "PropertyGroup.h"
26 class EncodeBitstreamParams;
28 class EntityTreeElementExtraEncodeData;
29 class ReadBitstreamToTreeParams;
41 class AmbientLightPropertyGroup :
public PropertyGroup {
44 virtual void copyToScriptValue(
const EntityPropertyFlags& desiredProperties,
ScriptValue& properties,
47 bool isMyOwnAvatarEntity)
const override;
48 virtual void copyFromScriptValue(
const ScriptValue&
object,
const QSet<QString> &namesSet,
bool& _defaultSettings)
override;
50 void merge(
const AmbientLightPropertyGroup& other);
52 virtual void debugDump()
const override;
53 virtual void listChangedProperties(QList<QString>& out)
override;
56 EntityPropertyFlags& requestedProperties,
57 EntityPropertyFlags& propertyFlags,
58 EntityPropertyFlags& propertiesDidntFit,
60 OctreeElement::AppendState& appendState)
const override;
62 virtual bool decodeFromEditPacket(EntityPropertyFlags& propertyFlags,
63 const unsigned char*& dataAt,
int& processedBytes)
override;
64 virtual void markAllChanged()
override;
65 virtual EntityPropertyFlags getChangedProperties()
const override;
74 virtual EntityPropertyFlags getEntityProperties(EncodeBitstreamParams& params)
const override;
76 virtual void appendSubclassData(
OctreePacketData* packetData, EncodeBitstreamParams& params,
77 EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
78 EntityPropertyFlags& requestedProperties,
79 EntityPropertyFlags& propertyFlags,
80 EntityPropertyFlags& propertiesDidntFit,
82 OctreeElement::AppendState& appendState)
const override;
84 virtual int readEntitySubclassDataFromBuffer(
const unsigned char* data,
int bytesLeftToRead,
85 ReadBitstreamToTreeParams& args,
86 EntityPropertyFlags& propertyFlags,
bool overwriteLocalData,
87 bool& somethingChanged)
override;
89 static const float DEFAULT_AMBIENT_LIGHT_INTENSITY;
91 DEFINE_PROPERTY(PROP_AMBIENT_LIGHT_INTENSITY, AmbientIntensity, ambientIntensity,
float, DEFAULT_AMBIENT_LIGHT_INTENSITY);
92 DEFINE_PROPERTY_REF(PROP_AMBIENT_LIGHT_URL, AmbientURL, ambientURL, QString,
"");
Definition: EntityItemProperties.h:106
Handles packing of the data portion of PacketType_OCTREE_DATA messages.
Definition: OctreePacketData.h:93
Provides an engine-independent interface for a scripting engine.
Definition: ScriptEngine.h:93
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40