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();}