14 #ifndef GEOMVERTEXARRAYFORMAT_H 15 #define GEOMVERTEXARRAYFORMAT_H 52 NumericType numeric_type0, Contents contents0);
54 NumericType numeric_type0, Contents contents0,
56 NumericType numeric_type1, Contents contents1);
58 NumericType numeric_type0, Contents contents0,
60 NumericType numeric_type1, Contents contents1,
62 NumericType numeric_type2, Contents contents2);
64 NumericType numeric_type0, Contents contents0,
66 NumericType numeric_type1, Contents contents1,
68 NumericType numeric_type2, Contents contents2,
70 NumericType numeric_type3, Contents contents3);
74 virtual bool unref()
const;
76 INLINE
bool is_registered()
const;
78 MAKE_PROPERTY(registered, is_registered);
80 INLINE
int get_stride()
const;
81 INLINE
void set_stride(
int stride);
82 MAKE_PROPERTY(stride, get_stride, set_stride);
84 INLINE
int get_pad_to()
const;
85 INLINE
void set_pad_to(
int pad_to);
86 MAKE_PROPERTY(pad_to, get_pad_to, set_pad_to);
88 INLINE
int get_divisor()
const;
89 INLINE
void set_divisor(
int divisor);
90 MAKE_PROPERTY(divisor, get_divisor, set_divisor);
92 INLINE
int get_total_bytes()
const;
93 MAKE_PROPERTY(total_bytes, get_total_bytes);
96 NumericType numeric_type, Contents contents,
97 int start = -1,
int column_alignment = 0);
100 void clear_columns();
102 void align_columns_for_animation();
104 INLINE
int get_num_columns()
const;
106 MAKE_SEQ(get_columns, get_num_columns, get_column);
107 MAKE_SEQ_PROPERTY(columns, get_num_columns, get_column);
114 int count_unused_space()
const;
116 void output(std::ostream &out)
const;
117 void write(std::ostream &out,
int indent_level = 0)
const;
118 void write_with_data(std::ostream &out,
int indent_level,
121 std::string get_format_string(
bool pad =
true)
const;
128 INLINE
static Registry *get_registry();
129 static void make_registry();
132 void do_unregister();
134 INLINE
void consider_sort_columns()
const;
145 bool _columns_unsorted;
152 class EXPCL_PANDA_GOBJ Registry {
162 static Registry *_registry;
165 static void register_with_read_factory();
169 virtual void finalize(
BamReader *manager);
179 static void init_type() {
180 TypedWritableReferenceCount::init_type();
182 TypedWritableReferenceCount::get_class_type());
185 return get_class_type();
187 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a const pointer to an InternalName, and should be used in lieu of a CPT(InternalName) in func...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
Base class for objects that can be written to and read from Bam files.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
This is our own Panda specialization on the default STL list.
This defines how a single column is interleaved within a vertex array stored within a Geom.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
Encodes a string name in a hash table, mapping it to a pointer.
An STL function object class, this is intended to be used on any ordered collection of class objects ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL set.
A class to retrieve the individual data elements previously stored in a Datagram.
TypeHandle is the identifier used to differentiate C++ class types.
This is a standard, non-reentrant mutex, similar to the Mutex class.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual bool unref() const
Explicitly decrements the reference count.
This is the data for one array of a GeomVertexData structure.