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

Performs some generic munging that is appropriate for all GSG types; for instance, applies ColorAttrib and ColorScaleAttrib to the vertices, and checks for hardware-accelerated animation capabilities. More...

#include "standardMunger.h"

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

Public Member Functions

 StandardMunger (GraphicsStateGuardianBase *gsg, const RenderState *state, int num_components, NumericType numeric_type, Contents contents)
 The StandardMunger constructor accepts additional parameters that specify the GSG's preferred color format (since we might be munging the color anyway, we might as well convert it as we munge). More...
 
virtual TypeHandle force_init_type ()
 
GraphicsStateGuardianget_gsg () const
 Returns a pointer to the GSG that created this munger. More...
 
virtual TypeHandle get_type () const
 
- Public Member Functions inherited from StateMunger
 StateMunger (GraphicsStateGuardianBase *gsg)
 
 CPT (RenderState) munge_state(const RenderState *state)
 
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 StateMunger
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

Performs some generic munging that is appropriate for all GSG types; for instance, applies ColorAttrib and ColorScaleAttrib to the vertices, and checks for hardware-accelerated animation capabilities.

Definition at line 31 of file standardMunger.h.

Constructor & Destructor Documentation

◆ StandardMunger()

StandardMunger::StandardMunger ( GraphicsStateGuardianBase gsg,
const RenderState state,
int  num_components,
NumericType  numeric_type,
Contents  contents 
)

Member Function Documentation

◆ get_gsg()

GraphicsStateGuardian * StandardMunger::get_gsg ( ) const
inline

Returns a pointer to the GSG that created this munger.

Definition at line 18 of file standardMunger.I.

References GeomMunger::get_gsg().

Referenced by StandardMunger().


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