Overte C++ Documentation
AssignmentDynamic.h
1 //
2 // AssignmentDynamic.h
3 // assignment-client/src/
4 //
5 // Created by Seth Alves 2015-6-19
6 // Copyright 2015 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 // http://bulletphysics.org/Bullet/BulletFull/classbtDynamicInterface.html
12 
13 #ifndef hifi_AssignmentDynamic_h
14 #define hifi_AssignmentDynamic_h
15 
16 #include <QUuid>
17 #include <EntityItem.h>
18 
19 #include "EntityDynamicInterface.h"
20 
21 
22 class AssignmentDynamic : public EntityDynamicInterface, public ReadWriteLockable {
23 public:
24  AssignmentDynamic(EntityDynamicType type, const QUuid& id, EntityItemPointer ownerEntity);
25  virtual ~AssignmentDynamic();
26 
27  virtual void remapIDs(QHash<EntityItemID, EntityItemID>& map) override {};
28 
29  virtual void removeFromSimulation(EntitySimulationPointer simulation) const override;
30  virtual EntityItemWeakPointer getOwnerEntity() const override { return _ownerEntity; }
31  virtual void setOwnerEntity(const EntityItemPointer ownerEntity) override { _ownerEntity = ownerEntity; }
32  virtual bool updateArguments(QVariantMap arguments) override;
33  virtual QVariantMap getArguments() override;
34 
35  virtual QByteArray serialize() const override;
36  virtual void deserialize(QByteArray serializedArguments) override;
37 
38 private:
39  QByteArray _data;
40 
41 protected:
42  bool _active;
43  EntityItemWeakPointer _ownerEntity;
44 };
45 
46 #endif // hifi_AssignmentDynamic_h