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

43 lines
882 B
C++

// -*- C++ -*-
#ifndef MBOSTOCK_TRANSLATING_H
#define MBOSTOCK_TRANSLATING_H
#include "model.h"
#include "physics/shape.h"
#include "physics/translation.h"
#include "physics/vector.h"
#include "room_object.h"
#include "transforming.h"
namespace mbostock {
class TranslatingModel : public Model {
public:
TranslatingModel(Model& m, const Translation& t);
virtual void initialize();
virtual void display();
private:
Model& model_;
const Translation& translation_;
};
class TranslatingRoomObject : public TransformingRoomObject {
public:
TranslatingRoomObject(RoomObject* o, const Translation& t);
virtual Model& model();
virtual const Shape& shape() const;
virtual Vector velocity(const Vector& x) const;
private:
const Translation& translation_;
TranslatingShape shape_;
TranslatingModel model_;
};
}
#endif