[EDIT]: in Sim4Life 4.0 (and above), the steps below are no longer necessary. The ApplyTransform()
function can be directly used on an EntityGroup object:
# Select "Duke" entity group
duke_group = model.AllEntities()["Duke"]
# apply transformation to each entity of the group
x = 10.0
y = 5.0
z = 12.0
duke_group.ApplyTransform( Translation(Vec3(x,y,z)) )
[ORIGINAL POST]
To apply a given transformation on a whole group of entities with Python, you have to use the ApplyTransform() function on each element of the EntityGroup object. What you can do is write a recursive function that does exactly that. Here is an example of such function:
def ApplyTransformRecursively(entity_group, transformation):
if isinstance(entity_group, core.EntityGroup):
for entity in entity_group.Entities:
ApplyTransformRecursively(entity, transformation)
else:
entity_group.ApplyTransform(transformation)
You can use it like this:
# Select "Duke" entity group
duke_group = model.AllEntities()["Duke"]
# apply transformation to each entity of the group
x = 10.0
y = 5.0
z = 12.0
ApplyTransformRecursively(duke_group, Translation(Vec3(x,y,z)))