170 #include <CGAL/Halfedge_data_structure_using_vector.h>
178 class HDS_overlay :
private CGAL::Halfedge_data_structure_using_vector
179 < Vertex_overlay, Halfedge_overlay, Facet_overlay> {
182 typedef CGAL::Halfedge_data_structure_using_vector<
Vertex_overlay,
187 using Base::Halfedge;
189 using Base::Difference;
193 using Base::Supports_halfedge_facet;
194 using Base::Supports_vertex_halfedge;
195 using Base::Supports_halfedge_prev;
196 using Base::Supports_halfedge_vertex;
197 using Base::Supports_facet_halfedge;
198 using Base::Supports_vertex_point;
199 using Base::Supports_facet_plane;
200 using Base::Supports_facet_normal;
201 using Base::Supports_removal;
203 using Base::iterator_category;
204 using Base::Vertex_iterator;
205 using Base::Halfedge_iterator;
206 using Base::Facet_iterator;
208 using Base::Vertex_const_iterator;
209 using Base::Halfedge_const_iterator;
210 using Base::Facet_const_iterator;
213 using Base::size_of_vertices;
214 using Base::size_of_halfedges;
215 using Base::size_of_facets;
216 using Base::capacity_of_vertices;
217 using Base::capacity_of_halfedges;
218 using Base::capacity_of_facets;
220 using Base::bytes_reserved;
221 using Base::vertices_begin;
222 using Base::vertices_end;
223 using Base::halfedges_begin;
224 using Base::halfedges_end;
225 using Base::facets_begin;
226 using Base::facets_end;
228 using Base::new_edge;
229 using Base::new_facet;
230 using Base::delete_all;
231 using Base::vertex_pop_back;
232 using Base::edge_pop_back;
233 using Base::facet_pop_back;
235 using Base::size_of_border_halfedges;
236 using Base::size_of_border_edges;
237 using Base::border_halfedges_begin;
243 for ( Vertex_iterator it=vertices_begin(); it!=vertices_end(); ++it)
263 vertices.push_back( Vertex()); vertices.back().set_pane(
pn);
264 return & (vertices.back());
269 vertices.push_back( *v); vertices.back().set_pane(
pn);
270 return & (vertices.back());
275 vertices.push_back( Vertex( p)); vertices.back().set_pane(
pn);
276 return & (vertices.back());
293 :
_p( (char*)(h) + (int(t)&3))
338 if ( color ==
BLUE) {
bool operator==(const INode &x)
Parent_type parent_type(const int color) const
bool operator!=(const Host_face &h) const
Halfedge_overlay * halfedge()
RFC_Pane_overlay * pane()
void set_halfedge(Halfedge_overlay *h)
Tag_true Supports_vertex_point
Halfedge_overlay * halfedge() const
void set_facet(Facet_overlay *_f)
Tag_true Supports_vertex_halfedge
CGAL::Halfedge_data_structure_using_vector< Vertex_overlay, Halfedge_overlay, Facet_overlay > Base
Vertex_overlay * destination()
Vertex * new_vertex(const Vertex *v)
const Halfedge_overlay * prev() const
SURF::Point_2< float > Point_2S
Halfedge_overlay * opposite()
Vertex * new_vertex(const Point &p)
This & operator=(const HDS_overlay &)
RFC_Pane_overlay * pane()
Halfedge_overlay * halfedge()
Parent_type blue_parent_type() const
Tag_false Supports_facet_normal
Parent_type parent_type() const
Vertex_overlay * origin()
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Tag_true Supports_halfedge_prev
HDS_overlay(RFC_Pane_overlay *p, const HDS_overlay &hds)
#define RFC_END_NAME_SPACE
Halfedge * blue_halfedge() const
void set_next(Halfedge_overlay *h)
const Point & point() const
Halfedge_overlay * prev()
const Point_2S & nat_coor(const int color) const
Host_face(Halfedge_overlay *h, Parent_type t)
Vertex_overlay * vertex()
void set_pane(RFC_Pane_overlay *p)
const Facet_overlay * facet() const
void set_halfedge(Halfedge_overlay *h)
const Halfedge_overlay * next() const
const Halfedge_overlay * halfedge() const
Halfedge * green_halfedge() const
bool operator==(const Host_face &h) const
void set_vertex(Vertex_overlay *_v)
#define RFC_BEGIN_NAME_SPACE
const RFC_Pane_overlay * pane() const
Parent_type pt(const Point_2 &p)
void nat_coor(const int color, Point_2 &p) const
const Vertex_overlay * origin() const
Halfedge * halfedge(const int color) const
Tag_true Supports_halfedge_facet
void normalize_border_vertices()
Halfedge_overlay * next()
#define RFC_assertion_code
Tag_true Supports_halfedge_vertex
Tag_true Supports_facet_halfedge
void set_prev(Halfedge_overlay *h)
Parent_type green_parent_type() const
Vertex_overlay(const Point &)
const Halfedge_overlay * halfedge() const
void set_opposite(Halfedge_overlay *h)
In_place_list_n_base< INode, 2 > Base
const RFC_Pane_overlay * pane() const
HDS_overlay(RFC_Pane_overlay *p)
const Halfedge_overlay * opposite() const
void set_parent(Halfedge *h, const Point_2 &p, int color)
Tag_false Supports_facet_plane
const Vertex_overlay * vertex() const
const Vertex_overlay * destination() const
Halfedge_overlay Halfedge