14 #ifndef EGGVERTEXPOOL_H 15 #define EGGVERTEXPOOL_H 63 typedef IndexVertices::size_type size_type;
72 INLINE
bool has_vertex(
int index)
const;
74 bool has_forward_vertices()
const;
75 bool has_defined_vertices()
const;
79 INLINE
EggVertex *operator [](
int index)
const;
85 int get_highest_index()
const;
86 void set_highest_index(
int highest_index);
88 int get_num_dimensions()
const;
89 bool has_normals()
const;
90 bool has_colors()
const;
91 bool has_nonwhite_colors()
const;
92 void check_overall_color(
bool &has_overall_color, LColor &overall_color)
const;
95 void get_uv_names(vector_string &uv_names, vector_string &uvw_names,
96 vector_string &tbn_names)
const;
97 void get_aux_names(vector_string &aux_names)
const;
106 size_type size()
const;
114 INLINE
EggVertex *make_new_vertex(
double pos);
115 INLINE
EggVertex *make_new_vertex(
const LPoint2d &pos);
116 INLINE
EggVertex *make_new_vertex(
const LPoint3d &pos);
117 INLINE
EggVertex *make_new_vertex(
const LPoint4d &pos);
126 int remove_unused_vertices();
130 void sort_by_external_index();
132 void write(std::ostream &out,
int indent_level)
const;
135 virtual void r_transform(
const LMatrix4d &mat,
const LMatrix4d &inv,
136 CoordinateSystem to_cs);
137 virtual void r_transform_vertices(
const LMatrix4d &mat);
150 static void init_type() {
151 EggNode::init_type();
153 EggNode::get_class_type());
156 return get_class_type();
158 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A base class for any of a number of kinds of geometry primitives: polygons, point lights,...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void transform(const LMatrix4d &mat)
Applies the indicated transformation to the node and all of its descendants.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is an iterator adaptor that converts any iterator that returns a pair (e.g.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for things that may be directly added into the egg hierarchy.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
A collection of vertices.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.