RemoteViz::Rendering::Service Class Reference
[RemoteViz]

RemoteViz More...

#include <RemoteViz/Rendering/Service.h>

List of all members.

Public Member Functions

void dispatch () const
bool open (ServiceSettings *instanceSettings)
bool close ()
bool isRunning () const
void createRenderArea (const std::string &id, unsigned int width, unsigned int height, RenderAreaHardware *renderAreaHardware)
RenderAreagetRenderArea (const std::string &id) const
RenderAreagetRenderArea (unsigned int index) const
unsigned int getNumRenderAreas () const
ServiceSettingsgetSettings () const
void addListener (std::shared_ptr< ServiceListener > listener)
void removeListener (std::shared_ptr< ServiceListener > listener)
void removeAllListeners ()
unsigned int getNumListeners () const
ClientgetClient (const std::string &id) const
ClientgetClient (unsigned int index) const
unsigned int getNumClients () const

Static Public Member Functions

static Serviceinstance ()

Detailed Description

RemoteViz

Defines the RemoteViz rendering service.

This class uses the singleton pattern restricting its instantiation to a single unique object in the program. Use the Service::instance() method to get the Service object.

To use RemoteViz, the service must first be opened with the method Service::open(). Create an instance of ServiceSettings to set properties such as the Service IP address and port.

Create an implementation of class ServiceListener to receive notifications from the Service. Register a listener using the addListener() method.

The Service object can also be used to query the current Clients and RenderAreas.

Thread-safety :
All methods in the RemoteViz API are thread-safe. I.e., they are guaranteed to be free of race conditions when accessed by multiple threads simultaneously. But note this limitation with the class Service:

SEE ALSO

ServiceSettings, ServiceListener, Client, RenderArea


Member Function Documentation

void RemoteViz::Rendering::Service::addListener ( std::shared_ptr< ServiceListener listener  ) 

Adds a ServiceListener.

Parameters:
listener : shared pointer to the class that implements ServiceListener
bool RemoteViz::Rendering::Service::close (  ) 

Closes the rendering service.

If renderAreas still exist, this method will dispose them and close the rendering service.

Returns:
true if successful, otherwise returns false.
void RemoteViz::Rendering::Service::createRenderArea ( const std::string &  id,
unsigned int  width,
unsigned int  height,
RenderAreaHardware renderAreaHardware 
)

Creates a renderArea.


This method is optional. The other way to create a renderArea is to return true to the callback ServiceListener::onPendingCreateRenderArea
If the renderArea already exists, the call will be ignored.

Parameters:
id : ID identifying the RenderArea
width : renderArea width
height : renderArea height
renderAreaHardware : renderArea hardware settings. This object will be copied.
void RemoteViz::Rendering::Service::dispatch (  )  const

This method has to be used with the ServiceSettings::INVENTOR_SERVICE and ServiceSettings::INDEPENDENT_SERVICE mode in a loop.

It processes all waiting RemoteViz events.

Client* RemoteViz::Rendering::Service::getClient ( unsigned int  index  )  const

Gets a Client from index.

Range is [0..getNumClients - 1].

Parameters:
index : index identifying the client
Returns:
a client pointer if the index exists, otherwise returns nullptr.
Client* RemoteViz::Rendering::Service::getClient ( const std::string &  id  )  const

Gets a Client from id.

Range is [0..getNumClients - 1].

Parameters:
id : ID identifying the client
Returns:
a client pointer if the id exists, otherwise returns nullptr.
unsigned int RemoteViz::Rendering::Service::getNumClients (  )  const

Gets the number of clients.

Returns:
the number clients attached to the service.
unsigned int RemoteViz::Rendering::Service::getNumListeners (  )  const

Gets the number of ServiceListener.

Returns:
number of ServiceListener.
unsigned int RemoteViz::Rendering::Service::getNumRenderAreas (  )  const

Gets the number of renderAreas.

Returns:
the renderArea number of the Instance.
RenderArea* RemoteViz::Rendering::Service::getRenderArea ( unsigned int  index  )  const

Gets a RenderArea from index.

Range is [0..getNumRenderAreas - 1].

Parameters:
index : index identifying the renderArea
Returns:
a renderArea pointer if the index exists, otherwise returns nullptr.
RenderArea* RemoteViz::Rendering::Service::getRenderArea ( const std::string &  id  )  const

Gets a RenderArea from id.

Range is [0..getNumRenderAreas - 1].

Parameters:
id : ID identifying the RenderArea
Returns:
a renderArea pointer if the id exists, otherwise returns nullptr.
ServiceSettings* RemoteViz::Rendering::Service::getSettings (  )  const

Gets the settings of the service.

Returns:
a pointer to the service settings
static Service* RemoteViz::Rendering::Service::instance (  )  [static]

Renderering service instance (Singleton).

Returns:
the instance pointer
bool RemoteViz::Rendering::Service::isRunning (  )  const

This method is used to know if the rendering service is running.

Returns:
true if running; otherwise returns false.
bool RemoteViz::Rendering::Service::open ( ServiceSettings instanceSettings  ) 

Opens the rendering service.

Parameters:
instanceSettings : the settings of the instance. This object cannot be null and will be copied.

SEE ALSO

Service::getSettings

Returns:
true if successful, otherwise returns false.
void RemoteViz::Rendering::Service::removeAllListeners (  ) 

Removes all ServiceListeners.

void RemoteViz::Rendering::Service::removeListener ( std::shared_ptr< ServiceListener listener  ) 

Removes a ServiceListener.

Parameters:
listener : shared pointer to the class that implements ServiceListener

The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 28 Oct 2019
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/