(self)
| 185 | """Holds all mutable viewer state.""" |
| 186 | |
| 187 | def __init__(self): |
| 188 | self.camera: Optional[OrbitCamera] = None |
| 189 | self.pcm: Optional[PointCloudManager] = None |
| 190 | self.animator = KeyframeAnimator() |
| 191 | |
| 192 | # Display params |
| 193 | self.frame_idx = 0 |
| 194 | self.display_mode = "all" |
| 195 | self.conf_threshold = 0.0 |
| 196 | self.point_size = 2.0 |
| 197 | self.background = [0.0, 0.0, 0.0] # black |
| 198 | self.render_width = 1280 |
| 199 | self.render_height = 720 |
| 200 | self.max_points = 5_000_000 # cap for interactive rendering |
| 201 | |
| 202 | # Octree LOD |
| 203 | self.octree = None # OctreeSPC instance |
| 204 | self.lod_target_pixels = 1.5 |
| 205 | self.near = 0.01 |
| 206 | self.far = 1000.0 |
| 207 | |
| 208 | # EDL post-processing |
| 209 | self.edl_enabled = True |
| 210 | self.edl_strength = 0.4 |
| 211 | self.edl_radius = 2 |
| 212 | |
| 213 | # Camera trail |
| 214 | self.show_trail = True |
| 215 | self.cam_positions = None # (S, 3) numpy array |
| 216 | |
| 217 | # Renderer |
| 218 | self._renderer = None |
| 219 | self._pcd = None |
| 220 | self._mat = None |
| 221 | self._dirty_geometry = True |
| 222 | self._dirty_camera = True |
| 223 | |
| 224 | def init_renderer(self, width: int, height: int): |
| 225 | o3d = _import_open3d() |
nothing calls this directly
no test coverage detected