--- /dev/null
+#ifndef R2C2_TRACKCIRCUIT_H_
+#define R2C2_TRACKCIRCUIT_H_
+
+#include <libr2c2/trackcircuit.h>
+#include "utility.h"
+
+namespace R2C2 {
+
+class Layout3D;
+class Path3D;
+
+class TrackCircuit3D: public Utility3D, public sigc::trackable
+{
+private:
+ TrackCircuit &track_circuit;
+ std::list<Path3D *> paths;
+
+public:
+ TrackCircuit3D(Layout3D &, TrackCircuit &);
+
+private:
+ void state_changed(Sensor::State);
+};
+
+} // namespace R2C2
+
+#endif