Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ShaderTransition Class Reference

#include <shaderTransition.h>

List of all members.

Public Types

typedef Shaders::const_iterator iterator
typedef Shaders::const_iterator const_iterator

Public Member Functions

INLINE ShaderTransition ()
void clear ()
bool is_empty () const
void insert (Shader *shader)
bool set_shader (Shader *shader, int override=-1)
bool clear_shader (Shader *shader)
bool has_shader (Shader *shader) const
const_iterator begin () const
const_iterator end () const
virtual NodeTransition * make_copy () const
virtual bool sub_render (NodeRelation *arc, const AllTransitionsWrapper &input_trans, AllTransitionsWrapper &modify_trans, RenderTraverser *trav)
virtual bool has_sub_render () const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

void set_shader_order (TypeHandle shader, int order)
void set_shader_always_blend (TypeHandle shader)
TypeHandle get_class_type ()
void init_type ()

Private Types

typedef plist< PT(ShaderShaders )
typedef pmap< TypeHandle,
int > 
ShaderOrder
typedef pmap< PT(Shader), int ShaderOverride )
typedef pset< TypeHandleShaderBlend

Private Member Functions

bool must_blend ()

Private Attributes

Shaders _shaders
ShaderOverride _overrides

Static Private Attributes

ShaderOrder_shader_order = (ShaderTransition::ShaderOrder *)NULL
ShaderBlend_shader_always_blend = (ShaderTransition::ShaderBlend *)NULL
TypeHandle _type_handle

Friends

class ShaderAttribute


Member Typedef Documentation

typedef Shaders::const_iterator ShaderTransition::const_iterator
 

Definition at line 56 of file shaderTransition.h.

Referenced by must_blend().

typedef Shaders::const_iterator ShaderTransition::iterator
 

Definition at line 55 of file shaderTransition.h.

typedef pset<TypeHandle> ShaderTransition::ShaderBlend [private]
 

Definition at line 48 of file shaderTransition.h.

Referenced by set_shader_always_blend().

typedef pmap<TypeHandle, int> ShaderTransition::ShaderOrder [private]
 

Definition at line 46 of file shaderTransition.h.

Referenced by set_shader_order().

typedef pmap<PT(Shader), int ShaderTransition::ShaderOverride) [private]
 

Definition at line 47 of file shaderTransition.h.

typedef plist< PT(Shader) ShaderTransition::Shaders) [private]
 

Definition at line 45 of file shaderTransition.h.


Constructor & Destructor Documentation

INLINE ShaderTransition::ShaderTransition  ) 
 

Referenced by make_copy().


Member Function Documentation

ShaderTransition::const_iterator ShaderTransition::begin  )  const
 

Definition at line 218 of file shaderTransition.cxx.

References _shaders.

Referenced by must_blend().

void ShaderTransition::clear  ) 
 

Definition at line 86 of file shaderTransition.cxx.

References _shaders.

bool ShaderTransition::clear_shader Shader shader  ) 
 

Definition at line 187 of file shaderTransition.cxx.

References _shaders, and PT.

ShaderTransition::const_iterator ShaderTransition::end  )  const
 

Definition at line 228 of file shaderTransition.cxx.

References _shaders.

Referenced by must_blend().

virtual TypeHandle ShaderTransition::force_init_type void   )  [inline, virtual]
 

Definition at line 99 of file shaderTransition.h.

TypeHandle ShaderTransition::get_class_type void   )  [inline, static]
 

Definition at line 100 of file shaderTransition.h.

virtual TypeHandle ShaderTransition::get_type void   )  const [inline, virtual]
 

Definition at line 96 of file shaderTransition.h.

bool ShaderTransition::has_shader Shader shader  )  const
 

Definition at line 205 of file shaderTransition.cxx.

References _shaders, and PT.

bool ShaderTransition::has_sub_render  )  const [virtual]
 

Definition at line 318 of file shaderTransition.cxx.

void ShaderTransition::init_type void   )  [inline, static]
 

Definition at line 103 of file shaderTransition.h.

References register_type().

Referenced by ConfigureFn().

void ShaderTransition::insert Shader shader  ) 
 

Definition at line 108 of file shaderTransition.cxx.

References _overrides, _shader_order, _shaders, NULL, and PT.

Referenced by set_shader().

bool ShaderTransition::is_empty  )  const
 

Definition at line 96 of file shaderTransition.cxx.

References _shaders.

NodeTransition * ShaderTransition::make_copy  )  const [virtual]
 

Definition at line 41 of file shaderTransition.cxx.

References ShaderTransition().

bool ShaderTransition::must_blend  )  [private]
 

Definition at line 239 of file shaderTransition.cxx.

References _shader_always_blend, begin(), const_iterator, and end().

bool ShaderTransition::set_shader Shader shader,
int  override = -1
 

Definition at line 161 of file shaderTransition.cxx.

References _overrides, _shaders, insert(), and PT.

void ShaderTransition::set_shader_always_blend TypeHandle  shader  )  [static]
 

Definition at line 71 of file shaderTransition.cxx.

References _shader_always_blend, NULL, and ShaderBlend.

Referenced by ConfigureFn().

void ShaderTransition::set_shader_order TypeHandle  shader,
int  order
[static]
 

Definition at line 56 of file shaderTransition.cxx.

References _shader_order, NULL, and ShaderOrder.

Referenced by ConfigureFn().

virtual bool ShaderTransition::sub_render NodeRelation *  arc,
const AllTransitionsWrapper &  input_trans,
AllTransitionsWrapper &  modify_trans,
RenderTraverser *  trav
[virtual]
 


Friends And Related Function Documentation

friend class ShaderAttribute [friend]
 

Definition at line 111 of file shaderTransition.h.


Member Data Documentation

ShaderOverride ShaderTransition::_overrides [private]
 

Definition at line 93 of file shaderTransition.h.

Referenced by insert(), and set_shader().

ShaderTransition::ShaderBlend * ShaderTransition::_shader_always_blend = (ShaderTransition::ShaderBlend *)NULL [static, private]
 

Definition at line 32 of file shaderTransition.cxx.

Referenced by must_blend(), and set_shader_always_blend().

ShaderTransition::ShaderOrder * ShaderTransition::_shader_order = (ShaderTransition::ShaderOrder *)NULL [static, private]
 

Definition at line 31 of file shaderTransition.cxx.

Referenced by insert(), and set_shader_order().

Shaders ShaderTransition::_shaders [private]
 

Definition at line 90 of file shaderTransition.h.

Referenced by begin(), clear(), clear_shader(), end(), has_shader(), insert(), is_empty(), and set_shader().

TypeHandle ShaderTransition::_type_handle [static, private]
 

Definition at line 30 of file shaderTransition.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:34 2003 for Panda by doxygen1.3