def update_grid(self):
        """
        Update the grid axes and numbers if the camera position/rotation has changed.
        """
        # Obtain the new camera settings
        new_camera_pos = vector(self.__scene.camera.pos)
        new_camera_axes = vector(self.__scene.camera.axis)

        old_camera_pos = vector(self.camera_pos)
        old_camera_axes = vector(self.camera_axes)

        # Update old positions
        self.camera_pos = new_camera_pos
        self.camera_axes = new_camera_axes

        distance_from_center = mag(self.__scene.center -
                                   self.__scene.camera.pos)
        new_scale = round(distance_from_center / 30.0, 1)
        if not new_scale == self.__scale:
            self.set_scale(new_scale)

        # If camera is different to previous: update
        if (not new_camera_axes.equals(old_camera_axes)) or (
                not new_camera_pos.equals(old_camera_pos)):
            # Update grid
            self.__move_grid_objects()
            update_grid_numbers(self.__focal_point,
                                self.grid_object[self.__labels_idx],
                                self.__num_squares, self.__scale, self.__is_3d,
                                self.__scene)
Exemple #2
0
    def __init_grid(self):
        """
        Initialise the grid along the x, y, z axes.
        """
        the_grid = self.__create_grid_objects()
        self.grid_object[self.__planes_idx] = the_grid

        # Update the labels instead of recreating them
        update_grid_numbers(self.grid_object[self.__labels_idx], self.__relative_cam, self.__num_squares, self.__scene)
Exemple #3
0
    def update_grid(self):
        """
        Update the grid axes and numbers if the camera position/rotation has changed.
        """
        # Obtain the new camera settings
        new_camera_pos = self.__scene.camera.pos
        new_camera_axes = self.__scene.camera.axis

        old_camera_pos = self.camera_pos
        old_camera_axes = self.camera_axes

        # If camera is different to previous: update
        if (not new_camera_axes.equals(old_camera_axes)) or (
                not new_camera_pos.equals(old_camera_pos)):
            # Update old positions
            self.camera_pos = new_camera_pos
            self.camera_axes = new_camera_axes

            # Update grid
            self.__move_grid_objects()
            update_grid_numbers(self.__focal_point,
                                self.grid_object[self.__labels_idx],
                                self.__num_squares, self.__scene)