ImageTextureInterface Class Reference

#include <gfx_image.h>

Inheritance diagram for ImageTextureInterface:

Detailed Description

A Image texture represents a texture object with layers.

Public Member Functions

MAXON_METHOD Result< MediaSessionRef > Load (const Url &url, const TimeValue &targetTime, MEDIASESSIONFLAGS flags, const Class< ImagePixelStorage > &pixelStorageClass=GetZeroRef< Class< ImagePixelStorage >>(), const LayerSetInterface *layerSet=nullptr)
 
MAXON_METHOD Result< void > Save (const MediaOutputRef &fileFormat, MEDIASESSIONFLAGS flags, MediaSessionRef *returnOpenSession=nullptr) const
 
MAXON_FUNCTION Result< void > Save (const Url &fileName, const MediaOutputUrlRef &fileFormat, MEDIASESSIONFLAGS flags, MediaSessionRef *returnOpenSession=nullptr) const
 

Static Public Member Functions

static MAXON_METHOD Result< ImageTextureRef > LoadTexture (const Url &name, const TimeValue &targetTime=TimeValue(), MEDIASESSIONFLAGS flags=MEDIASESSIONFLAGS::NONE, const Class< ImagePixelStorage > &pixelStorageClass=GetNormalPixelStorageClass(), const LayerSetInterface *layerSet=nullptr)
 

Private Member Functions

 MAXON_INTERFACE (ImageTextureInterface, MAXON_REFERENCE_NORMAL, "net.maxon.image.interface.imagetexture")
 

Member Function Documentation

◆ MAXON_INTERFACE()

MAXON_INTERFACE ( ImageTextureInterface  ,
MAXON_REFERENCE_NORMAL  ,
"net.maxon.image.interface.imagetexture"   
)
private

◆ LoadTexture()

static MAXON_METHOD Result<ImageTextureRef> LoadTexture ( const Url name,
const TimeValue targetTime = TimeValue(),
MEDIASESSIONFLAGS  flags = MEDIASESSIONFLAGS::NONE,
const Class< ImagePixelStorage > &  pixelStorageClass = GetNormalPixelStorageClass(),
const LayerSetInterface layerSet = nullptr 
)
static

Creates a new texture and loads the given url into this texture.

Parameters
[in]nameUrl to load.
[in]targetTimeTarget time to receive the media samples from.
[in]flagsSee MEDIASESSIONFLAGS for details.
[in]pixelStorageClassDefines the storage class for all layers of the texture. See ImagePixelStorageClasses::
[in]layerSetOptional LayerSet or nullptr.
Returns
Return an instance to a MediaSessionRef for further reading if necessary.

◆ Load()

MAXON_METHOD Result<MediaSessionRef> Load ( const Url url,
const TimeValue targetTime,
MEDIASESSIONFLAGS  flags,
const Class< ImagePixelStorage > &  pixelStorageClass = GetZeroRefClass< ImagePixelStorage >>(),
const LayerSetInterface layerSet = nullptr 
)

Loads a media into this texture.

Parameters
[in]urlUrl to the media to load.
[in]targetTimeTarget time to receive the media samples from.
[in]flagsSee MEDIASESSIONFLAGS for details.
[in]pixelStorageClassDefines the storage class for all layers of the texture. See ImagePixelStorageClasses::
[in]layerSetOptional LayerSet or nullptr.
Returns
Return an instance to a MediaSessionRef for further reading if necessary.

◆ Save() [1/2]

MAXON_METHOD Result<void> Save ( const MediaOutputRef &  fileFormat,
MEDIASESSIONFLAGS  flags,
MediaSessionRef *  returnOpenSession = nullptr 
) const

Saves this texture using the media session interface.

Parameters
[in]fileFormatA ready to use MediaOutputRef which will be used as output node of the media session.
[in]flagsSee MEDIASESSIONFLAGS for details.
[in]returnOpenSessionIf nullptr the session will be closed directly. If a pointer to a MediaSessionRef is given the session will stay open. Don't forget session.Close() in that case.
Returns
OK on success.

◆ Save() [2/2]

MAXON_FUNCTION Result<void> Save ( const Url fileName,
const MediaOutputUrlRef &  fileFormat,
MEDIASESSIONFLAGS  flags,
MediaSessionRef *  returnOpenSession = nullptr 
) const

Saves this texture using the media session interface. This function simplifies the use of registered ImageSaverClasses from their registry. The usage is simple:

imageTexture.Save(url, ImageSaverClasses::Bmp) iferr_return;
Parameters
[in]fileNameUrl to write to.
[in]fileFormatA MediaOutputUrlRef which will be used as output node of the media session. MediaOutputUrlRef::SetOutputUrl will be called in this function to set the url.
[in]flagsSee MEDIASESSIONFLAGS for details.
[in]returnOpenSessionIf nullptr the session will be closed directly. If a pointer to a MediaSessionRef is given the session will stay open. Don't forget session.Close() in that case.
Returns
OK on success.
iferr_return
#define iferr_return
Definition: resultbase.h:1465