Overte C++ Documentation
ObjectConstraint.h
1 //
2 // ObjectConstraint.h
3 // libraries/physcis/src
4 //
5 // Created by Seth Alves 2017-4-11
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/classbtConstraintInterface.html
12 
13 #ifndef hifi_ObjectConstraint_h
14 #define hifi_ObjectConstraint_h
15 
16 #include <QUuid>
17 #include <btBulletDynamicsCommon.h>
18 #include "ObjectDynamic.h"
19 
20 class ObjectConstraint : public ObjectDynamic
21 {
22 public:
23  ObjectConstraint(EntityDynamicType type, const QUuid& id, EntityItemPointer ownerEntity);
24  virtual ~ObjectConstraint() {}
25 
26  virtual btTypedConstraint* getConstraint() = 0;
27 
28  virtual bool isConstraint() const override { return true; }
29  virtual void invalidate() override;
30 
31 protected:
32  btTypedConstraint* _constraint { nullptr };
33 };
34 
35 #endif // hifi_ObjectConstraint_h