15 #include "cLwoPoints.h"
16 #include "lwoToEggConverter.h"
17 #include "cLwoLayer.h"
19 #include "pta_stdfloat.h"
20 #include "lwoVertexMap.h"
21 #include "string_utils.h"
32 IffId map_type = lwo_vmap->_map_type;
33 const string &name = lwo_vmap->_name;
36 if (map_type ==
IffId(
"TXUV")) {
38 _txuv.insert(VMap::value_type(name, lwo_vmap)).second;
40 }
else if (map_type ==
IffId(
"PICK")) {
42 _pick.insert(VMap::value_type(name, lwo_vmap)).second;
49 nout <<
"Multiple vertex maps on the same points of type "
50 << map_type <<
" named " << name <<
"\n";
63 VMap::const_iterator ni = _txuv.find(uv_name);
64 if (ni == _txuv.end()) {
69 if (vmap->_dimension != 2) {
70 nout <<
"Unexpected dimension of " << vmap->_dimension
71 <<
" for UV map " << uv_name <<
"\n";
81 uv.set(value[0], value[1]);
95 string vpool_name =
"layer" + format_string(_layer->
get_number());
106 if (!_egg_vpool->empty()) {
107 _layer->_egg_group->add_child(_egg_vpool.p());
void make_egg()
Creates the egg structures associated with this Lightwave object.
void add_vmap(const LwoVertexMap *lwo_vmap)
Associates the indicated VertexMap with the points set.
bool has_value(int index) const
Returns true if the map has a value associated with the given index, false otherwise.
int get_number() const
Returns the index number associated with this particular layer.
A mapping of floating-point values per integer index.
void connect_egg()
Connects all the egg structures together.
bool get_uv(const string &uv_name, int n, LPoint2 &uv) const
Returns true if there is a UV of the indicated name associated with the given vertex, false otherwise.
This is a two-component point in space.
A four-byte chunk ID appearing in an "IFF" file.
A collection of vertices.
PTA_stdfloat get_value(int index) const
Returns the mapping value associated with the given index, or an empty PTA_stdfloat if there is no ma...