48 typedef UVMap::size_type uv_size_type;
52 typedef AuxMap::size_type aux_size_type;
63 INLINE
bool is_forward_reference()
const;
67 INLINE
void set_pos(
double pos);
68 INLINE
void set_pos(
const LPoint2d &pos);
69 INLINE
void set_pos(
const LPoint3d &pos);
70 INLINE
void set_pos(
const LPoint4d &pos);
71 INLINE
void set_pos4(
const LPoint4d &pos);
78 INLINE
int get_num_dimensions()
const;
79 INLINE
double get_pos1()
const;
80 INLINE LPoint2d get_pos2()
const;
81 INLINE LVertexd get_pos3()
const;
82 INLINE LPoint4d get_pos4()
const;
84 INLINE
bool has_uv()
const;
85 INLINE LTexCoordd get_uv()
const;
86 INLINE
void set_uv(
const LTexCoordd &texCoord);
87 INLINE
void clear_uv();
88 bool has_uv(
const std::string &name)
const;
89 bool has_uvw(
const std::string &name)
const;
90 LTexCoordd get_uv(
const std::string &name)
const;
91 const LTexCoord3d &get_uvw(
const std::string &name)
const;
92 void set_uv(
const std::string &name,
const LTexCoordd &texCoord);
93 void set_uvw(
const std::string &name,
const LTexCoord3d &texCoord);
94 const EggVertexUV *get_uv_obj(
const std::string &name)
const;
95 EggVertexUV *modify_uv_obj(
const std::string &name);
97 void clear_uv(
const std::string &name);
99 INLINE
bool has_aux()
const;
100 INLINE
void clear_aux();
101 bool has_aux(
const std::string &name)
const;
102 const LVecBase4d &get_aux(
const std::string &name)
const;
103 void set_aux(
const std::string &name,
const LVecBase4d &aux);
104 const EggVertexAux *get_aux_obj(
const std::string &name)
const;
107 void clear_aux(
const std::string &name);
115 INLINE uv_size_type uv_size()
const;
119 INLINE aux_size_type aux_size()
const;
122 INLINE
int get_index()
const;
124 INLINE
void set_external_index(
int external_index);
125 INLINE
int get_external_index()
const;
126 INLINE
void set_external_index2(
int external_index2);
127 INLINE
int get_external_index2()
const;
129 void write(std::ostream &out,
int indent_level)
const;
133 int get_num_local_coord()
const;
134 int get_num_global_coord()
const;
139 GroupRef::const_iterator gref_begin()
const;
140 GroupRef::const_iterator gref_end()
const;
141 GroupRef::size_type gref_size()
const;
143 bool has_gref(
const EggGroup *group)
const;
145 void copy_grefs_from(
const EggVertex &other);
149 PrimitiveRef::const_iterator pref_begin()
const;
150 PrimitiveRef::const_iterator pref_end()
const;
151 PrimitiveRef::size_type pref_size()
const;
156 void test_gref_integrity()
const;
157 void test_pref_integrity()
const;
159 void test_gref_integrity()
const { }
160 void test_pref_integrity()
const { }
163 void output(std::ostream &out)
const;
169 bool _forward_reference;
171 int _external_index, _external_index2;
173 short _num_dimensions;
184 static void init_type() {
185 EggObject::init_type();
186 EggAttributes::init_type();
188 EggObject::get_class_type(),
189 EggAttributes::get_class_type());
192 return get_class_type();
194 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
204 INLINE std::ostream &operator << (std::ostream &out,
const EggVertex &vert) {
A base class for any of a number of kinds of geometry primitives: polygons, point lights,...
The set of UV's that may or may not be assigned to a vertex.
An STL function object for sorting vertices into order by properties.
This is an iterator adaptor that converts any iterator that returns a pair (e.g.
This is our own Panda specialization on the default STL map.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void transform(const LMatrix4d &mat)
Applies the indicated transformation matrix to the attributes.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void write(std::ostream &out, int indent_level) const
Writes the attributes to the indicated output stream in Egg format.
The main glue of the egg hierarchy, this corresponds to the <Group>, <Instance>, and <Joint> type nod...
The set of attributes that may be applied to vertices as well as polygons, such as surface normal and...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The set of named auxiliary data that may or may not be assigned to a vertex.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
bool sorts_less_than(const EggAttributes &other) const
An ordering operator to compare two vertices for sorting order.
A collection of vertices.
The highest-level base class in the egg directory.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
int compare_to(const EggAttributes &other) const
An ordering operator to compare two vertices for sorting order.