Here is how I would test it:
Graphics3D 800, 600, 0, 2
SetBuffer BackBuffer()
camera = CreateCamera()
MoveEntity camera, 0, 0, -15
;create 2 attached cubes (red/green)
cube = CreateCube()
cube2 = CreateCube()
EntityColor cube, 255, 0, 0
EntityColor cube2, 0, 255, 0
MoveEntity cube2, 2, 0, 0
EntityParent cube2, cube
MoveEntity cube, 5, 0, 0
;create obstacle cube (white)
cube3 = CreateCube()
;set collision types
EntityType cube, 1, 1
EntityType cube3, 2
;set collisions
Collisions 1, 2, 2, 3
Repeat
MoveEntity cube, -0.1, 0, 0
;comment this line to disable ResetEntity
ResetEntity cube
UpdateWorld()
RenderWorld()
Flip
Until KeyHit(1)
End
It seems that child entities are not reset. However, you could write a function that does that:
Function iResetEntity(mesh)
ResetEntity mesh
For i = 1 To CountChildren(mesh)
iResetEntity GetChild(mesh, i)
Next
End Function