# 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::CInstanceMaterialUser Class Reference

UInstanceMaterial implementation. More...

#include <instance_material_user.h>

Inheritance diagram for NL3D::CInstanceMaterialUser:

NL3D::UInstanceMaterial List of all members.

Public Methods

 CInstanceMaterialUser (CMeshBaseInstance *mbi, CMaterial *mat, CAsyncTextureBlock *asyncTextBlock)
 Constructor. More...

virtual ~CInstanceMaterialUser ()
 dtor. More...

virtual void emptyTexture (uint stage=0)
virtual sint getLastTextureStage () const
 Get the last stage that got a texture. -1 means there is no textures. More...

CMaterialgetMaterial () const
Modes.
virtual bool isLighted () const
virtual bool isUserColor () const
Lighted material mgt. Has effect only if isLighted().
virtual void setEmissive (CRGBA emissive=CRGBA(0, 0, 0))
 Set the emissive part ot material. Usefull only if isLighted(). More...

virtual void setAmbient (CRGBA ambient=CRGBA(0, 0, 0))
 Set the Ambient part ot material. Usefull only if isLighted(). More...

virtual void setDiffuse (CRGBA diffuse=CRGBA(0, 0, 0))
 Set the Diffuse part ot material. Usefull only if isLighted(). More...

virtual void setOpacity (uint8 opa)
 Set the Opacity part ot material. Usefull only if isLighted(). More...

virtual void setSpecular (CRGBA specular=CRGBA(0, 0, 0))
 Set the specular part ot material. Usefull only if isLighted(). More...

virtual void setShininess (float shininess)
 Set the shininess part ot material. Usefull only if isLighted(). More...

virtual CRGBA getEmissive () const
virtual CRGBA getAmbient () const
virtual CRGBA getDiffuse () const
 return diffuse part. NB: A==opacity. More...

virtual uint8 getOpacity () const
virtual CRGBA getSpecular () const
virtual float getShininess () const
UnLighted material mgt. Has effect only if !isLighted().
virtual void setColor (CRGBA rgba)
virtual CRGBA getColor (void) const
Texture UserColor. No effect if !isUserColor(). (getUserColor() return CRGBA(0,0,0,0))
virtual void setUserColor (CRGBA userColor)
virtual CRGBA getUserColor () const
constantColor
virtual void setConstantColor (uint stage, NLMISC::CRGBA color)
virtual NLMISC::CRGBA getConstantColor (uint stage) const
Texture files specific
virtual bool isTextureFile (uint stage=0) const
 Check wether the texture of the n-th stage is a texture file. More...

virtual std::string getTextureFileName (uint stage=0) const
 Get the fileName used by the n-th texture file. (must be a texture file or an assertion is raised). More...

virtual void setTextureFileName (const std::string &fileName, uint stage=0)
 Set the fileName used by the n-th texture file. More...

Blending.
virtual void setBlend (bool active)
virtual void setBlendFunc (TBlend src, TBlend dst)
virtual void setSrcBlend (TBlend val)
virtual void setDstBlend (TBlend val)
virtual bool getBlend () const
virtual TBlend getSrcBlend (void) const
virtual TBlend getDstBlend (void) const
Texture matrix
virtual void enableUserTexMat (uint stage, bool enabled=true)
virtual bool isUserTexMatEnabled (uint stage) const
virtual void setUserTexMat (uint stage, const NLMISC::CMatrix &m)
 Set a new texture matrix for the given stage. More...

virtual const NLMISC::CMatrixgetUserTexMat (uint stage) const
 Get a const ref. More...


Private Attributes

CMeshBaseInstance_MBI
CMaterial_Material
CAsyncTextureBlock_AsyncTextureBlock

Detailed Description

UInstanceMaterial implementation.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 53 of file instance_material_user.h.


Constructor & Destructor Documentation

NL3D::CInstanceMaterialUser::CInstanceMaterialUser CMeshBaseInstance   mbi,
CMaterial   mat,
CAsyncTextureBlock   asyncTextBlock
[inline]
 

Constructor.

Definition at line 57 of file instance_material_user.h.

References _AsyncTextureBlock, _Material, _MBI, NL3D_MEM_MATERIAL_INSTANCE, and nlassert.

