13 #ifndef hifi_PulsePropertyGroup_h
14 #define hifi_PulsePropertyGroup_h
18 #include <PulseMode.h>
20 #include "PropertyGroup.h"
21 #include "EntityItemPropertiesMacros.h"
24 class EncodeBitstreamParams;
26 class ReadBitstreamToTreeParams;
42 class PulsePropertyGroup :
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 PulsePropertyGroup& 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 bool operator==(
const PulsePropertyGroup& a)
const;
91 bool operator!=(
const PulsePropertyGroup& a)
const {
return !(*
this == a); }
93 DEFINE_PROPERTY(PROP_PULSE_MIN, Min, min,
float, 0.0f);
94 DEFINE_PROPERTY(PROP_PULSE_MAX, Max, max,
float, 1.0f);
95 DEFINE_PROPERTY(PROP_PULSE_PERIOD, Period, period,
float, 1.0f);
96 DEFINE_PROPERTY_REF_ENUM(PROP_PULSE_COLOR_MODE, ColorMode, colorMode, PulseMode, PulseMode::NONE);
97 DEFINE_PROPERTY_REF_ENUM(PROP_PULSE_ALPHA_MODE, AlphaMode, alphaMode, PulseMode, PulseMode::NONE);
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