21#ifndef _SO_REMOTEVIZ_CLIENT_
22#define _SO_REMOTEVIZ_CLIENT_
335 PENDING_NETWORK_CALIBRATION
340 : m_source( source ), m_state( state ), m_renderAreaSize( renderAreaSize ), m_details( &details ) {}
379 : m_source(source), m_message(&message) {}
401 : m_source(source), m_buffer(buffer) {}
423 : m_source(source), m_size(
size) {}
445 : m_source(source), m_id(id), m_dataLength(dataLength), m_isLossless(isLossless), m_message(&message) {}
451 uint64_t
getId()
const {
return m_id; }
465 uint64_t m_dataLength;
479 : m_source(source), m_mouseLocationEvent(mouseLocationEvent) {}
501 : m_source(source), m_mouseButtonEvent(mouseButtonEvent) {}
523 : m_source(source), m_mouseWheelEvent(mouseWheelEvent) {}
545 : m_source(source), m_keyboardEvent(keyboardEvent) {}
567 : m_source(source), m_touchEvent(touchEvent) {}
637 static void initClass();
638 static void exitClass();
644 virtual void notify(SoNotList *list);
649 virtual void doAction(
SoAction *action);
SO_PIMPL_BASE_PUBLIC_DECLARATION(SoRemoteVizClient)
#define SO_NODE_HEADER(className)
Base class for all event arguments.
Class representing an event.
Class for smart character strings.
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> CPU buffer objec...
Renders a scene graph using Open Inventor's Render Engine.
Allows nodes in a graph to receive input events.
Keyboard key press and release events.
Multiple-value field containing any number of enumerated type values.
Multiple-value field containing any number of two-dimensional string vectors.
Abstract base class for all database nodes.
<a href="IconLegend.html"><img src="extRV.gif" alt="RemoteViz" border="0"></a> Client node enables t...
SbEventHandler< KeyboardEventArg & > onKeyboardEvent
Triggered when a keyboard event is fired on the client.
bool isVideoStreamingSupported() const
Checks if the client supports video streaming.
StreamingMode
Streaming mode values.
SecurityProtocols
Each enumeration represents a security protocol.
virtual ~SoRemoteVizClient()
Default destructor.
SbEventHandler< FrameEventArg & > onDecodedFrame
Triggered when a frame is decoded and displayed.
DisplayMode
Display mode value.
@ STRETCH
Stretches the image to fill the container.
@ CROP
The image is cropped more or less (depending on the container size and the renderArea size) to keep t...
void requestRenderAreaSize(const SbVec2s &size)
Sends a request to resize the renderArea associated with the connection.
StreamingMode getStreamingMode() const
Returns the type of streaming currently used by the client.
bool isSecureConnection() const
Gets the SSL engine activation.
void sendMessage(SoCpuBufferObject *buffer)
Sends a binary message to the server.
SbVec2s getRenderAreaSize() const
Returns the size of the renderArea managed by the RemoteViz service.
SoSFBool connect
Opens/Closes a connection between the client and the RemoteViz service.
SbEventHandler< MessageEventArg & > onReceivedMessage
Triggered when a text message is received from the RemoteViz service.
VideoDecoder
Video decoder values.
@ NONE
The video decoder is not yet initialized or the streaming mode is not StreamingMode::VIDEO.
@ NVDECODE
NVIDIA Video Codec enables to use an NVIDIA GPU for H.264 and VP9 hardware accelerated decoding.
@ INTEL_QUICKSYNC
Intel QuickSync enables to use an Intel CPU or GPU for H.264 and VP9 hardware accelerated decoding.
@ OPENH264
OpenH264 is a H.264 software decoding implementation.
SbEventHandler< MouseButtonEventArg & > onMouseButtonEvent
Triggered when a mouse button event is fired on the client.
SbEventHandler< BinaryMessageEventArg & > onReceivedBinaryMessage
Triggered when a binary message is received from the RemoteViz service.
SoSFEnum displayMode
This setting allows you to specify how to map the renderArea image (server-side) into the container (...
void sendMessage(const SbString &message)
Sends a text message to the server.
bool isImageStreamingSupported() const
Checks if the client supports image streaming.
SbEventHandler< TouchEventArg & > onTouchEvent
Triggered when a touch event is fired on the client.
SoSFString renderAreaName
Specifies the renderArea name to which the client will connect.
VideoDecoder getVideoDecoder() const
Returns the video decoder that has been successfully initialized and currently used by the client to ...
SbEventHandler< RenderAreaSizeEventArg & > onRenderAreaResize
Triggered when the renderArea has been resized.
SbEventHandler< ServiceMessageEventArg & > onServiceMessage
Triggered when a service message is received from the RemoteViz service.
SoMFEnum videoDecoders
This setting allows you to specify a preference list of video decoders.
SoSFUShort port
Specifies the port of the RemoteViz Service to which the client will connect.
void enableSecureConnection(const SbString &publicCertificateFilePath, const SbString &privateKeyFilePath, unsigned int enabledSecurityProtocols=TLSv1_1|TLSv1_2|TLSv1_3, const SbString &privateKeyPassphrase="")
Secures the connection between the client and the server.
SbEventHandler< MouseWheelEventArg & > onMouseWheelEvent
Triggered when a mouse wheel event is fired on the client.
SoSFString ipAddress
Specifies the IP address of the RemoteViz Service to which the client will connect.
SbVec2s getContainerSize() const
Returns the size of the renderArea container.
SoRemoteVizClient()
Default constructor.
SoMFVec2String connectionParameters
Connection parameters that will be sent to the RemoteViz service during the connection establishment.
SbEventHandler< FrameEventArg & > onReceivedFrame
Triggered when a frame is received from the RemoteViz service.
SbEventHandler< MouseLocationEventArg & > onMouseLocationEvent
Triggered when a mouse location event is fired on the client.
unsigned int getEnabledSecurityProtocols() const
Gets the security procotols used in RemoteViz.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a string.
Field containing an unsigned short integer.
Base class for touch events.
void notify(SoNotList *list)
Structure given when a received binary message event is raised.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
BinaryMessageEventArg(SoRemoteVizClient *source, SoCpuBufferObject *buffer)
Default constructor.
SoCpuBufferObject * getBuffer() const
Returns the received message.
Structure given when a received and decoded frame event is raised.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
const SbString & getMessage() const
Returns the attached message.
uint64_t getDataLength() const
Returns the frame data length.
FrameEventArg(SoRemoteVizClient *source, uint64_t id, uint64_t dataLength, bool isLossless, const SbString &message)
Default constructor.
bool isLossless() const
Returns if the frame encoding is lossless.
uint64_t getId() const
Returns the frame ID.
Structure given when a keyboard event is raised.
SoKeyboardEvent * getKeyboardEvent() const
Returns the keyboard event.
KeyboardEventArg(SoRemoteVizClient *source, SoKeyboardEvent *keyboardEvent)
Default constructor.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
Structure given when a received text message event is raised.
MessageEventArg(SoRemoteVizClient *source, const SbString &message)
Default constructor.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
const SbString & getMessage() const
Returns the received message.
Structure given when a mouse location event is raised.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
MouseLocationEventArg(SoRemoteVizClient *source, SoLocation2Event *mouseLocationEvent)
Default constructor.
SoLocation2Event * getMouseLocationEvent() const
Returns the mouse location event.
Structure given when a mouse wheel event is raised.
SoMouseWheelEvent * getMouseWheelEvent() const
Returns the mouse wheel event.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
MouseWheelEventArg(SoRemoteVizClient *source, SoMouseWheelEvent *mouseWheelEvent)
Default constructor.
Structure given when a renderArea resize event is raised.
const SbVec2s & getSize() const
Returns the renderArea size.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
RenderAreaSizeEventArg(SoRemoteVizClient *source, SbVec2s size)
Default constructor.
Structure given when a ServiceMessage event is raised.
const SbVec2s & getRenderAreaSize() const
Returns the renderArea size.
State getState() const
Returns the connection state with the service.
@ CONNECTED
Connected to the service.
@ DISCONNECTED
Disconnected from the service.
@ FINISH_NETWORK_CALIBRATION
The network calibration is finished.
@ FINISH_BANDWIDTH_CALIBRATION
The network bandwidth calibration is finished.
@ START_NETWORK_CALIBRATION
The network calibration is started.
@ START_LATENCY_CALIBRATION
The network latency calibration is started.
@ FINISH_LATENCY_CALIBRATION
The network latency calibration is finished.
@ START_BANDWIDTH_CALIBRATION
The network bandwidth calibration is started.
const SbString & getDetails() const
Returns details of the event.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
ServiceMessageEventArg(SoRemoteVizClient *source, State state, SbVec2s renderAreaSize, const SbString &details)
Default constructor.
Structure given when a touch event is raised.
TouchEventArg(SoRemoteVizClient *source, SoTouchEvent *touchEvent)
Default constructor.
SoRemoteVizClient * getSource() const
Returns the SoRemoteVizClient node that triggered the event.
SoTouchEvent * getTouchEvent() const
Returns the touch event.