def set_mass(self, mass: float) -> None: """Sets the mass of the shape. :param mass: The new mass value. """ sim.simSetObjectFloatParameter(self._handle, sim.sim_shapefloatparam_mass, mass)
def set_far_clipping_plane(self, far_clipping: float) -> None: """ Set the Sensor's far clipping plane. :param far_clipping: New far clipping plane (in metres) """ sim.simSetObjectFloatParameter(self._handle, sim.sim_visionfloatparam_far_clipping, far_clipping)
def set_orthographic_size(self, ortho_size: float) -> None: """ Set the Sensor's orthographic size. :param angle: New orthographic size (in metres) """ sim.simSetObjectFloatParameter(self._handle, sim.sim_visionfloatparam_ortho_size, ortho_size)
def set_perspective_angle(self, angle: float) -> None: """ Set the Sensor's perspective angle. :param angle: New perspective angle (in degrees) """ sim.simSetObjectFloatParameter( self._handle, sim.sim_visionfloatparam_perspective_angle, math.radians(angle))
def set_intensity_properties(self, cast_shadows=None, spot_exponent=None, spot_cutoff=None, const_atten_factor=None, linear_atten_factor=None, quad_atten_factor=None): """ Set light intensity properties. :param cast_shadows: POV-Ray light casts shadows :param spot_exponent: light spot exponent :param spot_cutoff: light spot cutoff :param const_atten_factor: light constant attenuation factor, currently not supported :param linear_atten_factor: light linear attenuation factor, currently not supported :param quad_atten_factor: light quadratic attenuation factor, currently not supported """ if cast_shadows is not None: sim.simSetObjectInt32Parameter( self._handle, sim.sim_lightintparam_pov_casts_shadows, int(cast_shadows)) if spot_exponent is not None: if spot_exponent % 1 != 0: warnings.warn( 'spot exponent must be an integer, rounding input of {} to {}' .format(spot_exponent, round(spot_exponent))) sim.simSetObjectFloatParameter( self._handle, sim.sim_lightfloatparam_spot_exponent, float(round(spot_exponent))) if spot_cutoff is not None: spot_cutoff = float(spot_cutoff) if spot_cutoff > np.pi / 2: warnings.warn( 'Tried to set spot_cutoff to {}, but the maximum allowed value is pi/2,' 'therefore setting to pi/2'.format(spot_cutoff)) sim.simSetObjectFloatParameter(self._handle, sim.sim_lightfloatparam_spot_cutoff, float(spot_cutoff)) if const_atten_factor is not None: raise Exception( 'CoppeliaSim currently does not support setting attenuation factors' ) # sim.simSetObjectFloatParameter( # self._handle, sim.sim_lightfloatparam_const_attenuation, float(const_atten_factor)) if linear_atten_factor is not None: raise Exception( 'CoppeliaSim currently does not support setting attenuation factors' ) # sim.simSetObjectFloatParameter( # self._handle, sim.sim_lightfloatparam_lin_attenuation, float(linear_atten_factor)) if quad_atten_factor is not None: raise Exception( 'CoppeliaSim currently does not support setting attenuation factors' )
def _set_velocity(handle, lin_velocity=[0, 0, 0], ang_velocity=[0, 0, 0]): # reset dynamic object sim.simResetDynamicObject(handle) # shapefloatparam_init_velocity_x sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_x, lin_velocity[0]) # shapefloatparam_init_velocity_y sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_y, lin_velocity[1]) # shapefloatparam_init_velocity_z sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_z, lin_velocity[2]) # shapefloatparam_init_velocity_a sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_a, ang_velocity[0]) # shapefloatparam_init_velocity_b sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_b, ang_velocity[1]) # shapefloatparam_init_velocity_g sim.simSetObjectFloatParameter(handle, sim.sim_shapefloatparam_init_velocity_g, ang_velocity[2])