18 #include "pandabase.h"
19 #include "typedReferenceCount.h"
20 #include "geomVertexAnimationSpec.h"
21 #include "geomVertexFormat.h"
22 #include "geomVertexData.h"
23 #include "geomCacheEntry.h"
24 #include "indirectCompareTo.h"
25 #include "pStatCollector.h"
26 #include "lightMutex.h"
27 #include "lightReMutex.h"
28 #include "pointerTo.h"
66 INLINE
bool is_registered()
const;
70 INLINE CPT(GeomVertexFormat) munge_format(
const GeomVertexFormat *format,
77 bool force,
Thread *current_thread);
79 INLINE CPT(GeomVertexFormat) premunge_format(
const GeomVertexFormat *format)
const;
85 INLINE
int geom_compare_to(
const GeomMunger &other)
const;
88 INLINE
void unregister_myself();
90 CPT(GeomVertexFormat) do_munge_format(
const GeomVertexFormat *format,
93 virtual CPT(GeomVertexFormat) munge_format_impl(
const GeomVertexFormat *orig,
100 CPT(GeomVertexFormat) do_premunge_format(
const GeomVertexFormat *format);
101 virtual CPT(GeomVertexFormat) premunge_format_impl(
const GeomVertexFormat *orig);
105 virtual int compare_to_impl(
const GeomMunger *other)
const;
106 virtual int geom_compare_to_impl(
const GeomMunger *other)
const;
110 INLINE
static Registry *get_registry();
111 static void make_registry();
113 void do_register(
Thread *current_thread);
114 void do_unregister();
119 virtual void output(ostream &out)
const;
136 class EXPCL_PANDA_GOBJ Registry {
154 Mungers::iterator _registered_key;
156 static Registry *_registry;
164 static void init_type() {
165 TypedReferenceCount::init_type();
166 register_type(_type_handle,
"GeomMunger",
167 TypedReferenceCount::get_class_type());
170 return get_class_type();
172 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
180 #include "geomMunger.I"
This object describes how the vertex animation, if any, represented in a GeomVertexData is encoded...
Objects of this class are used to convert vertex data from a Geom into a format suitable for passing ...
A lightweight reentrant mutex.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
A lightweight class that represents a single element that may be timed and/or counted via stats...
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
A container for geometry primitives.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
An STL function object class, this is intended to be used on any ordered collection of class objects ...
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
A thread; that is, a lightweight process.
This is our own Panda specialization on the default STL set.
This object contains a single cache entry in the GeomCacheManager.
TypeHandle is the identifier used to differentiate C++ class types.
This is a standard, non-reentrant mutex, similar to the Mutex class.