Source code for blenderproc.python.modules.provider.sampler.UniformSO3Module

from blenderproc.python.modules.main.Provider import Provider
from blenderproc.python.sampler.UniformSO3 import uniformSO3


[docs]class UniformSO3Module(Provider): """ Uniformly samples rotations from SO(3). Allows to limit the rotation around Blender World coordinate axes. **Configuration**: .. list-table:: :widths: 25 100 10 :header-rows: 1 * - Parameter - Description - Type * - around_x - Whether to rotate around X-axis. Default: True. - bool * - around_y - Whether to rotate around Y-axis. Default: True. - bool * - around_z - Whether to rotate around Z-axis. Default: True. - bool """ def __init__(self, config): Provider.__init__(self, config)
[docs] def run(self): """ :return: Sampled rotation in euler angles. Type: mathutils.Vector """ # Indicators of which axes to rotate around. around_x = self.config.get_bool('around_x', True) around_y = self.config.get_bool('around_y', True) around_z = self.config.get_bool('around_z', True) return uniformSO3(around_x, around_y, around_z)