This is just a simple derivative of GeomMunger that adds the ability to munge states. More...
#include "stateMunger.h"
Public Member Functions | |
StateMunger (GraphicsStateGuardianBase *gsg) | |
CPT (RenderState) munge_state(const RenderState *state) | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
![]() | |
GeomMunger (GraphicsStateGuardianBase *gsg) | |
GeomMunger (const GeomMunger ©) | |
int | compare_to (const GeomMunger &other) const |
Provides an arbitrary ordering among all unique GeomMungers, so we can store the essentially different ones in a big set and throw away the rest. More... | |
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 |
Compares two GeomMungers, considering only whether they would produce a different answer to munge_format(), munge_data(), or munge_geom(). More... | |
GraphicsStateGuardianBase * | get_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 ©) |
void | premunge_geom (CPT(Geom)&geom, CPT(GeomVertexData)&data) const |
void | remove_data (const GeomVertexData *data) |
Removes a prepared GeomVertexData from the cache. More... | |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©) | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_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... | |
void | operator= (const TypedObject ©) |
![]() | |
int | get_ref_count () const |
Returns the current reference count. More... | |
WeakReferenceList * | get_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 | 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... | |
void | weak_ref (WeakPointerToVoid *ptv) |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref (WeakPointerToVoid *ptv) |
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 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 TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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 TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
![]() | |
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 } |
enum | NumericType { NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba, NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat } |
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 } |
![]() | |
const GeomVertexAnimationSpec &animation | const |
static Thread * | current_thread |
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 30 of file stateMunger.h.