Panda3D
Public Types | Public Member Functions | Public Attributes
CLwoPolygons Class Reference

This class is a wrapper around LwoPolygons and stores additional information useful during the conversion-to-egg process. More...

#include "cLwoPolygons.h"

List of all members.

Public Types

typedef pmap< IffId, const
LwoPolygonTags * > 
PTags
typedef pmap< 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.
void add_vmad (const LwoDiscontinuousVertexMap *lwo_vmad)
 Associates the indicated DiscontinousVertexMap with the polygons.
void connect_egg ()
 Connects all the egg structures together.
 CPT (LwoPolygons) _polygons
CLwoSurfaceget_surface (int polygon_index) const
 Returns the surface associated with the given polygon, or NULL if no surface is associated.
bool get_uv (const 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.
void make_egg ()
 Creates the egg structures associated with this Lightwave object.
 PT (EggGroup) _egg_group

Public Attributes

LwoToEggConverter_converter
CLwoPoints_points
PTags _ptags
const LwoPolygonTags_surf_ptags
const LwoTags_tags
VMad _txuv

Detailed Description

This class is a wrapper around LwoPolygons and stores additional information useful during the conversion-to-egg process.

Definition at line 39 of file cLwoPolygons.h.


Member Function Documentation

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 38 of file cLwoPolygons.cxx.

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 67 of file cLwoPolygons.cxx.

Connects all the egg structures together.

Definition at line 203 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 93 of file cLwoPolygons.cxx.

References LwoTags::get_num_tags(), LwoToEggConverter::get_surface(), LwoPolygonTags::get_tag(), LwoTags::get_tag(), and LwoPolygonTags::has_tag().

bool CLwoPolygons::get_uv ( const 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 140 of file cLwoPolygons.cxx.

References LwoDiscontinuousVertexMap::get_value(), and LwoDiscontinuousVertexMap::has_value().

Creates the egg structures associated with this Lightwave object.

Definition at line 170 of file cLwoPolygons.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations