--- /dev/null
+/* -*-c++-*-
+ *
+ * Copyright (C) 2006-2007 Tim Moore
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ */
+
+#ifndef SIMGEAR_RENDER_CONSTANTS_HXX
+#define SIMGEAR_RENDER_CONSTANTS_HXX
+// Constants used in the scene graph, both node masks and render bins.
+namespace simgear {
+
+enum NodeMask {
+ TERRAIN_BIT = (1 << 0),
+ MAINMODEL_BIT = (1 << 1),
+ CASTSHADOW_BIT = (1 << 2),
+ RECEIVESHADOW_BIT = (1 << 3),
+ GUI_BIT = (1 << 4),
+ PANEL2D_BIT = (1 << 5),
+ PICK_BIT = (1 << 6)
+ // Different classes of lights turned on by node masks
+};
+}
+#endif
#ifndef SG_SCENE_NODEMASKS_HXX
#define SG_SCENE_NODEMASKS_HXX
+#include "RenderConstants.hxx"
+
/// If set, do terrain elevation computations with that nodes
-#define SG_NODEMASK_TERRAIN_BIT (1<<0)
+#define SG_NODEMASK_TERRAIN_BIT simgear::TERRAIN_BIT
/// If set, this is the main model of this simulation
-#define SG_NODEMASK_MAINMODEL_BIT (1<<1)
+#define SG_NODEMASK_MAINMODEL_BIT simgear::MAINMODEL_BIT
/// If set, cast shadows
-#define SG_NODEMASK_CASTSHADOW_BIT (1<<2)
+#define SG_NODEMASK_CASTSHADOW_BIT simgear::CASTSHADOW_BIT
/// If set, cast recieves shadows
-#define SG_NODEMASK_RECIEVESHADOW_BIT (1<<3)
-/// If set, the node is a gui element
-#define SG_NODEMASK_GUI_BIT (1<<4)
-/// If set, the node is a 2D panel
-#define SG_NODEMASK_2DPANEL_BIT (1<<5)
+#define SG_NODEMASK_RECIEVESHADOW_BIT simgear::RECEIVESHADOW_BIT
+#define SG_NODEMASK_GUI_BIT simgear::GUI_BIT
+#define SG_NODEMASK_2DPANEL_BIT simgear::PANEL2D_BIT
/// If set, the node is pickable
-#define SG_NODEMASK_PICK_BIT (1<<6)
-
+#define SG_NODEMASK_PICK_BIT simgear::PICK_BIT
#endif