34 return _forward_reference;
44 _pos.set(pos, 0.0, 0.0, 1.0);
55 _pos.set(pos[0], pos[1], 0.0, 1.0);
66 _pos.set(pos[0], pos[1], pos[2], 1.0);
100 return _num_dimensions;
110 nassertr(_num_dimensions == 1, 0.0);
121 nassertr(_num_dimensions == 2, LPoint2d(0.0, 0.0));
122 return LPoint2d(_pos[0], _pos[1]);
132 nassertr(_num_dimensions == 3 || _num_dimensions == 4,
133 LPoint3d(0.0, 0.0, 0.0));
134 return LVertexd(_pos[0] / _pos[3], _pos[1] / _pos[3], _pos[2] / _pos[3]);
167 return (_aux_map.size() != 0);
180 nassertr(
has_uv(), LTexCoordd::zero());
221 return _uv_map.begin();
232 return _aux_map.begin();
243 return _uv_map.end();
254 return _aux_map.end();
262 return _uv_map.size();
270 return _aux_map.size();
293 _external_index = external_index;
301 return _external_index;
311 _external_index2 = external_index2;
320 return _external_index2;
339 INLINE
bool UniqueEggVertices::
This is an iterator adaptor that converts any iterator that returns a pair (e.g.
int get_num_dimensions() const
Returns the number of dimensions the vertex uses.
void clear_aux()
Removes all auxiliary data from the vertex.
int get_external_index2() const
Returns the number set by set_external_index2().
void set_pos(double pos)
Sets the vertex position.
bool has_aux() const
Returns true if the vertex has any auxiliary data, false otherwise.
EggVertexPool * get_pool() const
Returns the vertex pool this vertex belongs in.
LTexCoordd get_uv() const
Returns the unnamed UV coordinate pair on the vertex.
void set_pos4(const LPoint4d &pos)
This special flavor of set_pos() sets the vertex as a four-component value, but does not change the s...
const_aux_iterator aux_end() const
Returns an iterator that allows walking through the complete set of auxiliary data on the vertex.
LPoint2d get_pos2() const
Only valid if get_num_dimensions() returns 2.
LVertexd get_pos3() const
Valid if get_num_dimensions() returns 3 or 4.
void set_external_index(int external_index)
Sets a special index number that is associated with the EggVertex (but is not written to the egg file...
uv_size_type uv_size() const
Returns the number of named UV's on the vertex.
int get_index() const
Returns the index number of the vertex within its pool.
void clear_uv()
Removes all UV coordinate pairs from the vertex.
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal.
aux_size_type aux_size() const
Returns the number of auxiliary datas on the vertex.
bool has_uv() const
Returns true if the vertex has an unnamed UV coordinate pair, false otherwise.
int compare_to(const EggVertex &other) const
An ordering operator to compare two vertices for sorting order.
const_aux_iterator aux_begin() const
Returns an iterator that allows walking through the complete set of auxiliary data on the vertex.
bool is_forward_reference() const
Returns true if the vertex is a forward reference to some vertex that hasn't been defined yet.
bool sorts_less_than(const EggVertex &other) const
An ordering operator to compare two vertices for sorting order.
const_uv_iterator uv_begin() const
Returns an iterator that allows walking through the complete set of named UV's on the vertex.
LPoint4d get_pos4() const
This is always valid, regardless of the value of get_num_dimensions.
int get_external_index() const
Returns the number set by set_external_index().
void set_external_index2(int external_index2)
Similar to set_external_index(), but this is a different number which may be used for a different pur...
double get_pos1() const
Only valid if get_num_dimensions() returns 1.
void set_uv(const LTexCoordd &texCoord)
Replaces the unnamed UV coordinate pair on the vertex with the indicated value.
A collection of vertices.
const_uv_iterator uv_end() const
Returns an iterator that allows walking through the complete set of named UV's on the vertex.