# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CTextureMultiFile Class Reference

This kind of texture is like a texture file except that it can encode several texture at once. More...

#include <texture_multi_file.h>

Inheritance diagram for NL3D::CTextureMultiFile:

NL3D::ITexture NLMISC::CBitmap NLMISC::CRefCount NLMISC::IStreamable NLMISC::IClassable List of all members.

Public Methods

 CTextureMultiFile (uint numTexs=0)
 ===========================================================. More...

void setNumTextures (uint numTexs)
 ===========================================================. More...

void setFileName (uint index, const char *)
 ===========================================================. More...

uint getNumFileName () const
const std::string & getFileName (uint index) const
 get the name of the file containing the texture for the given index. More...

virtual bool supportSharing () const
 Does this texture support sharing system. More...

virtual std::string getShareName () const
 ===========================================================. More...

virtual void selectTexture (uint index)
 ===========================================================. More...

virtual bool isSelectable () const
 Test wether this texture is selectable. More...

virtual ITexturebuildNonSelectableVersion (uint index)
 ===========================================================. More...

virtual void doGenerate ()
 ===========================================================. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 ===========================================================. More...

 NLMISC_DECLARE_CLASS (CTextureMultiFile)

Private Methods

sint getTexIndex (uint index) const
 ===========================================================. More...

const std::string & getTexNameByIndex (uint index) const
 ===========================================================. More...


Private Attributes

uint32 _CurrSelectedTexture
std::vector< std::string > _FileNames

Detailed Description

This kind of texture is like a texture file except that it can encode several texture at once.

Only ONE texture is active at a given time. The texture being used is chosen by a call to selectTexture. NB : This is not derived from CTextureMulti because we don't store a pointer on each texture, just the name. Moreover the needed method are exposed by CTexture

Author:
Nicolas Vizerie , Nevrax France
Date:
2002

Definition at line 48 of file texture_multi_file.h.


Constructor & Destructor Documentation

NL3D::CTextureMultiFile::CTextureMultiFile uint    numTexs = 0
 

===========================================================.

Definition at line 38 of file texture_multi_file.cpp.


Member Function Documentation

ITexture * NL3D::CTextureMultiFile::buildNonSelectableVersion uint    index [virtual]
 

===========================================================.

Reimplemented from NL3D::ITexture.

Definition at line 132 of file texture_multi_file.cpp.

References getTexNameByIndex, index, and NL3D::ITexture::ITexture.

void NL3D::CTextureMultiFile::doGenerate   [virtual]
 

===========================================================.

Implements NL3D::ITexture.

Definition at line 77 of file texture_multi_file.cpp.

References _CurrSelectedTexture, _FileNames, getTexIndex, and NLMISC::CBitmap::makeDummy.

const std::string& NL3D::CTextureMultiFile::getFileName uint    index const [inline]
 

get the name of the file containing the texture for the given index.

Returns:
name of the file

Definition at line 68 of file texture_multi_file.h.

References _FileNames, and index.

uint NL3D::CTextureMultiFile::getNumFileName   const [inline]
 

Definition at line 63 of file texture_multi_file.h.

References _FileNames.

std::string NL3D::CTextureMultiFile::getShareName   const [virtual]
 

===========================================================.

Reimplemented from NL3D::ITexture.

Definition at line 115 of file texture_multi_file.cpp.

References _CurrSelectedTexture, and getTexNameByIndex.

sint NL3D::CTextureMultiFile::getTexIndex uint    index const [private]
 

===========================================================.

Definition at line 61 of file texture_multi_file.cpp.

References _FileNames, and index.

Referenced by doGenerate, and getTexNameByIndex.

const std::string & NL3D::CTextureMultiFile::getTexNameByIndex uint    index const [private]
 

===========================================================.

Definition at line 107 of file texture_multi_file.cpp.

References _FileNames, NL3D::DummyTexName, getTexIndex, and index.

Referenced by buildNonSelectableVersion, and getShareName.

virtual bool NL3D::CTextureMultiFile::isSelectable   const [inline, virtual]
 

Test wether this texture is selectable.

Reimplemented from NL3D::ITexture.

Definition at line 75 of file texture_multi_file.h.

NL3D::CTextureMultiFile::NLMISC_DECLARE_CLASS CTextureMultiFile   
 

void NL3D::CTextureMultiFile::selectTexture uint    index [virtual]
 

===========================================================.

Reimplemented from NL3D::ITexture.

Definition at line 121 of file texture_multi_file.cpp.

References _CurrSelectedTexture, index, and NL3D::ITexture::touch.

void NL3D::CTextureMultiFile::serial NLMISC::IStream   f throw (NLMISC::EStream) [virtual]
 

===========================================================.

Reimplemented from NL3D::ITexture.

Definition at line 91 of file texture_multi_file.cpp.

void NL3D::CTextureMultiFile::setFileName uint    index,
const char *   
 

===========================================================.

Parameters:
name  of the file
index  index of the texture

Definition at line 52 of file texture_multi_file.cpp.

References _CurrSelectedTexture, _FileNames, index, and NL3D::ITexture::touch.

void NL3D::CTextureMultiFile::setNumTextures uint    numTexs
 

===========================================================.

Definition at line 44 of file texture_multi_file.cpp.

References _CurrSelectedTexture, _FileNames, and min.

virtual bool NL3D::CTextureMultiFile::supportSharing   const [inline, virtual]
 

Does this texture support sharing system.

Reimplemented from NL3D::ITexture.

Definition at line 72 of file texture_multi_file.h.


Member Data Documentation

uint32 NL3D::CTextureMultiFile::_CurrSelectedTexture [private]
 

Definition at line 86 of file texture_multi_file.h.

Referenced by doGenerate, getShareName, selectTexture, setFileName, and setNumTextures.

std::vector<std::string> NL3D::CTextureMultiFile::_FileNames [private]
 

Definition at line 87 of file texture_multi_file.h.

Referenced by doGenerate, getFileName, getNumFileName, getTexIndex, getTexNameByIndex, setFileName, and setNumTextures.


The documentation for this class was generated from the following files: