Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoDevice Class Referenceabstract

VSG extension Abstract device management class More...

#include <Inventor/devices/SoDevice.h>

+ Inheritance diagram for SoDevice:

Public Member Functions

virtual unsigned long long getTotalMemory () const =0
 Returns the total memory of this device in bytes.
 
virtual unsigned long long getAvailableMemory () const =0
 Returns the current available memory of this device in bytes.
 
virtual unsigned int getLogicalUnits () const =0
 Returns the number of logical units of this device.
 
virtual SbString getDriverVersion () const =0
 Returns the driver version of this device.
 
virtual SbString getDeviceName () const =0
 Returns the name of this device.
 

Static Public Member Functions

static SoDevicefind (SoDeviceFindFunction *findFunction)
 Performs a generic search on the list of devices.
 
static unsigned int getDevicesCount ()
 Returns the number of devices.
 
static SoDevicegetDevice (int index)
 Returns the SoDevice pointed by index.
 

Detailed Description

VSG extension Abstract device management class

This class provides generic functions to manage and to get data about specific devices.

There are specific implementations of this class for each type of device supported by Open Inventor. These classes may provide additional methods to query information specific to the device type. Currently the supported device types are:

  • SoCpuDevice: A system CPU, including multiple cores.
  • SoGLDevice: A GPU, managed through the OpenGL API.

Using the query methods, you can determine the number of each type of device and specific information about each device such as the total memory.

On most devices other than the CPU, a device "context" is necessary when using the device. Open Inventor provides classes to manage contexts for each type of device. See SoDeviceContext and its derived classes SoCpuContext and SoGLContext.

Open Inventor provides classes to manage data objects (blocks of memory), called buffer objects, on each type of device. See SoBufferObject and its derived classes SoCpuBufferObject, SoGpuBufferObject etc.

Note: The word "device" is also used to refer to input devices such as the mouse and keyboard. These devices are associated with the viewer or render area and are represented by window system dependent classes. See, for example: SoWinDevice, SoQtDevice and SoXtDevice.

SEE ALSO

SoCpuDevice, SoGLDevice

Definition at line 77 of file SoDevice.h.

Member Function Documentation

◆ find()

static SoDevice * SoDevice::find ( SoDeviceFindFunction findFunction)
static

Performs a generic search on the list of devices.


The SoDeviceFindFunction should return true if a device is the one we are looking for.

Parameters
findFunctionThe find function to be called on each device.

◆ getAvailableMemory()

virtual unsigned long long SoDevice::getAvailableMemory ( ) const
pure virtual

Returns the current available memory of this device in bytes.

Implemented in SoCpuDevice, and SoGLDevice.

◆ getDevice()

static SoDevice * SoDevice::getDevice ( int  index)
static

Returns the SoDevice pointed by index.

Parameters
indexthe index of the SoDevice.

◆ getDeviceName()

virtual SbString SoDevice::getDeviceName ( ) const
pure virtual

Returns the name of this device.

Implemented in SoCpuDevice, and SoGLDevice.

◆ getDevicesCount()

static unsigned int SoDevice::getDevicesCount ( )
static

Returns the number of devices.

◆ getDriverVersion()

virtual SbString SoDevice::getDriverVersion ( ) const
pure virtual

Returns the driver version of this device.

Implemented in SoCpuDevice, and SoGLDevice.

◆ getLogicalUnits()

virtual unsigned int SoDevice::getLogicalUnits ( ) const
pure virtual

Returns the number of logical units of this device.

Implemented in SoCpuDevice, and SoGLDevice.

◆ getTotalMemory()

virtual unsigned long long SoDevice::getTotalMemory ( ) const
pure virtual

Returns the total memory of this device in bytes.

Implemented in SoCpuDevice, and SoGLDevice.


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