virtual NL3D::CInstanceMaterialUser::~CInstanceMaterialUser   [inline, virtual]
 

dtor.

Definition at line 66 of file instance_material_user.h.

References NL3D_MEM_MATERIAL_INSTANCE.


Member Function Documentation

void NL3D::CInstanceMaterialUser::emptyTexture uint    stage = 0 [virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 112 of file instance_material_user.cpp.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual void NL3D::CInstanceMaterialUser::enableUserTexMat uint    stage,
bool    enabled = true
[inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 282 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual CRGBA NL3D::CInstanceMaterialUser::getAmbient   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 127 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual bool NL3D::CInstanceMaterialUser::getBlend   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 261 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual CRGBA NL3D::CInstanceMaterialUser::getColor void    const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 163 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual NLMISC::CRGBA NL3D::CInstanceMaterialUser::getConstantColor uint    stage const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 201 of file instance_material_user.h.

References _Material, NLMISC::CRGBA::Black, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual CRGBA NL3D::CInstanceMaterialUser::getDiffuse   const [inline, virtual]
 

return diffuse part. NB: A==opacity.

Implements NL3D::UInstanceMaterial.

Definition at line 132 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual TBlend NL3D::CInstanceMaterialUser::getDstBlend void    const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 271 of file instance_material_user.h.

References _Material, NL3D_MEM_MATERIAL_INSTANCE, and NL3D::UInstanceMaterial::TBlend.

virtual CRGBA NL3D::CInstanceMaterialUser::getEmissive   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 122 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual sint NL3D::CInstanceMaterialUser::getLastTextureStage   const [inline, virtual]
 

Get the last stage that got a texture. -1 means there is no textures.

Implements NL3D::UInstanceMaterial.

Definition at line 224 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, and NL3D_MEM_MATERIAL_INSTANCE.

CMaterial* NL3D::CInstanceMaterialUser::getMaterial   const [inline]
 

Definition at line 341 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual uint8 NL3D::CInstanceMaterialUser::getOpacity   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 137 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual float NL3D::CInstanceMaterialUser::getShininess   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 147 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual CRGBA NL3D::CInstanceMaterialUser::getSpecular   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 142 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual TBlend NL3D::CInstanceMaterialUser::getSrcBlend void    const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 266 of file instance_material_user.h.

References _Material, NL3D_MEM_MATERIAL_INSTANCE, and NL3D::UInstanceMaterial::TBlend.

std::string NL3D::CInstanceMaterialUser::getTextureFileName uint    stage = 0 const [virtual]
 

Get the fileName used by the n-th texture file. (must be a texture file or an assertion is raised).

Implements NL3D::UInstanceMaterial.

Definition at line 50 of file instance_material_user.cpp.

References _AsyncTextureBlock, _Material, _MBI, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, nlassert, and nlwarning.

virtual CRGBA NL3D::CInstanceMaterialUser::getUserColor   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 179 of file instance_material_user.h.

References _Material, isUserColor, and NL3D_MEM_MATERIAL_INSTANCE.

virtual const NLMISC::CMatrix& NL3D::CInstanceMaterialUser::getUserTexMat uint    stage const [inline, virtual]
 

Get a const ref.

on the texture matrix of the n-th stage.

Implements NL3D::UInstanceMaterial.

Definition at line 316 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual bool NL3D::CInstanceMaterialUser::isLighted   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 75 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

bool NL3D::CInstanceMaterialUser::isTextureFile uint    stage = 0 const [virtual]
 

Check wether the texture of the n-th stage is a texture file.

Implements NL3D::UInstanceMaterial.

Definition at line 38 of file instance_material_user.cpp.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual bool NL3D::CInstanceMaterialUser::isUserColor   const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 80 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

Referenced by getUserColor, and setUserColor.

virtual bool NL3D::CInstanceMaterialUser::isUserTexMatEnabled uint    stage const [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 292 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual void NL3D::CInstanceMaterialUser::setAmbient CRGBA    ambient = CRGBA(0, 0, 0) [inline, virtual]
 

Set the Ambient part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 96 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setBlend bool    active [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 240 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setBlendFunc TBlend    src,
TBlend    dst
[inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 245 of file instance_material_user.h.

References _Material, NL3D_MEM_MATERIAL_INSTANCE, src, and NL3D::UInstanceMaterial::TBlend.

virtual void NL3D::CInstanceMaterialUser::setColor CRGBA    rgba [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 158 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setConstantColor uint    stage,
NLMISC::CRGBA    color
[inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 191 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual void NL3D::CInstanceMaterialUser::setDiffuse CRGBA    diffuse = CRGBA(0, 0, 0) [inline, virtual]
 

Set the Diffuse part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 101 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setDstBlend TBlend    val [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 255 of file instance_material_user.h.

References _Material, NL3D_MEM_MATERIAL_INSTANCE, and NL3D::UInstanceMaterial::TBlend.

virtual void NL3D::CInstanceMaterialUser::setEmissive CRGBA    emissive = CRGBA(0, 0, 0) [inline, virtual]
 

Set the emissive part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 91 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setOpacity uint8    opa [inline, virtual]
 

Set the Opacity part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 106 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setShininess float    shininess [inline, virtual]
 

Set the shininess part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 116 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setSpecular CRGBA    specular = CRGBA(0, 0, 0) [inline, virtual]
 

Set the specular part ot material. Usefull only if isLighted().

Implements NL3D::UInstanceMaterial.

Definition at line 111 of file instance_material_user.h.

References _Material, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setSrcBlend TBlend    val [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 250 of file instance_material_user.h.

References _Material, NL3D_MEM_MATERIAL_INSTANCE, and NL3D::UInstanceMaterial::TBlend.

void NL3D::CInstanceMaterialUser::setTextureFileName const std::string &    fileName,
uint    stage = 0
[virtual]
 

Set the fileName used by the n-th texture file.

(must be a texture file or an assertion is raised) NB: if success and if instanceOwner->getAsyncTextureMode()==true, then instanceOwner->setAsyncTextureDirty(true) is called

Implements NL3D::UInstanceMaterial.

Definition at line 74 of file instance_material_user.cpp.

References _AsyncTextureBlock, _Material, _MBI, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.

virtual void NL3D::CInstanceMaterialUser::setUserColor CRGBA    userColor [inline, virtual]
 

Implements NL3D::UInstanceMaterial.

Definition at line 173 of file instance_material_user.h.

References _Material, isUserColor, and NL3D_MEM_MATERIAL_INSTANCE.

virtual void NL3D::CInstanceMaterialUser::setUserTexMat uint    stage,
const NLMISC::CMatrix   m
[inline, virtual]
 

Set a new texture matrix for the given stage.

Implements NL3D::UInstanceMaterial.

Definition at line 302 of file instance_material_user.h.

References _Material, NL3D::IDRV_MAT_MAXTEXTURES, NL3D_MEM_MATERIAL_INSTANCE, and nlwarning.


Member Data Documentation

CAsyncTextureBlock* NL3D::CInstanceMaterialUser::_AsyncTextureBlock [private]
 

Definition at line 336 of file instance_material_user.h.

Referenced by CInstanceMaterialUser, getTextureFileName, and setTextureFileName.

CMaterial* NL3D::CInstanceMaterialUser::_Material [private]
 

Definition at line 335 of file instance_material_user.h.

Referenced by CInstanceMaterialUser, emptyTexture, enableUserTexMat, getAmbient, getBlend, getColor, getConstantColor, getDiffuse, getDstBlend, getEmissive, getLastTextureStage, getMaterial, getOpacity, getShininess, getSpecular, getSrcBlend, getTextureFileName, getUserColor, getUserTexMat, isLighted, isTextureFile, isUserColor, isUserTexMatEnabled, setAmbient, setBlend, setBlendFunc, setColor, setConstantColor, setDiffuse, setDstBlend, setEmissive, setOpacity, setShininess, setSpecular, setSrcBlend, setTextureFileName, setUserColor, and setUserTexMat.

CMeshBaseInstance* NL3D::CInstanceMaterialUser::_MBI [private]
 

Definition at line 334 of file instance_material_user.h.

Referenced by CInstanceMaterialUser, getTextureFileName, and setTextureFileName.


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