SoConversion Class Reference
[CPU algorithms]

VSG extension Type conversion functions for buffers More...

#include <Inventor/algorithms/SoConversion.h>

Inheritance diagram for SoConversion:
SoCudaConversion SoOpenCLConversion

List of all members.

Public Member Functions

 SoConversion ()
virtual int convert (SoBufferObject *sourceBufferObject, const SbDataType src_type, SoBufferObject *targetBufferObject, const SbDataType dst_type, const size_t size)
int convert (SoCpuBufferObject *sourceBufferObject, const SbDataType src_type, SoCpuBufferObject *targetBufferObject, const SbDataType dst_type, const size_t size)
virtual int convertFloatToRGBA (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, const size_t size, const float dataMin, const float dataMax)
int convertFloatToRGBA (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, const size_t size, const float dataMin, const float dataMax)

Detailed Description

VSG extension Type conversion functions for buffers

This module provides data type conversions, like bytes to floats...

Examples:

SEE ALSO

SoAlgorithms, SoArithmetic, SoConvolution, SoDataExtract, SoSeismic

See related examples:

ComputeBatch, ComputeSlice


Constructor & Destructor Documentation

SoConversion::SoConversion (  ) 

SoConversion constructor.


Member Function Documentation

int SoConversion::convert ( SoCpuBufferObject sourceBufferObject,
const SbDataType  src_type,
SoCpuBufferObject targetBufferObject,
const SbDataType  dst_type,
const size_t  size 
)

Convert the data in a buffer object from one data type to another one.


Fast implementation for CPU buffers.

virtual int SoConversion::convert ( SoBufferObject sourceBufferObject,
const SbDataType  src_type,
SoBufferObject targetBufferObject,
const SbDataType  dst_type,
const size_t  size 
) [virtual]

Convert the data in a buffer object from one data type to another one.


Notes: The destination buffer and the source buffers can be same.

Limitations: This function only supports FLOAT and UNSIGNED_BYTE for dst_type.

Parameters:
sourceBufferObject The source buffer object.
src_type The type of the data in the source buffer object.
targetBufferObject The destination buffer object.
dst_type The destination type.
size The number of elements in the source buffer object to convert.
Returns:
Returns 0 if there were no errors during the process. Returns 1 if one or more buffers don't have the correct size.

Reimplemented in SoCudaConversion, and SoOpenCLConversion.

int SoConversion::convertFloatToRGBA ( SoCpuBufferObject sourceBufferObject,
SoCpuBufferObject targetBufferObject,
const size_t  size,
const float  dataMin,
const float  dataMax 
)

Convert FLOAT data stored in a buffer to RGBA data.

Fast implementation for CPU buffers.

virtual int SoConversion::convertFloatToRGBA ( SoBufferObject sourceBufferObject,
SoBufferObject targetBufferObject,
const size_t  size,
const float  dataMin,
const float  dataMax 
) [virtual]

Convert FLOAT data stored in a buffer to (grayscale) RGBA data.

  • The source and the target buffers can be the same.
  • The algorithm maps float values between dataMin and dataMax to the range 0..255.
  • The resulting values are clamped to 0..255.
Parameters:
sourceBufferObject The source buffer object containing the FLOAT data.
targetBufferObject The target buffer object.
size The number of FLOAT values to convert.
dataMin The minimum value for the greyscale conversion.
dataMax The maximum value for the greyscale conversion.
Returns:
Returns 0 if there were no errors during the process. Returns 1 if one or more buffers don't have the correct size.

Reimplemented in SoCudaConversion, and SoOpenCLConversion.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/