Start incremental builder

This commit is contained in:
Guillaume Damiand 2016-10-21 18:10:07 -04:00
parent 1a357d5519
commit 7618192d21
4 changed files with 33 additions and 16 deletions

View File

@ -834,13 +834,10 @@ namespace CGAL {
Dart_const_handle opposite(Dart_const_handle ADart) const
{ return this->template beta<dim>(ADart); }
template<unsigned int dim>
void sew_opposite(Dart_handle dh1, Dart_handle dh2,
bool update_attributes=true)
{
assert(dim>0);
sew<dim>(dh1, dh2, update_attributes);
}
Dart_handle other_orientation(Dart_handle ADart)
{ return ADart; }
Dart_const_handle other_orientation(Dart_const_handle ADart) const
{ return ADart; }
/** Count the number of used marks.
* @return the number of used marks.
@ -3808,6 +3805,12 @@ namespace CGAL {
this->automatic_attributes_management = newval;
}
/** Create an half-edge.
* @return a dart of the new half-edge.
*/
Dart_handle make_half_edge()
{ return create_dart(); }
/** Create an edge.
* if closed==true, the edge has no 2-free dart.
* (note that for CMap there is no differente between true and false, but

View File

@ -780,13 +780,16 @@ namespace CGAL {
template<unsigned int dim>
Dart_const_handle opposite(Dart_const_handle ADart) const
{ return this->template alpha<0, dim>(ADart); }
template<unsigned int dim>
void sew_opposite(Dart_handle dh1, Dart_handle dh2,
bool update_attributes=true)
Dart_handle other_orientation(Dart_handle ADart)
{
assert(dim>0);
sew<dim>(dh1, this->template alpha<0>(dh2), update_attributes);
CGAL_assertion(!this->template is_free<0>(ADart));
return this->alpha<0>(ADart);
}
Dart_const_handle other_orientation(Dart_const_handle ADart) const
{
CGAL_assertion(!this->template is_free<0>(ADart));
return this->alpha<0>(ADart);
}
/** Count the number of used marks.
@ -2957,6 +2960,16 @@ namespace CGAL {
this->automatic_attributes_management = newval;
}
/** Create an half-edge.
* @return a dart of the new half-edge.
*/
Dart_handle make_half_edge()
{
Dart_handle d1=create_dart();
basic_link_alpha<0>(d1, create_dart());
return d1;
}
/** Create an edge.
* if closed==true, the edge has no 2-free dart.
* @return a dart of the new edge.

View File

@ -546,7 +546,8 @@ namespace CGAL {
(*it1, this->previous(*it2)))
{
++res;
this->template sew_opposite<3>(*it1, this->previous(*it2));
this->template sew<3>(*it1,
this->other_orientation(previous(*it2)));
}
}
}

View File

@ -38,7 +38,7 @@ namespace CGAL {
lcc(alcc)
{}
Vertex_attribute_handle add_vertex (const Point_3& p)
Vertex_attribute_handle add_vertex(const Point_3& p)
{
Vertex_attribute_handle res = lcc.create_vertex_attribute(p);
vertex_map.push_back(res);
@ -58,7 +58,7 @@ namespace CGAL {
{
CGAL_assertion( i<new_vertices );
// std::cout<<i<<" "<<std::flush;
Dart_handle cur = lcc.create_dart(vertex_map[i]);
Dart_handle cur = lcc.make_half_edge(vertex_map[i]);
if ( prev_dart!=lcc.null_handle )
{