SoCudaArithmetic Class Reference
[CUDA algorithms]

VSG extension Arithmetic functions for CUDA buffers More...

#include <Inventor/cuda/algorithms/SoArithmetic.h>

Inheritance diagram for SoCudaArithmetic:
SoArithmetic

List of all members.

Public Member Functions

 SoCudaArithmetic ()
virtual int add (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *inputBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC)
int add (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC)
virtual int mult (SoBufferObject *intpuBufferA, const SbDataType typeA, SoBufferObject *intpuBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC)
int mult (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC)
virtual int scale (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *outputBufferB, const SbDataType typeB, const float scaleValue)
int scale (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *outputBufferB, const SbDataType typeB, const float scaleValue)
virtual int shift (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *outputBufferB, const SbDataType typeB, const float shiftFactor)
int shift (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *outputBufferB, const SbDataType typeB, const float shiftFactor)
virtual int madd (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *inputBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC, const float scaleValue)
int madd (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC, const float scaleValue)

Detailed Description

VSG extension Arithmetic functions for CUDA buffers

The Arithmetic module provides basic Add, Multiply, etc functions that operate on buffers.

NOTE: The classes in this module do not exist in Open Inventor 10.0 and later.

Examples:


Constructor & Destructor Documentation

SoCudaArithmetic::SoCudaArithmetic (  ) 

Constructor.


Member Function Documentation

int SoCudaArithmetic::add ( SoCudaBufferObject inputBufferA,
const SbDataType  typeA,
SoCudaBufferObject inputBufferB,
const SbDataType  typeB,
SoCudaBufferObject outputBufferC,
const SbDataType  typeC 
)

Add two buffers into a third one.


Cuda input version.

virtual int SoCudaArithmetic::add ( SoBufferObject inputBufferA,
const SbDataType  typeA,
SoBufferObject inputBufferB,
const SbDataType  typeB,
SoBufferObject outputBufferC,
const SbDataType  typeC 
) [virtual]

Add two buffers into a third one.


C = A + B
Note: C can be a reference to A or B.
Limitation: typeA and typeB must be the same as typeC.

Reimplemented from SoArithmetic.

int SoCudaArithmetic::madd ( SoCudaBufferObject inputBufferA,
const SbDataType  typeA,
SoCudaBufferObject inputBufferB,
const SbDataType  typeB,
SoCudaBufferObject outputBufferC,
const SbDataType  typeC,
const float  scaleValue 
)

C = A * scale + B
Cuda input version.

virtual int SoCudaArithmetic::madd ( SoBufferObject inputBufferA,
const SbDataType  typeA,
SoBufferObject inputBufferB,
const SbDataType  typeB,
SoBufferObject outputBufferC,
const SbDataType  typeC,
const float  scaleValue 
) [virtual]

C = A * scale + B
Note: C can be a reference to A or B
Limitation: typeA and typeB must be the same as typeC.

Reimplemented from SoArithmetic.

int SoCudaArithmetic::mult ( SoCudaBufferObject inputBufferA,
const SbDataType  typeA,
SoCudaBufferObject inputBufferB,
const SbDataType  typeB,
SoCudaBufferObject outputBufferC,
const SbDataType  typeC 
)

Multiply two buffers into a third one.


Cuda input version.

virtual int SoCudaArithmetic::mult ( SoBufferObject intpuBufferA,
const SbDataType  typeA,
SoBufferObject intpuBufferB,
const SbDataType  typeB,
SoBufferObject outputBufferC,
const SbDataType  typeC 
) [virtual]

Multiply two buffers into a third one.


C = A * B Note: C can be a reference to A or B
Limitation: typeA and typeB must be the same as typeC

Reimplemented from SoArithmetic.

int SoCudaArithmetic::scale ( SoCudaBufferObject inputBufferA,
const SbDataType  typeA,
SoCudaBufferObject outputBufferB,
const SbDataType  typeB,
const float  scaleValue 
)

B = A * scaleFactor
Cuda input version.

virtual int SoCudaArithmetic::scale ( SoBufferObject inputBufferA,
const SbDataType  typeA,
SoBufferObject outputBufferB,
const SbDataType  typeB,
const float  scaleValue 
) [virtual]

B = A * scaleFactor
Note: B can be a reference to A
Limitation: typeA must be the same as typeC.

Reimplemented from SoArithmetic.

int SoCudaArithmetic::shift ( SoCudaBufferObject inputBufferA,
const SbDataType  typeA,
SoCudaBufferObject outputBufferB,
const SbDataType  typeB,
const float  shiftFactor 
)

B = A + shiftFactor
Cuda input version.

virtual int SoCudaArithmetic::shift ( SoBufferObject inputBufferA,
const SbDataType  typeA,
SoBufferObject outputBufferB,
const SbDataType  typeB,
const float  shiftFactor 
) [virtual]

B = A + shiftFactor
Note: B can be a reference to A
Limitation: typeA must be the same as typeC.

Reimplemented from SoArithmetic.


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/