Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Examples

A3DL::PolygonMesh Class Reference

#include <polygonmesh.hh>

Inheritance diagram for A3DL::PolygonMesh:

A3DL::Object3D MetaObject List of all members.

Public Types

Public Member Functions

Static Public Member Functions


Member Typedef Documentation

typedef vector<int> A3DL::PolygonMesh::Polygon
 

Definition at line 55 of file polygonmesh.hh.

Referenced by getPolygons().


Member Enumeration Documentation

enum A3DL::PolygonMesh::TextureType
 

Enumeration values:
NoTexture 
UVcoord 
PolygonPlane 
ArbitraryPlane 
TexMatrix 

Definition at line 62 of file polygonmesh.hh.

Referenced by unpackTextureSpace().


Constructor & Destructor Documentation

PolygonMesh::PolygonMesh MetaObject superobject  ) 
 

Definition at line 36 of file polygonmesh.cc.

Referenced by new_PolygonMesh().

PolygonMesh::~PolygonMesh  ) 
 

Definition at line 41 of file polygonmesh.cc.


Member Function Documentation

bool PolygonMesh::getDoubleSided  )  [virtual]
 

Are these polygons double sided?

Returns:
true for double sided polygons, false for single sided polygons.

Definition at line 578 of file polygonmesh.cc.

void PolygonMesh::getNormals vector< Vertex > &  v  )  [virtual]
 

Get the normal vectors.

Parameters:
v the normals will be stored in this vector

Definition at line 315 of file polygonmesh.cc.

void PolygonMesh::getPolygons vector< Polygon > &  v  )  [virtual]
 

Get all polygons.

Parameters:
v the polygons will be filled into this vector

Definition at line 332 of file polygonmesh.cc.

Referenced by setPolygon().

vector< Portal * > PolygonMesh::getPortals  )  [virtual]
 

Definition at line 589 of file polygonmesh.cc.

void PolygonMesh::getTexels vector< Texel > &  v  )  [virtual]
 

Get all UV coordinates.

Parameters:
v the UV coordinates will be stored in this vector

Definition at line 364 of file polygonmesh.cc.

void PolygonMesh::getTextureSpaces vector< TextureSpace > &  t  )  [virtual]
 

Get the current texture spaces used for polygons.

Parameters:
t the texture spaces will be stored here

Definition at line 523 of file polygonmesh.cc.

const string PolygonMesh::getType  )  [virtual]
 

Reimplemented from A3DL::Object3D.

Definition at line 607 of file polygonmesh.cc.

void PolygonMesh::getVertices vector< Vertex > &  v  )  [virtual]
 

Get all vertices.

Parameters:
v the vertices will be filled into this vector

Definition at line 299 of file polygonmesh.cc.

MetaObject * PolygonMesh::new_PolygonMesh MetaObject superobject,
const string &  type
[static]
 

Definition at line 602 of file polygonmesh.cc.

void PolygonMesh::packTextureSpace unsigned char *  data,
const TextureSpace t
[static]
 

Definition at line 381 of file polygonmesh.cc.

Referenced by setTextureSpace(), and setTextureSpaces().

void PolygonMesh::registerExtenders  )  [static]
 

Reimplemented from A3DL::Object3D.

Definition at line 612 of file polygonmesh.cc.

void PolygonMesh::setDoubleSided bool  ds  )  [virtual]
 

Set whether to treat polygons as double sided or single sided.

Direction is determined using the cross product of the first two edges, with the vertices listed in clockwise order.

Parameters:
ds the flag, true for double sided, false for single sided

Definition at line 573 of file polygonmesh.cc.

void PolygonMesh::setNormal unsigned int  which,
Vertex v
[virtual]
 

Set the vertex normal vector, used for lighting.

Parameters:
which the index of the vertex this normal applies to
v the normal vector value

Definition at line 74 of file polygonmesh.cc.

void PolygonMesh::setNormals const vector< Vertex > &  v  )  [virtual]
 

Set all the normals at once.

Parameters:
v array of vertex normals

Definition at line 197 of file polygonmesh.cc.

void PolygonMesh::setPolygon unsigned int  which,
Polygon v
[virtual]
 

Change a single polygon.

This is very efficient for strictly triangular meshes, less efficient for polygonal meshes.

Parameters:
which the index of polygon to set
v the new polygon

Definition at line 104 of file polygonmesh.cc.

void PolygonMesh::setPolygons const vector< Polygon > &  v  )  [virtual]
 

Set all polygons at once.

Parameters:
v new polygon list

Definition at line 224 of file polygonmesh.cc.

Referenced by setPolygon().

void PolygonMesh::setTexel int  which,
Texel v
[virtual]
 

Set all UV coordinates at once.

Parameters:
which the vertex index this UV coordinate applies to
v the UV coordinates for this

Definition at line 141 of file polygonmesh.cc.

void PolygonMesh::setTexels const vector< Texel > &  v  )  [virtual]
 

Set all UV coordinates at once.

Parameters:
v the UV coordinates for each vertex.

Definition at line 273 of file polygonmesh.cc.

void PolygonMesh::setTextureSpace unsigned int  which,
const TextureSpace t
[virtual]
 

Set the texture mapping for a specific polygon.

Parameters:
which the polygon index to be changed
t the new texture space to use

Definition at line 541 of file polygonmesh.cc.

void PolygonMesh::setTextureSpaces const vector< TextureSpace > &  t  )  [virtual]
 

Set the per-polygon texture spaces.

Parameters:
t the texture space to use for each polygon

Definition at line 497 of file polygonmesh.cc.

void PolygonMesh::setVertex unsigned int  which,
Vertex v
[virtual]
 

Set a single vertex.

Parameters:
which the index of vertex to set
v the new vertex value

Definition at line 45 of file polygonmesh.cc.

void PolygonMesh::setVertices const vector< Vertex > &  v  )  [virtual]
 

Set all vertices at once.

Parameters:
v the new vertex array

Definition at line 171 of file polygonmesh.cc.

void PolygonMesh::unpackTextureSpace const unsigned char *  data,
TextureSpace t
[static]
 

Definition at line 442 of file polygonmesh.cc.

Referenced by getTextureSpaces().


The documentation for this class was generated from the following files:
Generated on Tue Aug 12 03:56:00 2003 for Interreality Project - VOS by doxygen 1.3.2