Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::ITile Class Referenceabstract

Abstract interface for a tile. More...

Inheritance diagram for mi::neuraylib::ITile:
mi::base::Interface_declare< 0x0f0a0181, 0x7640, 0x4f60, 0x9d, 0xa7, 0xb0, 0xa0, 0x09, 0x17, 0x1a, 0xec > mi::base::IInterface

Public Member Functions

virtual void get_pixel (Uint32 x_offset, Uint32 y_offset, Float32 *floats) const =0
 Looks up a certain pixel at the given coordinates. More...
 
virtual void set_pixel (Uint32 x_offset, Uint32 y_offset, const Float32 *floats)=0
 Stores a certain pixel at the given coordinates. More...
 
virtual const char * get_type () const =0
 Returns the pixel type used by the tile. More...
 
virtual Uint32 get_resolution_x () const =0
 Returns the tile size in x direction. More...
 
virtual Uint32 get_resolution_y () const =0
 Returns the tile size in y direction. More...
 
virtual const void * get_data () const =0
 Returns a pointer to the raw tile data according to the pixel type of the tile. More...
 
virtual void * get_data ()=0
 Returns a pointer to the raw tile data according to the pixel type of the tile. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x0f0a0181, 0x7640, 0x4f60, 0x9d, 0xa7, 0xb0, 0xa0, 0x09, 0x17, 0x1a, 0xec >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x0f0a0181, 0x7640, 0x4f60, 0x9d, 0xa7, 0xb0, 0xa0, 0x09, 0x17, 0x1a, 0xec >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

Abstract interface for a tile.

A tile is a rectangular array of pixels of a certain pixel type.

Member Function Documentation

virtual const void* mi::neuraylib::ITile::get_data ( ) const
pure virtual

Returns a pointer to the raw tile data according to the pixel type of the tile.

This methods is used for fast, direct read access to the raw tile data. It is expected that the data is stored in row-major layout without any padding. In case of mi::Color, the components are expected to be stored in RGBA order.

The total size of the buffer in bytes is

x * y * bpp

where x is the result of get_resolution_x(), y is the result of get_resolution_y(), and bpp is the number of bytes per pixel.

virtual void* mi::neuraylib::ITile::get_data ( )
pure virtual

Returns a pointer to the raw tile data according to the pixel type of the tile.

This methods is used for fast, direct write access to the raw tile data. It is expected that the data is stored in row-major layout without any padding. In case of mi::Color, the components are expected to be stored in RGBA order.

The total size of the buffer in bytes is

x * y * bpp

where x is the result of get_resolution_x(), y is the result of get_resolution_y(), and bpp is the number of bytes per pixel.

virtual void mi::neuraylib::ITile::get_pixel ( Uint32  x_offset,
Uint32  y_offset,
Float32 floats 
) const
pure virtual

Looks up a certain pixel at the given coordinates.

The offsets are relative to the lower left border of the tile. The floats argument must point to at least 4 floats, e.g., you pass the address of mi::math::Color.r.

This method is a rather slow, but convenient access method. Typically, the get_data() method is faster and can handle arbitrary data types without pixel type conversion.

virtual Uint32 mi::neuraylib::ITile::get_resolution_x ( ) const
pure virtual

Returns the tile size in x direction.

virtual Uint32 mi::neuraylib::ITile::get_resolution_y ( ) const
pure virtual

Returns the tile size in y direction.

virtual const char* mi::neuraylib::ITile::get_type ( ) const
pure virtual

Returns the pixel type used by the tile.

See Also
Types for a list of supported pixel types
virtual void mi::neuraylib::ITile::set_pixel ( Uint32  x_offset,
Uint32  y_offset,
const Float32 floats 
)
pure virtual

Stores a certain pixel at the given coordinates.

The offsets are relative to the lower left border of the tile. The floats argument must point to at least 4 floats, e.g., you pass the address of mi::math::Color.r.

This method is a rather slow, but convenient access method. Typically, the get_data() method is faster and can handle arbitrary data types without pixel type conversion.