#1
|
|||
|
|||
Using viz.window.screenCapture in a loop?
Hello, I'm having trouble using viz.window.screenCapture() to grab images before and after a list of objects have been removed from a scene. This short example is analogous to what I'm trying to do:
Code:
def showDebugBall(x,y,z,size=1): ball = viz.add('ball.wrl') ball.setQuat(0,0,0,1) ball.setPosition(x,y,z) ball.setScale(size,size,size) smallball = viz.add('ball.wrl') smallball.setQuat(0,0,0,1) smallball.setParent(ball) smallball.setPosition(x,y,z) smallball.setScale(0.5*size,0.5*size,0.5*size) return ball objects = [] n = 12 for i in range(n): aball = showDebugBall(0,2,i) objects.append(aball) viz.window.screenCapture("images/Before.png") for obj in objects: obj.remove() viz.window.screenCapture("images/After.png") If I comment out the loop that removes the objs and also comment out the "After.png" screenCapture line, I get a "Before.png" that includes the objects, as expected. It looks like there's a note about viz.window.screenCapture in the documentation: "Note: The image is not generated immediately. Vizard must wait until the next frame is rendered before it can capture the image." But I'm not sure how to modify the code based on this info. |
#2
|
|||
|
|||
Here's an example using a task function that should capture an object before and after removing it:
Code:
import viz import viztask viz.go() dojo = viz.addChild('dojo.osgb') ball = viz.addChild('beachball.osgb', pos=[0,1.8,2]) def screenCaptureTask(): viz.window.screenCapture('Before.png') yield viztask.waitFrame(1) ball.remove() viz.window.screenCapture('After.png') viztask.schedule( screenCaptureTask() ) |
Tags |
remove objects, saving, screen capture, screenshots, viz.window.screencapture |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Calling vizard functions in a loop | omidbrb | Vizard | 1 | 09-23-2009 09:19 AM |
screenshots using a loop | krimble | Vizard | 2 | 09-14-2009 02:20 AM |
Creating a loop to switch between menu pages | RodRSpv | Vizard | 1 | 03-02-2009 02:19 PM |
For Loop in Callbacks? | DrunkenBrit | Vizard | 2 | 02-19-2009 12:26 AM |
for loop concatenation for 300 billboarding trees | eugcc | Vizard | 4 | 04-22-2004 12:46 AM |