Panda3D
Public Member Functions | Static Public Member Functions | List of all members
StateMunger Class Reference

This is just a simple derivative of GeomMunger that adds the ability to munge states. More...

#include "stateMunger.h"

Inheritance diagram for StateMunger:
GeomMunger TypedReferenceCount GeomEnums TypedObject ReferenceCount MemoryBase MemoryBase StandardMunger DXGeomMunger9

Public Member Functions

 StateMunger (GraphicsStateGuardianBase *gsg)
 
 CPT (RenderState) munge_state(const RenderState *state)
 
virtual TypeHandle force_init_type ()
 
virtual TypeHandle get_type () const
 
bool should_munge_state () const
 Returns true if this munger has something interesting to do to the state. More...
 
- Public Member Functions inherited from GeomMunger
 GeomMunger (GraphicsStateGuardianBase *gsg)
 
 GeomMunger (const GeomMunger &copy)
 
int compare_to (const GeomMunger &other) const
 
 CPT (GeomVertexFormat) munge_format(const GeomVertexFormat *format
 
 CPT (GeomVertexData) munge_data(const GeomVertexData *data) const
 
 CPT (GeomVertexFormat) premunge_format(const GeomVertexFormat *format) const
 
 CPT (GeomVertexData) premunge_data(const GeomVertexData *data) const
 
int geom_compare_to (const GeomMunger &other) const
 
GraphicsStateGuardianBaseget_gsg () const
 Returns a pointer to the GSG that created this munger. More...
 
bool is_registered () const
 Returns true if this munger has been registered, false if it has not. More...
 
bool munge_geom (CPT(Geom) &geom, CPT(GeomVertexData) &data, bool force, Thread *current_thread)
 Applies the indicated munger to the geom and its data, and returns a (possibly different) geom and data, according to the munger's whim. More...
 
void operator= (const GeomMunger &copy)
 
void premunge_geom (CPT(Geom) &geom, CPT(GeomVertexData) &data) const
 
void remove_data (const GeomVertexData *data)
 Removes a prepared GeomVertexData from the cache. More...
 
- Public Member Functions inherited from TypedReferenceCount
 TypedReferenceCount (const TypedReferenceCount &copy)
 
void operator= (const TypedReferenceCount &copy)
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
int get_best_parent_from_Set (const std::set< int > &) const
 
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly. More...
 
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type. More...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_weak_list () const
 Returns the WeakReferenceList associated with this ReferenceCount object. More...
 
bool has_weak_list () const
 Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
 
void local_object ()
 This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
 
void ref () const
 Explicitly increments the reference count. More...
 
bool ref_if_nonzero () const
 Atomically increases the reference count of this object if it is not zero. More...
 
bool test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool test_ref_count_nonzero () const
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
virtual bool unref () const
 Explicitly decrements the reference count. More...
 
WeakReferenceListweak_ref ()
 Adds the indicated PointerToVoid as a weak reference to this object. More...
 
void weak_unref ()
 Removes the indicated PointerToVoid as a weak reference to this object. More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from GeomMunger
static TypeHandle get_class_type ()
 
static void init_type ()
 
static PT (GeomMunger) register_munger(GeomMunger *munger
 
static void unregister_mungers_for_gsg (GraphicsStateGuardianBase *gsg)
 Removes all the mungers from the registry that are associated with the indicated GSG. More...
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle get_class_type ()
 
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96. More...
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 

Additional Inherited Members

- Public Types inherited from GeomEnums
enum  AnimationType { AT_none, AT_panda, AT_hardware }
 
enum  Contents {
  C_other, C_point, C_clip_point, C_vector,
  C_texcoord, C_color, C_index, C_morph_delta,
  C_matrix, C_normal
}
 
enum  GeomRendering {
  GR_indexed_point = 0x00001, GR_indexed_other = 0x10000, GR_indexed_bits = 0x10001, GR_point = 0x00002,
  GR_point_uniform_size = 0x00004, GR_per_point_size = 0x00008, GR_point_perspective = 0x00010, GR_point_aspect_ratio = 0x00020,
  GR_point_scale = 0x00040, GR_point_rotate = 0x00080, GR_point_sprite = 0x00100, GR_point_sprite_tex_matrix = 0x00200,
  GR_point_bits = 0x003fe, GR_triangle_strip = 0x00400, GR_triangle_fan = 0x00800, GR_line_strip = 0x01000,
  GR_composite_bits = 0x01c00, GR_strip_cut_index = 0x20000, GR_flat_first_vertex = 0x02000, GR_flat_last_vertex = 0x04000,
  GR_shade_model_bits = 0x06000, GR_render_mode_wireframe = 0x40000, GR_render_mode_point = 0x80000, GR_adjacency = 0x100000
}
 
enum  NumericType {
  NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba,
  NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat,
  NT_int8, NT_int16, NT_int32, NT_packed_ufloat
}
 
enum  PrimitiveType {
  PT_none, PT_polygons, PT_lines, PT_points,
  PT_patches
}
 
enum  ShadeModel { SM_uniform, SM_smooth, SM_flat_first_vertex, SM_flat_last_vertex }
 
enum  UsageHint {
  UH_client, UH_stream, UH_dynamic, UH_static,
  UH_unspecified
}
 
- Public Attributes inherited from GeomMunger
const GeomVertexAnimationSpec &animation const
 
static Threadcurrent_thread
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 

Detailed Description

This is just a simple derivative of GeomMunger that adds the ability to munge states.

That functionality can't be declared in the base class, since it doesn't really know about RenderState.

Definition at line 26 of file stateMunger.h.

Member Function Documentation

◆ should_munge_state()

bool StateMunger::should_munge_state ( ) const
inline

Returns true if this munger has something interesting to do to the state.

Definition at line 28 of file stateMunger.I.


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