Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Public Types | Public Member Functions | Friends | List of all members
triangle_stripper::tri_stripper Class Reference

#include <tri_stripper.h>

Classes

struct  primitives
 
struct  triangles_indices_error
 

Public Types

enum  primitive_type { PT_Triangles = 0x0004, PT_Triangle_Strip = 0x0005 }
 
typedef std::vector< indiceindices
 
typedef std::vector< primitivesprimitives_vector
 

Public Member Functions

 tri_stripper (const indices &TriIndices)
 
void Strip (primitive_vector *out_pPrimitivesVector)
 
void SetCacheSize (size_t CacheSize=10)
 
void SetMinStripSize (size_t MinStripSize=2)
 
void SetBackwardSearch (bool Enabled=false)
 
void SetPushCacheHits (bool Enabled=true)
 
 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)
 

Friends

struct _cmp_tri_interface_lt
 

Detailed Description

Definition at line 68 of file tri_stripper.h.

Member Typedef Documentation

◆ indices

Definition at line 167 of file TriStrip_tri_stripper.h.

◆ primitives_vector

Definition at line 180 of file TriStrip_tri_stripper.h.

Member Enumeration Documentation

◆ primitive_type

Enumerator
PT_Triangles 
PT_Triangle_Strip 

Definition at line 169 of file TriStrip_tri_stripper.h.

Constructor & Destructor Documentation

◆ tri_stripper() [1/2]

triangle_stripper::tri_stripper::tri_stripper ( const indices TriIndices)
inline

◆ tri_stripper() [2/2]

triangle_stripper::tri_stripper::tri_stripper ( const indices TriIndices)
inline

Member Function Documentation

◆ SetBackwardSearch()

void triangle_stripper::tri_stripper::SetBackwardSearch ( bool  Enabled = false)
inline

Definition at line 170 of file tri_stripper.h.

Referenced by tri_stripper().

◆ SetCacheSize() [1/2]

void triangle_stripper::tri_stripper::SetCacheSize ( size_t  CacheSize = 10)
inline

◆ SetCacheSize() [2/2]

void triangle_stripper::tri_stripper::SetCacheSize ( const size_t  CacheSize = 16)
inline

◆ SetMinStripSize() [1/2]

void triangle_stripper::tri_stripper::SetMinStripSize ( size_t  MinStripSize = 2)
inline

Definition at line 161 of file tri_stripper.h.

Referenced by vl::TriangleStripGenerator::stripfy(), and tri_stripper().

◆ SetMinStripSize() [2/2]

void triangle_stripper::tri_stripper::SetMinStripSize ( const size_t  MinStripSize = 2)
inline

◆ SetPushCacheHits()

void triangle_stripper::tri_stripper::SetPushCacheHits ( bool  Enabled = true)
inline

◆ Strip() [1/2]

void triangle_stripper::tri_stripper::Strip ( primitive_vector out_pPrimitivesVector)

Definition at line 42 of file tri_stripper.cpp.

References triangle_stripper::detail::triangle::A(), triangle_stripper::detail::triangle_edge::A(), triangle_stripper::detail::ABC, triangle_stripper::detail::triangle::B(), triangle_stripper::detail::triangle_edge::B(), triangle_stripper::detail::BCA, triangle_stripper::detail::graph_array< nodetype >::begin(), triangle_stripper::detail::policy::BestStrip(), triangle_stripper::detail::triangle::C(), triangle_stripper::detail::CAB, triangle_stripper::detail::policy::Challenge(), triangle_stripper::detail::heap_array< T, CmpT >::clear(), triangle_stripper::detail::heap_array< T, CmpT >::empty(), triangle_stripper::detail::graph_array< nodetype >::end(), triangle_stripper::detail::heap_array< T, CmpT >::erase(), triangle_stripper::detail::cache_simulator::hitcount(), i, triangle_stripper::detail::heap_array< T, CmpT >::lock(), triangle_stripper::detail::cache_simulator::merge(), triangle_stripper::detail::strip::Order(), triangle_stripper::detail::heap_array< T, CmpT >::peek(), triangle_stripper::detail::heap_array< T, CmpT >::pop(), triangle_stripper::detail::heap_array< T, CmpT >::position(), triangle_stripper::detail::cache_simulator::push(), triangle_stripper::detail::heap_array< T, CmpT >::push(), triangle_stripper::detail::heap_array< T, CmpT >::removed(), triangle_stripper::detail::heap_array< T, CmpT >::reserve(), triangle_stripper::detail::cache_simulator::reset(), triangle_stripper::detail::cache_simulator::size(), triangle_stripper::detail::strip::Size(), triangle_stripper::detail::graph_array< nodetype >::size(), triangle_stripper::detail::strip::Start(), triangle_stripper::detail::triangle::StripID(), triangle_stripper::detail::heap_array< T, CmpT >::top(), triangle_stripper::TRIANGLE_STRIP, triangle_stripper::TRIANGLES, triangle_stripper::primitive_group::Type, triangle_stripper::detail::unmark_nodes(), and triangle_stripper::detail::heap_array< T, CmpT >::update().

Referenced by vl::TriangleStripGenerator::stripfy().

◆ Strip() [2/2]

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

Definition at line 41 of file TriStrip_tri_stripper.cpp.

References _cmp_tri_interface_lt, triangle_stripper::detail::triangle::A(), triangle_stripper::detail::triangle_edge::A(), triangle_stripper::triangle_strip::ABC, triangle_stripper::detail::triangle::B(), triangle_stripper::detail::triangle_edge::B(), triangle_stripper::triangle_strip::BCA, triangle_stripper::detail::graph_array< nodetype >::begin(), triangle_stripper::detail::triangle::C(), triangle_stripper::triangle_strip::CAB, triangle_stripper::detail::heap_array< T, CmpT >::clear(), triangle_stripper::triangle_degree::Degree(), triangle_stripper::detail::heap_array< T, CmpT >::empty(), triangle_stripper::detail::graph_array< nodetype >::end(), triangle_stripper::detail::heap_array< T, CmpT >::erase(), i, triangle_stripper::tri_stripper::primitives::m_Type, triangle_stripper::detail::heap_array< T, CmpT >::peek(), triangle_stripper::detail::heap_array< T, CmpT >::pop(), PT_Triangle_Strip, PT_Triangles, triangle_stripper::detail::heap_array< T, CmpT >::push(), triangle_stripper::detail::heap_array< T, CmpT >::removed(), triangle_stripper::detail::heap_array< T, CmpT >::reserve(), triangle_stripper::triangle_degree::SetDegree(), triangle_stripper::detail::graph_array< nodetype >::size(), triangle_stripper::triangle_strip::Size(), triangle_stripper::triangle_strip::StartOrder(), triangle_stripper::triangle_strip::StartTriPos(), triangle_stripper::detail::triangle::StripID(), triangle_stripper::detail::heap_array< T, CmpT >::top(), and triangle_stripper::detail::heap_array< T, CmpT >::update().

Friends And Related Function Documentation

◆ _cmp_tri_interface_lt

friend struct _cmp_tri_interface_lt
friend

Definition at line 197 of file TriStrip_tri_stripper.h.

Referenced by Strip().


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