VizStreamerService gRPC
Overview
The VizStreamerService is a gRPC service designed for streaming CAE visualization data, such as meshes, results, point clouds, textures, and associated settings. It provides methods to push various types of data to the service, manage groups, and handle frames and streams.
Below, you find documentation on all the Methods and Messages in the gRPC interface. For an introduction and more general documentation of how the Visualization Streamer Service works, please see the Visualization Streamer Service topic.
You can also find similar methods described in more detail in the C++ Proxy documentation found in vsp::VizStreamerProxy - C++ Proxy Class.
RPC Methods
PushIndexedPolygonMesh
Sends an indexed polygon mesh to the Service.
- Request: PushIndexedPolygonMeshRequest
- Response: GenericPushResponse
PushMeshScalar
Sends a Scalar result that can be mapped on a Mesh to the Service.
- Request: PushMeshScalarRequest
- Response: GenericPushResponse
PushMeshVector
Sends a Vector result that can be mapped on a Mesh to the Service.
- Request: PushMeshVectorRequest
- Response: GenericPushResponse
PushTexture
Sends a 2D Texture image to the Service.
- Request: PushTextureRequest
- Response: GenericPushResponse
PushMeshTextureCoords
Sends an array of 2D Texture coordinates (s,t) to the Service. They can be used to map a texture on a Mesh. One texture coordinate (s,t) per vertex in the Mesh.
- Request: PushMeshTextureCoordsRequest
- Response: GenericPushResponse
PushPointCloud
Sends a point cloud to the Service.
- Request: PushPointCloudRequest
- Response: GenericPushResponse
PushPointCloudVector
Sends a Vector result to the Service that can be mapped on a PointCloud.
- Request: PushPointCloudVectorRequest
- Response: GenericPushResponse
PushMeshSettings
Sends settings for a Mesh to the Service.
- Request: PushMeshSettingsRequest
- Response: GenericPushResponse
PushPointCloudSettings
Sends settings for the PointCloud to the Service.
- Request: PushPointCloudSettingsRequest
- Response: GenericPushResponse
PushScalarSettings
Sends setting for the Scalar mapping to the Service.
- Request: PushScalarSettingsRequest
- Response: GenericPushResponse
PushVectorSettings
Sends settings for the Vector result to the Service.
- Request: PushVectorSettingsRequest
- Response: GenericPushResponse
AddMeshGroup
Sends the mesh instance configuration to the Service.
- Request: AddMeshGroupRequest
- Response: AddGroupResponse
AddPointCloudGroup
Sends the Point Cloud instance configuration to the Service.
- Request: AddPointCloudGroupRequest
- Response: AddGroupResponse
CreateStream
Create a new Stream in the Service.
- Request: CreateStreamRequest
- Response: EmptyMessage
CreateAndPublishSingleFrame
Convenience function to show a single Frame. It deletes all Frames in the Stream, creates a new Frame and publishes this Frame to the Stream.
Similar to CreateFrame
, this function is a server-side barrier that does not return until the frame is ready to
stream from the server.
- Request: CreateFrameRequest
- Response: CreateFrameResponse
CreateFrame
Create a new Frame in the given Stream on the Service.
CreateFrame is a server-side barrier that does not return until the Frame is ready to stream from the server.
- Request: CreateFrameRequest
- Response: CreateFrameResponse
PublishFrames
Publish one or more Frames to a specified Stream. This will make the Frames appear in any Stream Model subscribing to the Stream.
- Request: PublishFramesRequest
- Response: EmptyMessage
DeleteFrames
Delete the specified Frames from the Service. This will allow the cleanup of data in the Service that is no
longer referenced by any frames. To do this, use the DeleteUnreferencedData
message.
- Request: DeleteFramesRequest
- Response: EmptyMessage
DeleteUnreferencedData
Delete any data objects that are not referenced (directly or indirectly by the current list of Frames in any of the current Streams).
- Request: DeleteUnreferencedData
- Response: EmptyMessage
Messages
EmptyMessage
An empty message used when no data is required.
IsAliveResponse
- Fields:
- server_message (string): A message indicating the server status.
GenericPushResponse
- Fields:
- resource_key (string): The ResourceKey for the pushed resource.
PushIndexedPolygonMeshRequest
- Fields:
- vertex_arr (repeated float): Array of vertex coordinates (x,y,z)
- index_arr (repeated fixed32): Array of indices defining the polygons (indices into vertex_arr)
- fixed_vertices_per_poly (uint32, optional): Number of vertices per polygon if fixed.
- vertices_per_poly_arr (bytes, optional): Array specifying number of vertices per polygon.
- tag (string, optional): An optional user-defined tag for the data object.
PushMeshScalarRequest
- Fields:
- bind_to_mesh_key (string): ResourceKey for the Mesh to bind scalar values to.
- result_mapping (ResultMapping): Mapping type for scalar values. Per vertex, per polygon, per polygon-vertex.
- value_arr (repeated float): Array of scalar values (1D field).
PushMeshVectorRequest
- Fields:
- bind_to_mesh_key (string): ResourceKey for the Mesh to bind vector values to.
- result_mapping (ResultMapping): Mapping type for vector values. Per vertex, per polygon, per polygon-vertex.
- vector_arr (repeated float): Array of vector values (3D field) (x,y,z).
PushTextureRequest
- Fields:
- image_width (uint32): Width of the texture image.
- image_height (uint32): Height of the texture image.
- pixel_data_rgba (bytes): Pixel data in RGBA format (byte colors).
- texture_options (TextureOptions, optional): Additional texture options.
- tag (string, optional): An optional user-defined tag for the data object.
PushMeshTextureCoordsRequest
- Fields:
- bind_to_mesh_key (string): ResourceKey for the Mesh to bind texture coordinates to.
- result_mapping (ResultMapping): Mapping type for texture coordinates. Per vertex, per polygon, per polygon-vertex.
- tex_coord_2d_arr (repeated float): Array of 2D texture coordinates (s,t).
PushPointCloudRequest
- Fields:
- vertex_arr (repeated float): Array of point cloud vertices (x,y,z).
- tag (string, optional): An optional user-defined tag for the data object.
PushPointCloudVectorRequest
- Fields:
- bind_to_point_cloud_key (string): ResourceKey for the PointCloud to bind vectors to.
- vector_arr (repeated float): Array of vector values (x,y,z).
PushMeshSettingsRequest
- Fields:
- draw_style (DrawStyle): Drawing style for the mesh.
- color (Color3f): Color of the mesh.
- opacity (float, optional): Opacity level.
- flat_shading (bool, optional): Whether to use flat shading or smooth shading.
PushPointCloudSettingsRequest
- Fields:
- color (Color3f): Color of the point cloud.
PushScalarSettingsRequest
- Fields:
- min_range (float): Minimum scalar value range for result mapping (color legend range).
- max_range (float): Maximum scalar value range for result mapping (color legend range).
PushVectorSettingsRequest
- Fields:
- color (Color3f): Color for vectors.
- scale_factor (float, optional): Scale factor for vector visualization.
AddMeshGroupRequest
- Fields:
- instance_arr (repeated MeshInstance): Array of ResourceKeys for Mesh instances to add.
AddPointCloudGroupRequest
- Fields:
- instance_arr (repeated PointCloudInstance): Array of ResourceKeys for PointCloud instances to add.
CreateStreamRequest
- Fields:
- stream_name (string): Name of the stream.
- description (string): Description of the stream.
- suppress_error_if_stream_exists (bool): Whether to suppress errors if the stream already exists.
CreateFrameRequest
- Fields:
- stream_name (string): Name of the stream to create a frame in.
- mesh_group_key_arr (repeated string): Array of ResourceKeys for MeshGroups to include in the frame.
- point_cloud_group_key_arr (repeated string): Array of ResourceKeys for PointCloudGroups to include in the frame.
CreateFrameResponse
- Fields:
- resource_key (string): The ResourceKey for the newly created Frame.
PublishFramesRequest
- Fields:
- stream_name (string): Name of the stream.
- frame_key_arr (repeated string): Array (1..N) of ResourceKey for Frames to show in the client subscribing to this stream.
DeleteFramesRequest
- Fields:
- stream_name (string): Name of the stream.
- delete_all_frames (bool): If true, all Frames will be deleted.
- delete_frame_key_arr (repeated string): Array of ResourceKey for Frames to delete.
- keep_frame_key_arr (repeated string): Array of ResourceKey for Frames to keep.
Enums
DrawStyle
Specifies the drawing style for rendering meshes.
- DS_UNSPECIFIED (0): Unspecified style.
- DS_SURFACE (1): Solid surface rendering.
- DS_SURFACE_MESH (2): Surface (polygon) mesh rendering.
- DS_SURFACE_OUTLINE_MESH (3): Surface with (polygon) outline mesh.
- DS_LINES (4): Render as lines.
- DS_POINTS (5): Render as points.
- DS_OUTLINE (6): Outline rendering.
- DS_HIDDEN_LINES_REMOVED (7): Lines with hidden lines removed.
ResultMapping
Specifies how values map to mesh elements.
- RM_UNSPECIFIED (0): Unspecified mapping.
- RM_PER_VERTEX (1): Values per vertex.
- RM_PER_POLYGON (2): Values per polygon.
- RM_PER_POLYGON_VERTEX (3): Values per polygon vertex.
TextureMinFilter
Specifies the texture minifying function.
- TMIN_UNSPECIFIED (0): Unspecified filter.
- TMIN_NEAREST (1): Nearest neighbor filtering.
- TMIN_LINEAR (2): Linear filtering.
TextureMagFilter
Specifies the texture magnification function.
- TMAG_UNSPECIFIED (0): Unspecified filter.
- TMAG_NEAREST (1): Nearest neighbor filtering.
- TMAG_LINEAR (2): Linear filtering.
TextureWrapMode
Specifies the wrapping mode for textures.
- TWRAP_UNSPECIFIED (0): Unspecified mode.
- TWRAP_REPEAT (1): Repeat the texture.
- TWRAP_CLAMP_TO_EDGE (2): Clamp the texture to the edges.
Data Types
Color3f
Represents an RGB color with float components (0..1).
- Fields:
- r (float): Red component.
- g (float): Green component.
- b (float): Blue component.
TextureOptions
Options for texture rendering.
- Fields:
- min_filter (TextureMinFilter): Minification filter.
- mag_filter (TextureMagFilter): Magnification filter.
- wrap_mode (TextureWrapMode): Wrapping mode.
- environment_mapping (bool): If true, environment mapping is used.
Notes
- Tags: Optional string identifiers for resources. They will not be used by the Service, but can be retrieved in the client side Stream Model.
- Resource Keys: Unique identifiers returned upon pushing resources, used for future references to the resource (data).