blenderproc.python.object.ObjectPoseSampler module
Allows the sampling of objects inside a sampling volume, while performing collision checks.
- 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 successfully placed without collisions.