initialization of support hash should happen

once at the beginning
This commit is contained in:
Peter Hachenberger 2009-05-03 11:32:35 +00:00
parent 3580cd1221
commit 0d3ba40341
2 changed files with 6 additions and 3 deletions

View File

@ -99,6 +99,8 @@ class Combine_with_halfspace : public SNC_decorator<Map> {
int index1(Index_generator::get_unique_index()); int index1(Index_generator::get_unique_index());
Halffacet_handle dummy_facet = Halffacet_handle dummy_facet =
this->sncp()->new_halffacet_pair(plane, im != OPEN_HALFSPACE); this->sncp()->new_halffacet_pair(plane, im != OPEN_HALFSPACE);
A.initialize_hash(index0);
A.initialize_hash(index1);
Binary_operation bo(*this->sncp()); Binary_operation bo(*this->sncp());
Vertex_const_iterator v0; Vertex_const_iterator v0;
@ -144,8 +146,6 @@ class Combine_with_halfspace : public SNC_decorator<Map> {
vp->shalfloop()->twin()->set_index_facet(dummy_facet->twin()); vp->shalfloop()->twin()->set_index_facet(dummy_facet->twin());
vp->shalfloop()->set_index(index0); vp->shalfloop()->set_index(index0);
vp->shalfloop()->twin()->set_index(index1); vp->shalfloop()->twin()->set_index(index1);
A.initialize_hash(vp->shalfloop());
A.initialize_hash(vp->shalfloop()->twin());
Vertex_handle ve = C.create_from_edge(e0, ip); Vertex_handle ve = C.create_from_edge(e0, ip);

View File

@ -45,7 +45,7 @@ class ID_support_handler {
int& get_hash(int) { return 0; } int& get_hash(int) { return 0; }
template<typename Handle> void initialize_hash(Handle h) {} template<typename Handle> void initialize_hash(Handle h) {}
void initialize_hash(int i) {}
void handle_support(SVertex_handle , void handle_support(SVertex_handle ,
SHalfedge_const_handle , SHalfedge_const_handle ,
SHalfedge_const_handle ) {} SHalfedge_const_handle ) {}
@ -147,6 +147,9 @@ class ID_support_handler<SNC_indexed_items, Decorator> {
void initialize_hash(Handle h) { void initialize_hash(Handle h) {
hash[h->get_index()] = h->get_index(); hash[h->get_index()] = h->get_index();
} }
void initialize_hash(int i) {
hash[i] = i;
}
void hash_facet_pair(SVertex_handle sv, void hash_facet_pair(SVertex_handle sv,
Halffacet_const_handle f1, Halffacet_const_handle f1,