15 #ifndef EGGVERTEXPOOL_H
16 #define EGGVERTEXPOOL_H
18 #include "pandabase.h"
20 #include "eggVertex.h"
22 #include "pt_EggVertex.h"
24 #include "pointerTo.h"
29 #include "iterator_types.h"
68 typedef IndexVertices::size_type size_type;
77 INLINE
bool has_vertex(
int index)
const;
79 bool has_forward_vertices()
const;
80 bool has_defined_vertices()
const;
84 INLINE
EggVertex *operator [](
int index)
const;
90 int get_highest_index()
const;
91 void set_highest_index(
int highest_index);
93 int get_num_dimensions()
const;
94 bool has_normals()
const;
95 bool has_colors()
const;
96 bool has_nonwhite_colors()
const;
97 void check_overall_color(
bool &has_overall_color,
LColor &overall_color)
const;
100 void get_uv_names(vector_string &uv_names, vector_string &uvw_names,
101 vector_string &tbn_names)
const;
102 void get_aux_names(vector_string &aux_names)
const;
111 size_type size()
const;
120 INLINE
EggVertex *make_new_vertex(
double pos);
132 int remove_unused_vertices();
136 void sort_by_external_index();
138 void write(ostream &out,
int indent_level)
const;
142 CoordinateSystem to_cs);
143 virtual void r_transform_vertices(
const LMatrix4d &mat);
156 static void init_type() {
157 EggNode::init_type();
158 register_type(_type_handle,
"EggVertexPool",
159 EggNode::get_class_type());
162 return get_class_type();
164 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
174 #include "eggVertexPool.I"
A base class for any of a number of kinds of geometry primitives: polygons, point lights...
void transform(const LMatrix4d &mat)
Applies the indicated transformation to the node and all of its descendants.
This is an iterator adaptor that converts any iterator that returns a pair (e.g.
This is a 4-by-4 transform matrix.
This is a four-component point in space.
This is a two-component point in space.
This is our own Panda specialization on the default STL vector.
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal...
This is the base class for all three-component vectors and points.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
A base class for things that may be directly added into the egg hierarchy.
TypeHandle is the identifier used to differentiate C++ class types.
A collection of vertices.