...
To do all these things RealFlow/Python offers several methods:
for ... in
This construction is required if you want to loop through individual particles, nodes, vertices. In common terms: list elements. The notation is basically always the same, and only the type of scene element changes:
Scene Nodes
Here is a loop for all nodes in a scene. There is no differentiation between domains, emitters, objects, daemons, etc.:
Code Block |
---|
# Mind the leading spaces. Without them you will get syntax errors! allSceneNodes = scene.getNodes() for singleNode in allSceneNodes: do something with singleNode, e.g. change one or more parameters |
Scene Objects
Here is a loop for all nodes in a scene. The same principle is valid for daemons, domains, splines, cameras (scene.getDaemons(), scene.get_DY_Domains(), scene.getSplines(), scene.getCameras()
).
Code Block |
---|
# Mind the leading spaces. Without them you will get syntax errors! allSceneObjects = scene.getObjects() for singleObject in allSceneObjects do something with singleObject, e.g. activate its rigid body dynamics feature |
Dyverso Particles
Here is a loop for a dyverso domain's ("DY_Domain01"
) particles. The same principle is valid for Hybrido particles and standard particle emitters:
Code Block |
---|
#Mind the leading spaces. Without them you will get syntax errors! dyversoDomain = scene.get_DY_Domain("DY_Domain01") dyversoDomainParticles = dyversoDomain.getParticles() for singleParticle in dyversoDomainParticles: do something with singleParticle, e.g. get its age and delete it after a certain time |
for .. in range(start, stop)
This type of loop is used if you want to specify a certain range.