# 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>`

Inheritance diagram for Ogre::EdgeData:

[legend]

List of all members.

## Public Types

typedef std::vector < Vector4, STLAllocator < Vector4, CategorisedAlignAllocPolicy < MEMCATEGORY_GEOMETRY > > > | 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)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## 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 46 of file OgreEdgeListBuilder.h.

## Member Typedef Documentation

typedef std::vector<Vector4, STLAllocator<Vector4, CategorisedAlignAllocPolicy<MEMCATEGORY_GEOMETRY> > > Ogre::EdgeData::TriangleFaceNormalList

Definition at line 78 of file OgreEdgeListBuilder.h.

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

Definition at line 83 of file OgreEdgeListBuilder.h.

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

Definition at line 85 of file OgreEdgeListBuilder.h.

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

Definition at line 86 of file OgreEdgeListBuilder.h.

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

Definition at line 107 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, i.e. 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 | ) |

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

## 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 112 of file OgreEdgeListBuilder.h.

TriangleFaceNormalList Ogre::EdgeData::triangleFaceNormals

All triangle face normals.

It should be 1:1 with triangles.

Definition at line 114 of file OgreEdgeListBuilder.h.

TriangleLightFacingList Ogre::EdgeData::triangleLightFacings

Triangle light facing states.

It should be 1:1 with triangles.

Definition at line 116 of file OgreEdgeListBuilder.h.

EdgeGroupList Ogre::EdgeData::edgeGroups

All edge groups of this edge list.

Definition at line 118 of file OgreEdgeListBuilder.h.

bool Ogre::EdgeData::isClosed

Flag indicate the mesh is manifold.

Definition at line 120 of file OgreEdgeListBuilder.h.

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

- OgreEdgeListBuilder.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 14:27:50 2009