# Ogre::EdgeData Class Reference

This class contains the information required to describe the edge connectivity of a given set of vertices and indexes. More...

`#include <OgreEdgeListBuilder.h>`

List of all members.

## Public Types

typedef std::vector < Vector4, AlignedAllocator < Vector4 > > | TriangleFaceNormalList
typedef std::vector < char > | TriangleLightFacingList
typedef std::vector < Triangle > | TriangleList
typedef std::vector < Edge > | EdgeList
typedef std::vector < EdgeGroup > | EdgeGroupList

## Public Member Functions

void | updateTriangleLightFacing (const Vector4 &lightPos)
| Calculate the light facing state of the triangles in this edge list.
void | updateFaceNormals (size_t vertexSet, const HardwareVertexBufferSharedPtr &positionBuffer)
| Updates the face normals for this edge list based on (changed) position information, useful for animated objects.
void | log (Log *log)

## Public Attributes

TriangleList | triangles
| Main triangles array, stores all triangles of this edge list.
TriangleFaceNormalList | triangleFaceNormals
| All triangle face normals.
TriangleLightFacingList | triangleLightFacings
| Triangle light facing states.
EdgeGroupList | edgeGroups
| All edge groups of this edge list.
bool | isClosed
| Flag indicate the mesh is manifold.

## Classes

struct | Edge
| Edge data. More...
struct | EdgeGroup
| A group of edges sharing the same vertex data. More...
struct | Triangle
| Basic triangle structure. More...

## Detailed Description

This class contains the information required to describe the edge connectivity of a given set of vertices and indexes.

Remarks:
  This information is built using the EdgeListBuilder class. Note that for a given mesh, which can be made up of multiple submeshes, there are separate edge lists for when

Definition at line 47 of file OgreEdgeListBuilder.h.

## Member Typedef Documentation

typedef std::vector<Vector4, AlignedAllocator<Vector4> > Ogre::EdgeData::TriangleFaceNormalList

Definition at line 79 of file OgreEdgeListBuilder.h.

typedef std::vector<char> Ogre::EdgeData::TriangleLightFacingList

Definition at line 84 of file OgreEdgeListBuilder.h.

typedef std::vector<Triangle> Ogre::EdgeData::TriangleList

Definition at line 86 of file OgreEdgeListBuilder.h.

typedef std::vector<Edge> Ogre::EdgeData::EdgeList

Definition at line 87 of file OgreEdgeListBuilder.h.

typedef std::vector<EdgeGroup> Ogre::EdgeData::EdgeGroupList

Definition at line 108 of file OgreEdgeListBuilder.h.

## Member Function Documentation

void Ogre::EdgeData::updateTriangleLightFacing | ( | const Vector4 & | lightPos | ) |

Calculate the light facing state of the triangles in this edge list.

Remarks:
  This is normally the first stage of calculating a silhouette, ie establishing which tris are facing the light and which are facing away. This state is stored in the 'triangleLightFacings'.

Parameters:

  | lightPos | 4D position of the light in object space, note that for directional lights (which have no position), the w component is 0 and the x/y/z position are the direction.

void Ogre::EdgeData::updateFaceNormals | ( | size_t | vertexSet,
|  | const HardwareVertexBufferSharedPtr & | positionBuffer |
| ) |  |  |

Updates the face normals for this edge list based on (changed) position information, useful for animated objects.

Parameters:

  | vertexSet | The vertex set we are updating
  | positionBuffer | The updated position buffer, must contain ONLY xyz

void Ogre::EdgeData::log | ( | Log * | log | ) |

## Member Data Documentation

TriangleList Ogre::EdgeData::triangles

Main triangles array, stores all triangles of this edge list.

Note that triangles are grouping against edge group.

Definition at line 113 of file OgreEdgeListBuilder.h.

TriangleFaceNormalList Ogre::EdgeData::triangleFaceNormals

All triangle face normals.

It should be 1:1 with triangles.

Definition at line 115 of file OgreEdgeListBuilder.h.

TriangleLightFacingList Ogre::EdgeData::triangleLightFacings

Triangle light facing states.

It should be 1:1 with triangles.

Definition at line 117 of file OgreEdgeListBuilder.h.

EdgeGroupList Ogre::EdgeData::edgeGroups

All edge groups of this edge list.

Definition at line 119 of file OgreEdgeListBuilder.h.

bool Ogre::EdgeData::isClosed

Flag indicate the mesh is manifold.

Definition at line 121 of file OgreEdgeListBuilder.h.

The documentation for this class was generated from the following file:

- OgreEdgeListBuilder.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:40 2008