#include <IRhRdkRenderWindow.h>
|
virtual | ~IChannel () |
|
virtual void | Close (void)=0 |
|
virtual void * | EVF (const wchar_t *, void *)=0 |
|
virtual const void * | GetValue (int x, int y) const =0 |
|
virtual UINT | PixelSize (void) const =0 |
|
virtual void | SetValue (int x, int y, ComponentOrder co, const void *pData)=0 |
|
virtual bool | SetValueRect (int x, int y, int width, int height, int stride, ComponentOrder co, const void *pData)=0 |
|
virtual bool | SetValueRect (int x, int y, int width, int height, int stride, ComponentOrder co, const void *pData, bool bUseOffset)=0 |
|
◆ ~IChannel()
virtual IRhRdkRenderWindow::IChannel::~IChannel |
( |
| ) |
|
|
inlinevirtual |
◆ Close()
virtual void IRhRdkRenderWindow::IChannel::Close |
( |
void |
| ) |
|
|
pure virtual |
◆ EVF()
virtual void* IRhRdkRenderWindow::IChannel::EVF |
( |
const wchar_t * |
, |
|
|
void * |
|
|
) |
| |
|
pure virtual |
Emergency virtual function for future expansion.
◆ GetValue()
virtual const void* IRhRdkRenderWindow::IChannel::GetValue |
( |
int |
x, |
|
|
int |
y |
|
) |
| const |
|
pure virtual |
Get a value from the channel. This function is deprecated in favor of IChannelEx::GetValueEx().
- Parameters
-
x | is the horizontal pixel position. No validation is done on this value. The caller is responsible for ensuring that it is within the frame buffer. |
y | is the vertical pixel position. No validation is done on this value. The caller is responsible for ensuring that it is within the frame buffer. |
- Returns
- A pointer to the data in the channel at the specified position.
- Warning
- You must know how much data the buffer contains and be ready to read the correct amount. If you try to read more data than the buffer contains, you may crash Rhino.
◆ PixelSize()
virtual UINT IRhRdkRenderWindow::IChannel::PixelSize |
( |
void |
| ) |
const |
|
pure virtual |
- Returns
- The size of one pixel's data in the channel. For RDK standard channels, this value is always sizeof(float). For the special chanRGBA composite channel, this value is 4 * sizeof(float).
◆ SetValue()
virtual void IRhRdkRenderWindow::IChannel::SetValue |
( |
int |
x, |
|
|
int |
y, |
|
|
ComponentOrder |
co, |
|
|
const void * |
pData |
|
) |
| |
|
pure virtual |
Set a value into the channel.
- Parameters
-
x | is the horizontal pixel position. No validation is done on this value. The caller is responsible for ensuring that it is within the frame buffer. |
y | is the vertical pixel position. No validation is done on this value. The caller is responsible for ensuring that it is within the frame buffer. |
co | is the component order of the source data. |
pData | contains the data to store in the channel at the specified position. |
- Warning
- If x or y are out of range or pData does not point to a big enough buffer, the function will fail and may crash Rhino.
◆ SetValueRect() [1/2]
virtual bool IRhRdkRenderWindow::IChannel::SetValueRect |
( |
int |
x, |
|
|
int |
y, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
stride, |
|
|
ComponentOrder |
co, |
|
|
const void * |
pData |
|
) |
| |
|
pure virtual |
Set a rectangle of values into the channel. The input parameters are checked for validity. If the rectangle is not fully inside the frame buffer, the function will fail.
- Parameters
-
x | is the horizontal pixel position of the left edge. |
y | is the vertical pixel position of the top edge. |
width | is the width of the rectangle in pixels. |
height | is the height of the rectangle in pixels. |
stride | is the number of bytes between pixel rows in the source buffer. |
co | is the component order of the source data. |
pData | contains the data to store in the channel starting at the specified position. There must be the correct amount of data in the correct layout to match the pixel size, the shape of the rectangle and the stride. NOTE: RDK standard channels expect float data; the size of each pixel is always sizeof(float). For the special chanRGBA composite channel, the size of a pixel is 4 * sizeof(float). |
- Returns
- true if successful, else false.
◆ SetValueRect() [2/2]
virtual bool IRhRdkRenderWindow::IChannel::SetValueRect |
( |
int |
x, |
|
|
int |
y, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
stride, |
|
|
ComponentOrder |
co, |
|
|
const void * |
pData, |
|
|
bool |
bUseOffset |
|
) |
| |
|
pure virtual |
Set a rectangle of values into the channel with the ability to use x and y as offsets into pData. The input parameters are checked for validity. If the rectangle is not fully inside the frame buffer, the function will fail.
- Parameters
-
x | is the horizontal pixel position of the left edge. |
y | is the vertical pixel position of the top edge. |
width | is the width of the rectangle in pixels. |
height | is the height of the rectangle in pixels. |
stride | is the number of bytes between pixel rows in the source buffer. |
co | is the component order of the source data. |
pData | contains the data to store in the channel starting at the specified position. There must be the correct amount of data in the correct layout to match the pixel size, the shape of the rectangle and the stride. NOTE: RDK standard channels expect float data; the size of each pixel is always sizeof(float). For the special chanRGBA composite channel, the size of a pixel is 4 * sizeof(float). |
bUseOffset | is true if x and y should also be used as offsets into pData, else false. |
- Returns
- true if successful, else false.