--- /dev/null
+
+/*] Copyright (c) 2009-2010, Charles McGarvey [**************************
+**] All rights reserved.
+*
+* vi:ts=4 sw=4 tw=75
+*
+* Distributable under the terms and conditions of the 2-clause BSD license;
+* see the file COPYING for a complete text of the license.
+*
+**************************************************************************/
+
+#ifndef _MOOF_CULLABLE_HH_
+#define _MOOF_CULLABLE_HH_
+
+/**
+ * \file cullable.hh
+ * Representation for an object that may or may not be visible.
+ */
+
+
+namespace moof {
+
+
+class frustum;
+
+/**
+ * Interface for anything that can be culled.
+ */
+
+class cullable
+{
+public:
+ virtual ~cullable() {}
+
+ virtual bool is_visible(const frustum& frustum) const
+ {
+ // unless determined otherwise, assume visible
+ return true;
+ }
+};
+
+
+} // namespace moof
+
+#endif // _MOOF_CULLABLE_HH_
+