q3dviewer 1.1.1__tar.gz → 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {q3dviewer-1.1.1/q3dviewer.egg-info → q3dviewer-1.1.2}/PKG-INFO +1 -1
  2. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/film_maker.py +25 -10
  3. {q3dviewer-1.1.1 → q3dviewer-1.1.2/q3dviewer.egg-info}/PKG-INFO +1 -1
  4. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/setup.py +1 -1
  5. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/LICENSE +0 -0
  6. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/README.md +0 -0
  7. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/pyproject.toml +0 -0
  8. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/__init__.py +0 -0
  9. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/base_glwidget.py +0 -0
  10. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/base_item.py +0 -0
  11. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/__init__.py +0 -0
  12. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/axis_item.py +0 -0
  13. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/cloud_io_item.py +0 -0
  14. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/cloud_item.py +0 -0
  15. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/frame_item.py +0 -0
  16. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/gaussian_item.py +0 -0
  17. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/grid_item.py +0 -0
  18. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/image_item.py +0 -0
  19. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/line_item.py +0 -0
  20. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/custom_items/text_item.py +0 -0
  21. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/glwidget.py +0 -0
  22. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/cloud_frag.glsl +0 -0
  23. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/cloud_vert.glsl +0 -0
  24. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/gau_frag.glsl +0 -0
  25. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/gau_prep.glsl +0 -0
  26. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/gau_vert.glsl +0 -0
  27. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/shaders/sort_by_key.glsl +0 -0
  28. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/__init__.py +0 -0
  29. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/cloud_viewer.py +0 -0
  30. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/example_viewer.py +0 -0
  31. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/gaussian_viewer.py +0 -0
  32. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/lidar_calib.py +0 -0
  33. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/lidar_cam_calib.py +0 -0
  34. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/tools/ros_viewer.py +0 -0
  35. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/__init__.py +0 -0
  36. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/cloud_io.py +0 -0
  37. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/convert_ros_msg.py +0 -0
  38. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/gl_helper.py +0 -0
  39. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/maths.py +0 -0
  40. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/utils/range_slider.py +0 -0
  41. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer/viewer.py +0 -0
  42. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer.egg-info/SOURCES.txt +0 -0
  43. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer.egg-info/dependency_links.txt +0 -0
  44. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer.egg-info/entry_points.txt +0 -0
  45. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer.egg-info/requires.txt +0 -0
  46. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/q3dviewer.egg-info/top_level.txt +0 -0
  47. {q3dviewer-1.1.1 → q3dviewer-1.1.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: q3dviewer
3
- Version: 1.1.1
3
+ Version: 1.1.2
4
4
  Summary: A library designed for quickly deploying a 3D viewer.
5
5
  Home-page: https://github.com/scomup/q3dviewer
6
6
  Author: Liu Yang
@@ -107,7 +107,7 @@ class CMMViewer(q3d.Viewer):
107
107
  label_codec = QLabel("Codec:")
108
108
  codec_layout.addWidget(label_codec)
109
109
  self.codec_combo = QComboBox()
110
- self.codec_combo.addItems(["mjpeg", "mpeg4", "libx264", "libx265"])
110
+ self.codec_combo.addItems(["libx264", "mjpeg", "mpeg4", "libx265"])
111
111
  codec_layout.addWidget(self.codec_combo)
112
112
  setting_layout.addLayout(codec_layout)
113
113
 
@@ -143,6 +143,8 @@ class CMMViewer(q3d.Viewer):
143
143
  dock_widget = QDockWidget("Settings", self)
144
144
  dock_widget.setWidget(QWidget())
145
145
  dock_widget.widget().setLayout(setting_layout)
146
+ # Hide close and undock buttons, I don't want the user to close the dock
147
+ dock_widget.setFeatures(QDockWidget.DockWidgetMovable)
146
148
  self.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock_widget)
147
149
 
148
150
  # Add the dock widget to the main layout
@@ -308,14 +310,16 @@ class CMMViewer(q3d.Viewer):
308
310
 
309
311
  def start_recording(self):
310
312
  self.is_recording = True
311
- self.frames_to_record = []
313
+ self.prv_frame_shape = None
312
314
  video_path = self.video_path_edit.text()
313
315
  codec = self.codec_combo.currentText()
314
316
  self.play_button.setStyleSheet("background-color: red")
315
317
  self.play_button.setText("Recording")
316
318
  self.writer = imageio.get_writer(video_path,
317
319
  fps=self.update_interval,
318
- codec=codec) # quality=10
320
+ codec=codec,
321
+ quality=10,
322
+ pixelformat='yuvj420p')
319
323
  # disable the all the frame_item while recording
320
324
  for frame in self.key_frames:
321
325
  frame.item.hide()
@@ -323,6 +327,7 @@ class CMMViewer(q3d.Viewer):
323
327
 
324
328
  def stop_recording(self, save_movie=True):
325
329
  self.is_recording = False
330
+ self.prv_frame_shape = None
326
331
  self.record_checkbox.setChecked(False)
327
332
  # enable the all the frame_item after recording
328
333
  for frame in self.key_frames:
@@ -342,17 +347,27 @@ class CMMViewer(q3d.Viewer):
342
347
 
343
348
  def record_frame(self):
344
349
  frame = self.glwidget.capture_frame()
345
- # make sure the frame size is multiple of 16
350
+
351
+ # restart recording if the window size changes
352
+ if self.prv_frame_shape is not None and frame.shape != self.prv_frame_shape:
353
+ self.writer.close()
354
+ self.start_recording()
355
+ return
356
+ self.prv_frame_shape = frame.shape
357
+
346
358
  height, width, _ = frame.shape
347
- if height % 16 != 0 or width % 16 != 0:
348
- frame = frame[:-(height % 16), :-(width % 16), :]
349
- frame = np.ascontiguousarray(frame)
350
- self.frames_to_record.append(frame)
359
+ # Adjust frame dimensions to be multiples of 16
360
+ new_height = height - (height % 16)
361
+ new_width = width - (width % 16)
362
+ frame = frame[:new_height, :new_width, :]
363
+ frame = np.ascontiguousarray(frame)
351
364
  try:
352
365
  self.writer.append_data(frame)
353
366
  except Exception as e:
354
- print("Don't change the window size during recording.")
355
- self.stop_recording(False) # Stop recording without saving
367
+ # unexpected error, stop recording without saving
368
+ print("Error while recording:")
369
+ print(e)
370
+ self.stop_recording(False)
356
371
  self.stop_playback()
357
372
 
358
373
  def eventFilter(self, obj, event):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: q3dviewer
3
- Version: 1.1.1
3
+ Version: 1.1.2
4
4
  Summary: A library designed for quickly deploying a 3D viewer.
5
5
  Home-page: https://github.com/scomup/q3dviewer
6
6
  Author: Liu Yang
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='q3dviewer',
5
- version='1.1.1',
5
+ version='1.1.2',
6
6
  author="Liu Yang",
7
7
  description="A library designed for quickly deploying a 3D viewer.",
8
8
  long_description=open("README.md").read(),
File without changes
File without changes
File without changes
File without changes
File without changes