40 #error "'max' macro defined! It's against the C++ standard. Please use 'std::max' instead (undefine 'max' macro if it was defined in another library)." 45 #error "'min' macro defined! It's against the C++ standard. Please use 'std::min' instead (undefine 'min' macro if it was defined in another library)." 50 #ifndef TRI_STRIPPER_HEADER_GUARD_TRI_STRIPPER_H 51 #define TRI_STRIPPER_HEADER_GUARD_TRI_STRIPPER_H 105 typedef std::vector<size_t> candidates;
113 void AddLeftTriangles();
114 void ResetStripIDs();
119 const_link_iterator LinkToNeighbour(const_tri_iterator Node,
bool ClockWise,
detail::triangle_order & Order,
bool NotSimulation);
120 const_link_iterator BackLinkToNeighbour(const_tri_iterator Node,
bool ClockWise,
detail::triangle_order & Order);
122 void MarkTriAsTaken(
size_t i);
123 void AddIndex(
index i,
bool NotSimulation);
124 void BackAddIndex(
index i);
129 size_t CacheSize()
const;
135 triangle_graph m_Triangles;
136 triangle_heap m_TriHeap;
137 candidates m_Candidates;
141 size_t m_MinStripSize;
142 bool m_BackwardSearch;
156 m_Cache.
resize(CacheSize);
157 m_BackCache.
resize(CacheSize);
163 if (MinStripSize < 2)
166 m_MinStripSize = MinStripSize;
172 m_BackwardSearch = Enabled;
190 #endif // TRI_STRIPPER_HEADER_GUARD_TRI_STRIPPER_H
void SetPushCacheHits(bool Enabled=true)
void Strip(primitive_vector *out_pPrimitivesVector)
void SetBackwardSearch(bool Enabled=false)
std::vector< indice > indices
void SetMinStripSize(size_t MinStripSize=2)
arc_list::iterator out_arc_iterator
void SetCacheSize(size_t CacheSize=10)
void push_cache_hits(bool Enabled=true)
node_vector::iterator node_iterator
tri_stripper(const indices &TriIndices)
arc_list::const_iterator const_out_arc_iterator
std::vector< primitive_group > primitive_vector
node_vector::const_iterator const_node_iterator