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

# triangle_stripper::tri_stripper Class Reference

`#include <tri_stripper.h>`

Collaboration diagram for triangle_stripper::tri_stripper:

[legend]
List of all members.

## Public Types
typedef unsigned short | indice
typedef std::vector< indice > | indices
typedef std::vector< primitives > | primitives_vector
enum | primitive_type { PT_Triangles = 0x0004, PT_Triangle_Strip = 0x0005 }
## Public Member Functions
| tri_stripper (const indices &TriIndices)
void | SetCacheSize (const size_t CacheSize=16)
void | SetMinStripSize (const size_t MinStripSize=2)
void | Strip (primitives_vector *out_pPrimitivesVector)
## Private Types
typedef common_structures::graph_array< triangle, char > | triangles_graph
typedef common_structures::heap_array< triangle_degree, _cmp_tri_degree_gt > | triangles_heap
typedef std::vector< triangle_edge > | triangle_edges
typedef std::vector< size_t > | triangle_indices
typedef std::deque< indice > | indices_cache
## Private Member Functions
void | InitCache ()
void | InitTriGraph ()
void | InitTriHeap ()
void | Stripify ()
void | AddLeftTriangles ()
void | LinkNeighboursTri (const triangle_edges &TriInterface, const triangle_edge Edge)
void | MarkTriAsTaken (const size_t i)
triangle_edge | GetLatestEdge (const triangle &Triangle, const triangle_strip::start_order Order) const
triangle_strip | FindBestStrip ()
triangle_strip | ExtendTriToStrip (const size_t StartTriPos, const triangle_strip::start_order StartOrder)
void | BuildStrip (const triangle_strip TriStrip)
void | AddIndice (const indice i)
void | AddIndiceToCache (const indice i, bool CacheHitCount=false)
void | AddTriToCache (const triangle &Tri, const triangle_strip::start_order Order)
void | AddTriToIndices (const triangle &Tri, const triangle_strip::start_order Order)
## Private Attributes
const indices & | m_TriIndices
size_t | m_MinStripSize
size_t | m_CacheSize
primitives_vector | m_PrimitivesVector
triangles_graph | m_Triangles
triangles_heap | m_TriHeap
triangle_indices | m_NextCandidates
indices_cache | m_IndicesCache
size_t | m_StripID
size_t | m_CacheHits
## Friends
struct | _cmp_tri_interface_lt

## Member Typedef Documentation

typedef unsigned short triangle_stripper::tri_stripper::indice

typedef std::vector<indice> triangle_stripper::tri_stripper::indices

typedef std::deque<indice> triangle_stripper::tri_stripper::indices_cache`[private]`

typedef std::vector<primitives> triangle_stripper::tri_stripper::primitives_vector

typedef std::vector<triangle_edge> triangle_stripper::tri_stripper::triangle_edges`[private]`

typedef std::vector<size_t> triangle_stripper::tri_stripper::triangle_indices`[private]`

typedef common_structures::graph_array<triangle, char> triangle_stripper::tri_stripper::triangles_graph`[private]`

typedef common_structures::heap_array<triangle_degree, _cmp_tri_degree_gt> triangle_stripper::tri_stripper::triangles_heap`[private]`

## Member Enumeration Documentation

enum triangle_stripper::tri_stripper::primitive_type

  | Enumeration values:
  PT_Triangles |
  PT_Triangle_Strip |

## Constructor & Destructor Documentation

triangle_stripper::tri_stripper::tri_stripper | ( | const indices & | TriIndices | ) | `[inline]`

## Member Function Documentation

void triangle_stripper::tri_stripper::AddIndice | ( | const indice | i | ) | `[inline, private]`

void triangle_stripper::tri_stripper::AddIndiceToCache | ( | const indice | i,
|  | bool | CacheHitCount = false
| ) | `[inline, private]`

void triangle_stripper::tri_stripper::AddLeftTriangles | ( |  | ) | `[private]`

void triangle_stripper::tri_stripper::AddTriToCache | ( | const triangle & | Tri,
|  | const triangle_strip::start_order | Order
| ) | `[inline, private]`

void triangle_stripper::tri_stripper::AddTriToIndices | ( | const triangle & | Tri,
|  | const triangle_strip::start_order | Order
| ) | `[inline, private]`

void triangle_stripper::tri_stripper::BuildStrip | ( | const triangle_strip | TriStrip | ) | `[private]`

tri_stripper::triangle_strip triangle_stripper::tri_stripper::ExtendTriToStrip | ( | const size_t | StartTriPos,
|  | const triangle_strip::start_order | StartOrder
| ) | `[private]`

tri_stripper::triangle_strip triangle_stripper::tri_stripper::FindBestStrip | ( |  | ) | `[inline, private]`

tri_stripper::triangle_edge triangle_stripper::tri_stripper::GetLatestEdge | ( | const triangle & | Triangle,
|  | const triangle_strip::start_order | Order
| ) | const`[inline, private]`

void triangle_stripper::tri_stripper::InitCache | ( |  | ) | `[private]`

void triangle_stripper::tri_stripper::InitTriGraph | ( |  | ) | `[private]`

void triangle_stripper::tri_stripper::InitTriHeap | ( |  | ) | `[private]`

void triangle_stripper::tri_stripper::LinkNeighboursTri | ( | const triangle_edges & | TriInterface,
|  | const triangle_edge | Edge
| ) | `[private]`

void triangle_stripper::tri_stripper::MarkTriAsTaken | ( | const size_t | i | ) | `[private]`

void triangle_stripper::tri_stripper::SetCacheSize | ( | const size_t | CacheSize = 16 | ) | `[inline]`

void triangle_stripper::tri_stripper::SetMinStripSize | ( | const size_t | MinStripSize = 2 | ) | `[inline]`

void triangle_stripper::tri_stripper::Strip | ( | primitives_vector * | out_pPrimitivesVector | ) |

void triangle_stripper::tri_stripper::Stripify | ( |  | ) | `[private]`

## Friends And Related Function Documentation

friend struct _cmp_tri_interface_lt`[friend]`

## Member Data Documentation

size_t triangle_stripper::tri_stripper::m_CacheHits`[private]`

size_t triangle_stripper::tri_stripper::m_CacheSize`[private]`

indices_cache triangle_stripper::tri_stripper::m_IndicesCache`[private]`

size_t triangle_stripper::tri_stripper::m_MinStripSize`[private]`

triangle_indices triangle_stripper::tri_stripper::m_NextCandidates`[private]`

primitives_vector triangle_stripper::tri_stripper::m_PrimitivesVector`[private]`

size_t triangle_stripper::tri_stripper::m_StripID`[private]`

triangles_graph triangle_stripper::tri_stripper::m_Triangles`[private]`

triangles_heap triangle_stripper::tri_stripper::m_TriHeap`[private]`

const indices& triangle_stripper::tri_stripper::m_TriIndices`[private]`

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

- tri_stripper.h
- tri_stripper.cpp