PDA

View Full Version : Catching outputs from functions called in vizact.ontimer()


Notch
03-11-2014, 07:45 AM
How can I capture the outputs from a function called using the vizact.ontimer() function? I understand that I need to define the name of the function I want to call, and pass any arguments in to the function following that; eg:

vizact.ontimer(0,myFunction,input)

...But I don't know how to get the outputs of myFunction. How do I do this?

Jeff
03-12-2014, 06:19 AM
Can you explain what you are trying to accomplish with a timer function and the output you're expecting?

Notch
03-19-2014, 03:33 AM
At every screen refresh, I need to manipulate a quad based on the position of a couple of trackable (from motion capture) rigid bodies. I need to pass some variables back into 'myFunction' that are output from 'myFunction' on each occurrence. These are a few ints and bools.

farshizzo
03-19-2014, 10:19 AM
I'd recommend creating a class to update the quad and to store variables from each update. Here is a simple outline of what I am referring to:import vizact

class QuadManipulator(object):
def __init__(self, input):

# Save input
self.input = input

# Initialize variables here
self.some_int = 0
self.some_bool = False

# Call our method every frame
vizact.ontimer(0, self.myFunction)

def myFunction(self):

# Compute some stuff and update quad

# Update some variables
self.some_int = 2
self.some_bool = True

# Create instance of our class
q = QuadManipulator('input')