nux-1.14.0
nux::TextureVolume Class Reference
Inheritance diagram for nux::TextureVolume:
nux::BaseTexture nux::ResourceData nux::Object nux::Trackable nux::Introspectable

List of all members.

Public Member Functions

 TextureVolume (NUX_FILE_LINE_PROTO)
 TextureVolume (const TextureVolume &texture)
TextureVolumeoperator= (const TextureVolume &texture)
virtual bool Update (const NBitmapData *BitmapData, bool UpdateAndCacheResource=true)
virtual bool Update (const TCHAR *filename, bool UpdateAndCacheResource=true)
virtual bool IsNull () const
void GetData (void *Buffer, int MipIndex, int StrideY, int slice=0)
int GetNumMipLevel () const
int GetWidth () const
int GetHeight () const
int GetDepth () const
BitmapFormat GetFormat () const
bool IsPowerOfTwo () const
virtual BaseTextureClone () const

Detailed Description

Definition at line 408 of file GLTextureResourceManager.h.


Member Function Documentation

BaseTexture * nux::TextureVolume::Clone ( ) const [virtual]

Clone the texture.

Returns:
A cloned version of this texture.

Implements nux::BaseTexture.

Definition at line 856 of file GLTextureResourceManager.cpp.

  {
    TextureVolume* texture = new TextureVolume(*this);
    return texture;
  }
int nux::TextureVolume::GetDepth ( ) const [inline, virtual]
Returns:
The texture depth. For TextureFrameAnimation the depth represents the number of frames.

Reimplemented from nux::BaseTexture.

Definition at line 459 of file GLTextureResourceManager.h.

    {
      return _image.GetDepth ();
    }
BitmapFormat nux::TextureVolume::GetFormat ( ) const [inline, virtual]
Returns:
The texture data format.

Implements nux::BaseTexture.

Definition at line 467 of file GLTextureResourceManager.h.

    {
      return _image.GetFormat ();
    }
int nux::TextureVolume::GetHeight ( ) const [inline, virtual]
Returns:
The texture height.

Implements nux::BaseTexture.

Definition at line 450 of file GLTextureResourceManager.h.

    {
      return _image.GetHeight ();
    }
int nux::TextureVolume::GetNumMipLevel ( ) const [inline, virtual]
Returns:
The number of mip maps in the texture.

Implements nux::BaseTexture.

Definition at line 434 of file GLTextureResourceManager.h.

    {
      return _image.GetNumMipmap ();
    }
int nux::TextureVolume::GetWidth ( ) const [inline, virtual]
Returns:
The texture width.

Implements nux::BaseTexture.

Definition at line 442 of file GLTextureResourceManager.h.

    {
      return _image.GetWidth ();
    }
virtual bool nux::TextureVolume::IsNull ( ) const [inline, virtual]
Returns:
True if the texture storage contains valid bitmap data.

Implements nux::BaseTexture.

Definition at line 425 of file GLTextureResourceManager.h.

    {
      return _image.IsNull ();
    }
bool nux::TextureVolume::IsPowerOfTwo ( ) const [inline, virtual]
Returns:
True if the width and height of the texture are powers of two.

Implements nux::BaseTexture.

Definition at line 475 of file GLTextureResourceManager.h.

    {
      return IsPowerOf2 (_image.GetWidth () ) && IsPowerOf2 (_image.GetHeight () );
    }
bool nux::TextureVolume::Update ( const NBitmapData BitmapData,
bool  UpdateAndCacheResource = true 
) [virtual]

Update the texture with the provided Bitmap data. In doing so, if the texture as been cached in the resource manager, then the the DeviceTexture inside the CachedTexture will no longer be returned by GetDeviceTexture (). Instead a new device texture will be returned.

Pointer to the bitmap data. If true, then the texture is cached immediately. If false, the texture will be cached the first time GetDeviceTexture () or GetCachedTexture () is called.

Returns:
True if there was no error during the update.

Implements nux::BaseTexture.

Definition at line 788 of file GLTextureResourceManager.cpp.

References nux::GraphicsEngine::UpdateResource().

Referenced by Update().

  {
    nuxAssertMsg (BitmapData, TEXT ("[TextureVolume::Update] Argument BitmapData is NULL.") );
    NUX_RETURN_VALUE_IF_NULL (BitmapData, false);

    if (!BitmapData->IsVolumeTextureData() )
    {
      nuxAssertMsg (0, TEXT ("[TextureVolume::Update] Argument BitmapData is not a Volume texture") );
      return false;
    }

    _image = *static_cast<const NVolumeData *> (BitmapData);

    if (UpdateAndCacheResource)
    {
      // call the texture manager and recreate the texture (CachedTexture2D) associated with this object if any.
      GetGraphicsDisplay()->GetGraphicsEngine()->UpdateResource (this);
    }

    return true;
  }
bool nux::TextureVolume::Update ( const TCHAR *  filename,
bool  UpdateAndCacheResource = true 
) [virtual]

Update the texture with the provided filename. In doing so, if the texture as been cached in the resource manager, then the the DeviceTexture inside the CachedTexture will no longer be returned by GetDeviceTexture (). Instead a new device texture will be returned.

Pointer to the bitmap data. If true, then the texture is cached immediately. If false, the texture will be cached the first time GetDeviceTexture () or GetCachedTexture () is called.

Returns:
True if there was no error during the update.

Implements nux::BaseTexture.

Definition at line 810 of file GLTextureResourceManager.cpp.

References nux::LoadImageFile(), and Update().

  {
    NBitmapData *BitmapData = LoadImageFile (filename);
    nuxAssertMsg (BitmapData, TEXT ("[TextureVolume::Update] Bitmap for file (%s) is NULL."), filename);
    NUX_RETURN_VALUE_IF_NULL (BitmapData, false);
    bool ret = Update (filename);
    NUX_SAFE_DELETE (BitmapData);
    return ret;
  }

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends