コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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))
コード例 #5
0
    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'
            )
コード例 #6
0
    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])