14 #ifndef hifi_BloomPropertyGroup_h
15 #define hifi_BloomPropertyGroup_h
18 #include <glm/glm.hpp>
20 #include "PropertyGroup.h"
21 #include "EntityItemPropertiesMacros.h"
24 class EncodeBitstreamParams;
26 class EntityTreeElementExtraEncodeData;
27 class ReadBitstreamToTreeParams;
31 static const float INITIAL_BLOOM_INTENSITY { 0.25f };
32 static const float INITIAL_BLOOM_THRESHOLD { 0.7f };
33 static const float INITIAL_BLOOM_SIZE { 0.9f };
42 class BloomPropertyGroup :
public PropertyGroup {
45 virtual void copyToScriptValue(
const EntityPropertyFlags& desiredProperties,
ScriptValue& properties,
48 bool isMyOwnAvatarEntity)
const override;
49 virtual void copyFromScriptValue(
const ScriptValue&
object,
const QSet<QString> &namesSet,
bool& _defaultSettings)
override;
51 void merge(
const BloomPropertyGroup& other);
53 virtual void debugDump()
const override;
54 virtual void listChangedProperties(QList<QString>& out)
override;
57 EntityPropertyFlags& requestedProperties,
58 EntityPropertyFlags& propertyFlags,
59 EntityPropertyFlags& propertiesDidntFit,
61 OctreeElement::AppendState& appendState)
const override;
63 virtual bool decodeFromEditPacket(EntityPropertyFlags& propertyFlags,
64 const unsigned char*& dataAt,
int& processedBytes)
override;
65 virtual void markAllChanged()
override;
66 virtual EntityPropertyFlags getChangedProperties()
const override;
75 virtual EntityPropertyFlags getEntityProperties(EncodeBitstreamParams& params)
const override;
77 virtual void appendSubclassData(
OctreePacketData* packetData, EncodeBitstreamParams& params,
78 EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
79 EntityPropertyFlags& requestedProperties,
80 EntityPropertyFlags& propertyFlags,
81 EntityPropertyFlags& propertiesDidntFit,
83 OctreeElement::AppendState& appendState)
const override;
85 virtual int readEntitySubclassDataFromBuffer(
const unsigned char* data,
int bytesLeftToRead,
86 ReadBitstreamToTreeParams& args,
87 EntityPropertyFlags& propertyFlags,
bool overwriteLocalData,
88 bool& somethingChanged)
override;
90 DEFINE_PROPERTY(PROP_BLOOM_INTENSITY, BloomIntensity, bloomIntensity,
float, INITIAL_BLOOM_INTENSITY);
91 DEFINE_PROPERTY(PROP_BLOOM_THRESHOLD, BloomThreshold, bloomThreshold,
float, INITIAL_BLOOM_THRESHOLD);
92 DEFINE_PROPERTY(PROP_BLOOM_SIZE, BloomSize, bloomSize,
float, INITIAL_BLOOM_SIZE);
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