32 #include <unordered_set>
39 unordered_set<QBody*> bodies;
40 void AddCollidedBody(
QBody *body);
42 bool gravityFree=
false;
43 QVector linearForceToApply=QVector::Zero();
80 return linearForceToApply;
90 for (
auto body : bodies){
91 body->ignoreGravity=gravityFree;
101 linearForceToApply=value;
110 return vector<QBody*>(bodies.begin(),bodies.end() );
122 return linearForceToApply;
128 return bodies.find(body) != bodies.end();
QAreaBody objects are objects that don't respond to collisions or receive any response from them,...
Definition: qareabody.h:38
QAreaBody * SetLinearForceToApply(QVector value)
Definition: qareabody.h:100
virtual void OnCollisionEnter(QBody *collidedBody)
Definition: qareabody.h:49
std::function< void(QAreaBody *areaBody, QBody *collidedBody)> CollisionExitEventListener
Definition: qareabody.h:63
virtual void OnCollisionExit(QBody *collidedBody)
Definition: qareabody.h:53
virtual QVector ComputeLinearForce(QBody *body)
Definition: qareabody.h:117
QAreaBody * SetGravityFreeEnabled(bool value)
Definition: qareabody.h:88
std::function< void(QAreaBody *areaBody, QBody *collidedBody)> CollisionEnterEventListener
Definition: qareabody.h:53
std::function< QVector(QBody *body)> ComputeLinearForceListener
Definition: qareabody.h:68
bool HasBody(QBody *body)
Definition: qareabody.h:127
QVector GetLinearForceToApply()
Definition: qareabody.h:79
bool GetGravityFreeEnabled()
Definition: qareabody.h:73
vector< QBody * > GetBodies() const
Definition: qareabody.h:109
QBody objects are the base class for all types of bodies. Any class derived from QBody shares these m...
Definition: qbody.h:43
QManifold retrieves collision data from collision tests between two QBody objects using QCollision me...
Definition: qmanifold.h:36
A QWorld object is required to create a physics simulation. The QWorld class manages the entire physi...
Definition: qworld.h:51