Browse Source

*** empty log message ***

Mark Mine 24 years ago
parent
commit
b78e94c0ff

+ 27 - 3
direct/src/showbase/ShowBase.py

@@ -389,13 +389,37 @@ class ShowBase:
         self.eventMgr.shutdown()
 
     def toggleBackface(self):
-        toggleBackface(self.render.arc())
+        return toggleBackface(self.render.arc())
+
+    def backfaceCullingOn(self):
+        if self.toggleBackface():
+            self.toggleBackface()
+
+    def backfaceCullingOff(self):
+        if not self.toggleBackface():
+            self.toggleBackface()
 
     def toggleTexture(self):
-        toggleTexture(self.render.arc())
+        return toggleTexture(self.render.arc())
+
+    def textureOn(self):
+        if not self.toggleTexture():
+            self.toggleTexture()
+
+    def textureOff(self):
+        if self.toggleTexture():
+            self.toggleTexture()
 
     def toggleWireframe(self):
-        toggleWireframe(self.render.arc())
+        return toggleWireframe(self.render.arc())
+
+    def wireframeOn(self):
+        if not self.toggleWireframe():
+            self.toggleWireframe()
+
+    def wireframeOff(self):
+        if self.toggleWireframe():
+            self.toggleWireframe()
 
     def disableMouse(self):
         """

+ 6 - 3
direct/src/showbase/showBase.cxx

@@ -207,7 +207,7 @@ add_render_layer(GraphicsWindow *win, Node *render_top, Camera *camera) {
 }
 
 
-void
+bool
 toggle_wireframe(NodeRelation *render_arc) {
   static bool wireframe_mode = false;
 
@@ -226,10 +226,11 @@ toggle_wireframe(NodeRelation *render_arc) {
     render_arc->set_transition(rma);
     render_arc->set_transition(cfa);
   }
+  return wireframe_mode;
 }
 
 
-void
+bool
 toggle_backface(NodeRelation *render_arc) {
   static bool backface_mode = false;
 
@@ -245,10 +246,11 @@ toggle_backface(NodeRelation *render_arc) {
     CullFaceTransition *cfa = new CullFaceTransition(CullFaceProperty::M_cull_clockwise);
     render_arc->set_transition(cfa);
   }
+  return backface_mode;
 }
 
 
-void toggle_texture(NodeRelation *render_arc) {
+bool toggle_texture(NodeRelation *render_arc) {
   static bool textures_enabled = true;
 
   textures_enabled = !textures_enabled;
@@ -261,6 +263,7 @@ void toggle_texture(NodeRelation *render_arc) {
     ta->set_priority(100);
     render_arc->set_transition(ta);
   }
+  return textures_enabled;
 }
 
 void take_snapshot(GraphicsWindow *win, const string &name) {

+ 3 - 3
direct/src/showbase/showBase.h

@@ -51,9 +51,9 @@ EXPCL_DIRECT NodePath setup_panda_2d(GraphicsWindow *win, const string &name);
 EXPCL_DIRECT void add_render_layer(GraphicsWindow *win, Node *render_top,
                                    Camera *camera);
 
-EXPCL_DIRECT void toggle_wireframe(NodeRelation *render_arc);
-EXPCL_DIRECT void toggle_texture(NodeRelation *render_arc);
-EXPCL_DIRECT void toggle_backface(NodeRelation *render_arc);
+EXPCL_DIRECT bool toggle_wireframe(NodeRelation *render_arc);
+EXPCL_DIRECT bool toggle_texture(NodeRelation *render_arc);
+EXPCL_DIRECT bool toggle_backface(NodeRelation *render_arc);
 
 EXPCL_DIRECT void take_snapshot(GraphicsWindow *win, const string &name);