Type conversion functions for buffers More...
#include <Inventor/algorithms/SoConversion.h>
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) |
This module provides data type conversions, like bytes to floats...
Examples:
SoAlgorithms, SoArithmetic, SoConvolution, SoDataExtract, SoSeismic
SoConversion::SoConversion | ( | ) |
SoConversion constructor.
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.
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. |
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.
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. |
Reimplemented in SoCudaConversion, and SoOpenCLConversion.