This class is a wrapper around LwoPolygons and stores additional information useful during the conversion-to-egg process. More...
#include "cLwoPolygons.h"
Public Types | |
typedef pmap< IffId, const LwoPolygonTags * > | PTags |
typedef pmap< std::string, const LwoDiscontinuousVertexMap * > | VMad |
Public Member Functions | |
CLwoPolygons (LwoToEggConverter *converter, const LwoPolygons *polygons, CLwoPoints *points) | |
void | add_ptags (const LwoPolygonTags *lwo_ptags, const LwoTags *tags) |
Associates the indicated PolygonTags and Tags with the polygons in this chunk. More... | |
void | add_vmad (const LwoDiscontinuousVertexMap *lwo_vmad) |
Associates the indicated DiscontinousVertexMap with the polygons. More... | |
void | connect_egg () |
Connects all the egg structures together. More... | |
CPT (LwoPolygons) _polygons | |
CLwoSurface * | get_surface (int polygon_index) const |
Returns the surface associated with the given polygon, or NULL if no surface is associated. More... | |
bool | get_uv (const std::string &uv_name, int pi, int vi, LPoint2 &uv) const |
Returns true if there is a UV of the indicated name associated with the given vertex of the indicated polygon, false otherwise. More... | |
void | make_egg () |
Creates the egg structures associated with this Lightwave object. More... | |
PT (EggGroup) _egg_group | |
Public Attributes | |
LwoToEggConverter * | _converter |
CLwoPoints * | _points |
PTags | _ptags |
const LwoPolygonTags * | _surf_ptags |
const LwoTags * | _tags |
VMad | _txuv |
This class is a wrapper around LwoPolygons and stores additional information useful during the conversion-to-egg process.
Definition at line 36 of file cLwoPolygons.h.
void CLwoPolygons::add_ptags | ( | const LwoPolygonTags * | lwo_ptags, |
const LwoTags * | tags | ||
) |
Associates the indicated PolygonTags and Tags with the polygons in this chunk.
This may define features such as per-polygon surfaces, parts, and smoothing groups.
Definition at line 36 of file cLwoPolygons.cxx.
void CLwoPolygons::add_vmad | ( | const LwoDiscontinuousVertexMap * | lwo_vmad | ) |
Associates the indicated DiscontinousVertexMap with the polygons.
This can be used in conjunction with (or in place of) the VertexMap associated with the points set, to define per-polygon UV's etc.
Definition at line 62 of file cLwoPolygons.cxx.
void CLwoPolygons::connect_egg | ( | ) |
Connects all the egg structures together.
Definition at line 186 of file cLwoPolygons.cxx.
CLwoSurface * CLwoPolygons::get_surface | ( | int | polygon_index | ) | const |
Returns the surface associated with the given polygon, or NULL if no surface is associated.
Definition at line 86 of file cLwoPolygons.cxx.
References LwoTags::get_num_tags(), LwoPolygonTags::get_tag(), and LwoPolygonTags::has_tag().
bool CLwoPolygons::get_uv | ( | const std::string & | uv_name, |
int | pi, | ||
int | vi, | ||
LPoint2 & | uv | ||
) | const |
Returns true if there is a UV of the indicated name associated with the given vertex of the indicated polygon, false otherwise.
If true, fills in uv with the value.
This performs a lookup in the optional "discontinuous" vertex mapping, which provides the ability to map different UV's per each polygon for the same vertex. If the UV is not defined here, it may also be defined in the standard vertex map, which is associated with the points themselves.
Definition at line 128 of file cLwoPolygons.cxx.
void CLwoPolygons::make_egg | ( | ) |
Creates the egg structures associated with this Lightwave object.
Definition at line 155 of file cLwoPolygons.cxx.