robokudo.vis.multiprocessed_o3d_visualizer¶
Open3D-based visualization for RoboKudo pipelines.
This module provides 3D visualization capabilities for RoboKudo pipelines using Open3D. It handles:
3D geometry visualization
Point cloud rendering
Camera control
Coordinate frame display
Window management
Attributes¶
Classes¶
Open3D-based visualizer for 3D geometry data. |
|
A base memory map for shared memory. |
|
A memory map for an object in shared memory. |
|
A memory map for a numpy array in shared memory. |
|
A memory map for a geometry in shared memory. |
|
A factory class for creating geometry memory maps from open3d geometry objects. |
|
A factory class for creating geometry memory maps from open3d geometry3d objects. |
|
A message containing geometry data for visualization. |
|
A manager for geometries in shared memory. |
|
A client for the MultiprocessedViewer3D server. |
|
A wrapper class for the Viewer3D class to run it in a separate process. |
Module Contents¶
- class robokudo.vis.multiprocessed_o3d_visualizer.O3DVisualizer(*args: typing_extensions.Any, **kwargs: typing_extensions.Any)¶
-
Bases:
robokudo.vis.visualizer.Visualizer,robokudo.vis.visualizer.Visualizer.ObserverOpen3D-based visualizer for 3D geometry data.
This class provides visualization of 3D geometry data from pipeline annotators using Open3D windows. It supports:
3D geometry visualization
Point cloud rendering
Camera control
Coordinate frame display
Shared visualization state
Note
This Visualizer works with a shared state and needs notifications
- viewer3d: typing_extensions.Optional[MultiprocessedViewer3D] = None¶
-
Open3D viewer instance
- notify(observable: robokudo.vis.visualizer.Visualizer.Observable, *args: typing_extensions.Any, **kwargs: typing_extensions.Any) None¶
-
Handle notification of state changes.
- Parameters:
-
observable – The object that sent the notification
- tick() None¶
-
Update the visualization display.
This method:
Initializes viewer if needed
Gets current annotator outputs
Updates display if needed
Handles viewer lifecycle
- Returns:
-
False if visualization should terminate, True otherwise
- window_title() str¶
-
Get the window title for this visualizer.
- class robokudo.vis.multiprocessed_o3d_visualizer.MemoryMap¶
-
Bases:
objectA base memory map for shared memory.
- byte_size: int¶
-
Size of the underlying data in bytes.
- robokudo.vis.multiprocessed_o3d_visualizer.T¶
- class robokudo.vis.multiprocessed_o3d_visualizer.ObjectMemoryMap¶
-
Bases:
MemoryMap,typing_extensions.Generic[T]A memory map for an object in shared memory.
- mapped_attributes = []¶
-
A list of (attribute name, attribute type) for the attributes mapped by the memory map.
- classmethod get_memory_map(obj: typing_extensions.Any) typing_extensions.Union[ArrayMemoryMap, ObjectMemoryMap]¶
-
Get the memory map for the given object.
This works for iterables that can be converted to numpy arrays, sets and objects that have a memory map available in ObjectMemoryMapFactory. If the given object is not a set, numpy array or object for which a memory map is available, the default behaviour will try to read it to a numpy array.
- Parameters:
-
obj – The object to get the memory map for.
- Returns:
-
The object or array memory map.
- classmethod create_mapped_attributes_memory_maps(obj: typing_extensions.Any) typing_extensions.Tuple[typing_extensions.Dict[str, typing_extensions.Optional[typing_extensions.Union[MemoryMap, typing_extensions.List[MemoryMap]]]], int]¶
-
Create memory maps for all mapped attributes using the values of an object.
- Parameters:
-
obj – The object to create memory maps for.
- Returns:
-
A map of attribute name to memory map and the total size of all memory maps.
- Raises:
-
AttributeError – If a mapped attribute is not present in the given object.
- static _write_attribute(write_buf: memoryview, write_idx: int, attribute_map: typing_extensions.Union[ArrayMemoryMap, ObjectMemoryMap], geometry_attribute: typing_extensions.Any) int¶
-
Write the given geometry attribute to the given buffer using the attribute memory map.
This works for object memory maps, sets and iterables that can be converted to numpy arrays.
- Parameters:
-
write_buf – The buffer to write to.
write_idx – The byte index to start writing at.
attribute_map – The memory map of the attribute.
geometry_attribute – The attribute to write.
- Returns:
-
The byte index after writing.
- write_mapped_attributes(input_obj: object, write_buf: memoryview, write_idx: int) int¶
-
Write the mapped attributes to a buffer using the data from the given object.
- Parameters:
-
input_obj – The object to write the data from to a buffer.
write_buf – The buffer to write to.
write_idx – The byte index to start writing at.
- Returns:
-
The new byte index to start writing new data at.
- Raises:
-
AttributeError – If a mapped attribute is not present in the given object.
- static _read_attribute(attribute_map: typing_extensions.Union[ArrayMemoryMap, ObjectMemoryMap], attribute_type: typing_extensions.Type, read_buf: memoryview, read_idx: int) typing_extensions.Tuple[typing_extensions.Any, int]¶
-
Read the given attribute map from the read buffer starting from the byte index.
- Parameters:
-
attribute_map – The memory map of the attribute to read from the buffer.
attribute_type – The type mapped out by the memory map.
read_buf – The buffer to read from.
read_idx – The byte index to start reading at.
- Returns:
-
The data read from the buffer as an instance of attribute_type and the new read byte index.
- read_mapped_attributes_to_object(output_obj: object, read_buf: memoryview, read_idx: int) int¶
-
Read the mapped attributes from a buffer into the given object.
- Parameters:
-
output_obj – The object to read the data in.
read_buf – The buffer to read from.
read_idx – The byte index to start reading at.
- Returns:
-
The new byte index to start reading new data at.
- Raises:
-
AttributeError – If a mapped attribute is not present in the given object.
- classmethod from_object(obj: T) ObjectMemoryMap[T]¶
-
Create a new memory map for the given object.
- Parameters:
-
obj – The object to create the memory map from.
- write_object(write_buf: memoryview, write_idx: int, obj: T) int¶
-
Write the given object to the shared memory using the memory map.
- Parameters:
-
write_buf – The memoryview to write to.
write_idx – The index to start writing at.
obj – The object to write.
- Returns:
-
The new write index.
- read_object(read_buf: memoryview, read_idx: int) typing_extensions.Tuple[T, int]¶
-
Read an object from the shared memory using the memory map.
- Parameters:
-
read_buf – The memoryview to read from.
read_idx – The index to start reading at.
- Returns:
-
The object and the new read index.
- class robokudo.vis.multiprocessed_o3d_visualizer.ArrayMemoryMap¶
-
Bases:
MemoryMapA memory map for a numpy array in shared memory.
- shape: typing_extensions.Tuple¶
-
Shape of the underlying array.
- dtype: str¶
-
Datatype of the underlying data as a string.
- classmethod from_numpy_array(array: numpy.typing.NDArray) typing_extensions.Self¶
-
Create a new memory map for the given numpy array.
- robokudo.vis.multiprocessed_o3d_visualizer.G¶
- class robokudo.vis.multiprocessed_o3d_visualizer.Geometry3DMemoryMap¶
-
Bases:
ObjectMemoryMap[G],typing_extensions.Generic[G]A memory map for a geometry in shared memory.
- name: str¶
-
Name of the underlying geometry.
- type: typing_extensions.Type¶
-
Type of the underlying geometry.
- material: typing_extensions.Optional[ObjectMemoryMap] = None¶
-
Material property of the o3d geometry.
- group: typing_extensions.Optional[str] = None¶
-
Group property of the o3d geometry.
- time: typing_extensions.Optional[float] = None¶
-
Time property of the o3d geometry.
- is_visible: typing_extensions.Optional[bool] = None¶
-
IsVisible property of the o3d geometry.
- classmethod from_geometry(name: str, geometry: open3d.geometry.Geometry3D, material: typing_extensions.Optional[open3d.visualization.rendering.MaterialRecord] = None, group: typing_extensions.Optional[str] = None, time: typing_extensions.Optional[float] = None, is_visible: typing_extensions.Optional[bool] = None) typing_extensions.Self¶
-
Create a new memory memory map for the given geometry.
- Parameters:
-
name – The o3d name of the geometry.
geometry – The o3d geometry to create a memory map for.
material – The o3d material property of the geometry.
group – The o3d group property of the geometry.
time – The o3d time property of the geometry.
is_visible – The o3d is_visible property of the geometry.
- classmethod from_geometry_dict(geometry: typing_extensions.Dict[str, typing_extensions.Any]) Geometry3DMemoryMap¶
-
Create a new memory map from a geometry dictionary.
- Parameters:
-
geometry – The geometry dictionary to create a memory map from.
- Returns:
-
The memory map created from the geometry dictionary.
- read_geometry_dict(read_buf: memoryview, read_idx: int) typing_extensions.Tuple[typing_extensions.Dict, int]¶
-
Create an open3d geometry dict from the memory map.
- Parameters:
-
read_buf – The memory buffer to read from.
read_idx – The byte index to start reading from.
- Returns:
-
The geometry dictionary and the byte index after reading.
- write_geometry(write_buf: memoryview, write_idx: int, geometry: typing_extensions.Union[open3d.geometry.Geometry3D, typing_extensions.Dict]) int¶
-
Write the given geometry to the shared memory using the memory map.
- Parameters:
-
write_buf – The shared memory to write to.
write_idx – The byte index to start writing at.
geometry – The geometry to write.
- Returns:
-
The byte index after writing.
- read_geometry(read_buf: memoryview, read_idx: int) typing_extensions.Tuple[open3d.geometry.PointCloud, int]¶
-
Read the geometry from the shared memory using the memory map.
- Parameters:
-
read_buf – The shared memory to read from.
read_idx – The byte index to start reading from.
- Returns:
-
The geometry read from the shared memory and the byte index after reading.
- class robokudo.vis.multiprocessed_o3d_visualizer.PointCloudMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.PointCloud]- points: ArrayMemoryMap¶
-
Memory map of the point clouds points.
- normals: ArrayMemoryMap¶
-
Memory map of the point clouds point normals.
- colors: ArrayMemoryMap¶
-
Memory map of the point clouds point colors.
- covariances: ArrayMemoryMap¶
-
Memory map of the point clouds point covariances.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.LineSetMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.LineSet]- colors: ArrayMemoryMap¶
-
Memory map of the line set colors.
- lines: ArrayMemoryMap¶
-
Memory map of the line set lines.
- points: ArrayMemoryMap¶
-
Memory map of the line set points.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.MeshBaseMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.MeshBase]- vertices: ArrayMemoryMap¶
-
Memory map of the mesh vertices.
- vertex_normals: ArrayMemoryMap¶
-
Memory map of the vertex normals.
- vertex_colors: ArrayMemoryMap¶
-
Memory map of the vertex colors.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.TriangleMeshMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.TriangleMesh]- vertices: ArrayMemoryMap¶
-
Memory map of the mesh vertices.
- vertex_normals: ArrayMemoryMap¶
-
Memory map of the vertex normals.
- vertex_colors: ArrayMemoryMap¶
-
Memory map of the vertex colors.
- triangles: ArrayMemoryMap¶
-
Memory map of the mesh triangles.
- triangle_normals: ArrayMemoryMap¶
-
Memory map of the mesh triangle normals.
- triangle_uvs: ArrayMemoryMap¶
-
Memory map of the mesh triangle uvs.
- triangle_material_ids: ArrayMemoryMap¶
-
Memory map of the mesh triangle material ids.
- textures: typing_extensions.List[ArrayMemoryMap]¶
-
Memory map of the mesh textures.
- adjacency_list: typing_extensions.List[ArrayMemoryMap]¶
-
Memory map of the mesh adjacency list.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.OrientedBoundingBoxMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.OrientedBoundingBox]- center: ArrayMemoryMap¶
-
Memory map of the oriented bounding box center.
- color: ArrayMemoryMap¶
-
Memory map of the oriented bounding box color.
- extent: ArrayMemoryMap¶
-
Memory map of the oriented bounding box extent.
- R: ArrayMemoryMap¶
-
Memory map of the oriented bounding box extent.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.AxisAlignedBoundingBoxMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.AxisAlignedBoundingBox]- color: ArrayMemoryMap¶
-
Memory map of the axis aligned bounding box color.
- max_bound: ArrayMemoryMap¶
-
Memory map of the axis aligned bounding box maximum bound.
- min_bound: ArrayMemoryMap¶
-
Memory map of the axis aligned bounding box maximum bound.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.TetraMeshMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.TetraMesh]- tetras: ArrayMemoryMap¶
-
Memory map of the tetra mesh tetras.
- vertex_colors: ArrayMemoryMap¶
-
Memory map of the tetra mesh vertex colors.
- vertex_normals: ArrayMemoryMap¶
-
Memory map of the tetra mesh vertex normals.
- vertices: ArrayMemoryMap¶
-
Memory map of the tetra mesh vertices.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.MaterialRecordMemoryMap¶
-
Bases:
ObjectMemoryMap[open3d.visualization.rendering.MaterialRecord]- absorption_color: ArrayMemoryMap¶
- absorption_distance: float¶
- albedo_img: typing_extensions.Optional[ArrayMemoryMap]¶
- anisotropy_img: typing_extensions.Optional[ArrayMemoryMap]¶
- ao_img: typing_extensions.Optional[ArrayMemoryMap]¶
- ao_rough_metal_img: typing_extensions.Optional[ArrayMemoryMap]¶
- aspect_ratio: float¶
- base_anisotropy: float¶
- base_clearcoat: float¶
- base_clearcoat_roughness: float¶
- base_color: ArrayMemoryMap¶
- base_metallic: float¶
- base_reflectance: float¶
- base_roughness: float¶
- clearcoat_img: typing_extensions.Optional[ArrayMemoryMap]¶
- clearcoat_roughness_img: typing_extensions.Optional[ArrayMemoryMap]¶
- emissive_color: ArrayMemoryMap¶
- ground_plane_axis: float¶
- has_alpha: bool¶
- metallic_img: typing_extensions.Optional[ArrayMemoryMap]¶
- normal_img: typing_extensions.Optional[ArrayMemoryMap]¶
- point_size: float¶
- reflectance_img: typing_extensions.Optional[ArrayMemoryMap]¶
- roughness_img: typing_extensions.Optional[ArrayMemoryMap]¶
- sRGB_color: bool¶
- scalar_max: float¶
- scalar_min: float¶
- shader: str¶
- thickness: float¶
- transmission: float¶
- mapped_attributes¶
- classmethod from_object(obj: open3d.visualization.rendering.MaterialRecord) typing_extensions.Self¶
- write_object(write_buf: memoryview, write_idx: int, obj: open3d.visualization.rendering.MaterialRecord) int¶
-
Write the given geometry to the shared memory using the memory map.
- Parameters:
-
write_buf – The memory buffer to write to.
write_idx – The byte index to start writing at.
obj – The geometry to write.
- Returns:
-
The byte index after writing.
- read_object(read_buf: memoryview, read_idx: int) typing_extensions.Tuple[open3d.visualization.rendering.MaterialRecord, int]¶
-
Read the geometry from the shared memory using the memory map.
- Parameters:
-
read_buf – The memory buffer to read from.
read_idx – The byte index to start reading from.
- Returns:
-
The geometry read from the shared memory and the byte index after reading.
- class robokudo.vis.multiprocessed_o3d_visualizer.HalfEdgeMemoryMap¶
-
Bases:
ObjectMemoryMap[open3d.geometry.HalfEdge]- data: ArrayMemoryMap¶
-
Memory map containing next, triangle_index, twin and vertex_indices.
- classmethod from_object(obj: open3d.geometry.HalfEdge) typing_extensions.Self¶
-
Create a HalfEdgeMemoryMap from a HalfEdge object.
- Parameters:
-
obj – The HalfEdge object to create a HalfEdgeMemoryMap from.
- Returns:
-
The HalfEdgeMemoryMap created from the HalfEdge object.
- write_object(write_buf: memoryview, write_idx: int, obj: open3d.geometry.HalfEdge) int¶
-
Write the given HalfEdge object to the given buffer using the memory map.
- Parameters:
-
write_buf – The buffer to write to.
write_idx – The byte index to start writing at.
obj – The HalfEdge object to write.
- Returns:
-
The byte index after writing.
- read_object(read_buf: memoryview, read_idx: int) typing_extensions.Tuple[open3d.geometry.HalfEdge, int]¶
-
Read the given buffer from the given byte index as a HalfEdge object using the memory map.
- Parameters:
-
read_buf – The buffer to read from.
read_idx – The byte index to start reading from.
- Returns:
-
The HalfEdge object read from the buffer and the byte index after reading.
- class robokudo.vis.multiprocessed_o3d_visualizer.HalfEdgeTriangleMeshMemoryMap¶
-
Bases:
Geometry3DMemoryMap[open3d.geometry.HalfEdgeTriangleMesh]- half_edges: typing_extensions.List[HalfEdgeMemoryMap]¶
-
Memory map of the half edge mesh half edges.
- ordered_half_edge_from_vertex: typing_extensions.List[ArrayMemoryMap]¶
-
Memory map of the half edge mesh ordered half edge from vertex.
- triangle_normals: ArrayMemoryMap¶
-
Memory map of the half edge mesh triangle normals.
- triangles: ArrayMemoryMap¶
-
Memory map of the half edge mesh triangles.
- vertex_colors: ArrayMemoryMap¶
-
Memory map of the half edge mesh vertex colors.
- vertex_normals: ArrayMemoryMap¶
-
Memory map of the half edge mesh vertex normals.
- vertices: ArrayMemoryMap¶
-
Memory map of the half edge mesh vertices.
- mapped_attributes¶
- class robokudo.vis.multiprocessed_o3d_visualizer.ObjectMemoryMapFactory¶
-
A factory class for creating geometry memory maps from open3d geometry objects.
- proxies: typing_extensions.Dict[typing_extensions.Type, typing_extensions.Type[ObjectMemoryMap]]¶
-
Map of open3d geometry types to their corresponding memory map types.
- classmethod has_proxy(obj: typing_extensions.Any) bool¶
-
Check whether the factory has a proxy for the given object class.
- Parameters:
-
obj – The object to check.
- Returns:
-
True if there is a proxy available for the given object class, False otherwise.
- classmethod from_object(obj: typing_extensions.Any) ObjectMemoryMap¶
-
Create a geometry proxy from a Geometry3D object.
- Parameters:
-
obj – The object to create a proxy for.
- Raises:
-
KeyError – If the factory has no proxy for the geometry type.
- class robokudo.vis.multiprocessed_o3d_visualizer.Geometry3DMemoryMapFactory¶
-
A factory class for creating geometry memory maps from open3d geometry3d objects.
- proxies: typing_extensions.Dict[typing_extensions.Type, typing_extensions.Type[Geometry3DMemoryMap]]¶
-
Map of open3d geometry types to their corresponding memory map types.
- classmethod has_proxy(obj: typing_extensions.Any) bool¶
-
Check whether the factory has a proxy for the given object class.
- Parameters:
-
obj – The object to check.
- Returns:
-
True if there is a proxy available for the given object class, False otherwise.
- classmethod from_geometry(name: str, geometry: open3d.geometry.Geometry3D) Geometry3DMemoryMap¶
-
Create a geometry proxy from a Geometry3D object.
- Parameters:
-
name – The name of the geometry used to add the geometry to the O3DVisualizer.
geometry – The geometry object to create a proxy for.
- Raises:
-
KeyError – If the factory has no proxy for the geometry type.
- classmethod from_geometry_dict(geometry: typing_extensions.Dict) Geometry3DMemoryMap¶
-
Create a geometry proxy from a Geometry3D object.
- Parameters:
-
geometry – The geometry dictionary to create a proxy for.
- Returns:
-
The geometry proxy created from the geometry dictionary.
- Raises:
-
KeyError – If the factory has no proxy for the geometry type.
- class robokudo.vis.multiprocessed_o3d_visualizer.MemoryMapTransport¶
-
Bases:
objectA message containing geometry data for visualization.
- shm_name: str¶
-
The shared memory to read from.
- memory_maps: typing_extensions.List[Geometry3DMemoryMap] = []¶
-
The memory mappings for the geometries.
-
Bases:
objectA manager for geometries in shared memory.
-
The shared memory managed by the instance.
-
A list of all memory maps managed by this object.
-
The total size of all memory maps managed by this object.
-
The current end byte index of the shared memory (sum of all memory map sizes).
-
Create a SharedMemoryManager with a newly created shared memory of the given size.
- Parameters:
-
size – The size of the shared memory to create.
- Returns:
-
A SharedMemoryManager instance with the newly created shared memory.
-
Create a SharedMemoryManager for an existing shared memory with the given name.
- Parameters:
-
name – The name of the shared memory to use.
- Returns:
-
A SharedMemoryManager instance for the existing shared memory.
-
The name of the shared memory managed by the instance.
-
Add a memory map to the shared memory manager.
- Parameters:
-
memory_map – MemoryMap to add to the shared memory manager.
- Returns:
-
The byte index to start writing to for the appended memory map
-
Add a list of memory maps to the shared memory manager.
- Returns:
-
The byte indices to start writing to for each of the appended memory maps
-
Write a geometry to the shared memory using the given memory map.
- Parameters:
-
geometry_dict – The geometry dictionary to write to the shared memory.
memory_map – The memory map to use for writing the geometry.
-
Read all memory maps from the shared memory manager.
- Returns:
-
An iterator over the geometries read from the shared memory.
-
Reset the shared memory manager to its initial state.
-
Close the underlying shared memory.
-
Unlink and close the underlying shared memory.
-
- class robokudo.vis.multiprocessed_o3d_visualizer.MultiprocessedViewer3DClient(title: str, cmd_conn: multiprocessing.connection.Connection, tick_return: multiprocessing.Event)¶
-
Bases:
objectA client for the MultiprocessedViewer3D server.
- rk_logger: logging.Logger = None¶
-
Logger instance
- viewer3d¶
-
Viewer3D instance for visualization.
- cmd_conn¶
-
Communication connection for sending and receiving commands from the main process.
- tick_return¶
-
Event indicating that the o3d visualizer shut down.
- name_to_shm_manager: typing_extensions.Dict[str, SharedMemoryManager]¶
-
Mapping of shared memory names to shared memory instances.
- visualized_geometries: typing_extensions.List[str] = []¶
-
List of the names of the currently visualized geometries
- geometries_lock: threading.Lock¶
-
Lock for synchronizing access to the geometries list.
- geometries: typing_extensions.List[typing_extensions.Union[typing_extensions.Dict, open3d.geometry.Geometry3D]] = []¶
-
List of the geometries to use for updating the viewer.
- receiver_thread¶
-
A thread for listening to commands from the main process.
- get_shm_manager(shm_name: str) SharedMemoryManager¶
-
Get the current shared memory manager.
- Parameters:
-
shm_name – The name of the shared memory to get the manager for.
- Returns:
-
The shared memory manager for the given shared memory name.
- run() None¶
-
Run the visualization client.
- close() None¶
-
Close the visualization client and clean up resources.
- update_geometry() None¶
-
Update the geometry in the viewer.
- listen() None¶
-
Listen for commands from the main process and handle them accordingly.
- class robokudo.vis.multiprocessed_o3d_visualizer.MultiprocessedViewer3D(title: str, shm_size: int = 5000000000)¶
-
Bases:
objectA wrapper class for the Viewer3D class to run it in a separate process.
- rk_logger: logging.Logger = None¶
-
Logger instance
- buffer_count = 2¶
-
Number of buffers to use for communication.
- buffer_write_cursor = 0¶
-
Index of the memory manager to use for writing.
- buffer_read_cursor = 1¶
-
Index of the memory manager to use for reading.
- tick_return¶
-
Event indicating that the o3d visualizer shut down.
- memory_manager¶
-
Manager instances for shared memory handling.
- parent_cmd_conn: multiprocessing.connection.Connection¶
-
Pipe connection for sending and receiving commands from the main process.
- child_cmd_conn: multiprocessing.connection.Connection¶
-
Pipe connection for sending and receiving commands on the visualizer process.
- visualizer_process: multiprocessing.Process¶
-
A process running a viewer3d instance.
- static run_visualizer(title: str, cmd_conn: multiprocessing.connection.Connection, tick_return: multiprocessing.Event) None¶
-
Run the viewer3d instance in a separate process.
- Parameters:
-
title – Window title for the viewer.
cmd_conn – Connection for sending and receiving commands from the main process.
tick_return – Event indicating that the o3d visualizer shut down to the main process.
- property _read_manager: SharedMemoryManager¶
-
The manager for the shared memory that is currently readable.
- property _write_manager: SharedMemoryManager¶
-
The manager for the shared memory that is currently writeable.
- _swap_buffers() typing_extensions.Tuple[int, int]¶
-
Rotate the read and write buffers.
- Returns:
-
The indices of the new buffers in format (read_buffer, write_buffer)
- tick() bool¶
-
Dummy tick method indicating whether the visualizer has shut down.
- Returns:
-
True if the visualizer has shut down, False otherwise.
- update_cloud(geometries: typing_extensions.Optional[typing_extensions.Union[open3d.geometry.Geometry, typing_extensions.Dict, typing_extensions.List]]) None¶
-
Update the displayed geometries.
This method updates the Open3D visualizer based on the outputs of the annotators. For the first update, it also sets up the camera and coordinate frame.
- Parameters:
-
geometries – Geometries to display. Can be:
Note
The dict format follows Open3D’s draw() convention. See: https://github.com/isl-org/Open3D/blob/master/examples/python/visualization/draw.py
- close() None¶
-
Clean up shared memory and process resources.