polly-b-gone/room_object.h
2012-12-14 09:47:48 -08:00

36 lines
785 B
C++

// -*- C++ -*-
#ifndef MBOSTOCK_ROOM_OBJECT_H
#define MBOSTOCK_ROOM_OBJECT_H
namespace mbostock {
class Model;
class ParticleSimulator;
class Shape;
class UnaryForce;
class Vector;
class RoomObject {
public:
virtual Model& model() = 0;
virtual const Shape& shape() const = 0;
virtual bool dynamic() const;
virtual Vector velocity(const Vector& x) const;
virtual float slip() const;
virtual void resetForces();
virtual void applyForce(UnaryForce& force);
virtual void applyWeight(float w, const Vector& x);
virtual void step(const ParticleSimulator& s);
virtual void constrainInternal();
virtual void reset();
};
class DynamicRoomObject : public RoomObject {
public:
virtual bool dynamic() const;
};
}
#endif