blenderproc.python.object.ObjectPoseSampler module

blenderproc.python.object.ObjectPoseSampler.sample_poses(objects_to_sample, sample_pose_func, objects_to_check_collisions=None, max_tries=1000, mode_on_failure='last_pose')[source]

Samples positions and rotations of selected object inside the sampling volume while performing mesh and bounding box collision checks.

Parameters:
  • objects_to_sample (List[MeshObject]) – A list of mesh objects whose poses are sampled based on the given function.
  • sample_pose_func (Callable[[MeshObject], None]) – The function to use for sampling the pose of a given object.
  • objects_to_check_collisions (Optional[List[MeshObject]]) – A list of mesh objects who should not be considered when checking for collisions.
  • max_tries (int) – Amount of tries before giving up on an object and moving to the next one.
  • mode_on_failure (str) – Define final state of objects that could not be placed without collisions within max_tries attempts. Options: ‘last_pose’, ‘initial_pose’
Return type:

Dict[Entity, Tuple[int, bool]]

Returns:

A dict with the objects to sample as keys and a Tuple with the number of executed attempts to place the object as first element, and a bool whether it has been succesfully placed without collisions.