Commit bfceabf5 authored by Sylvain Thery's avatar Sylvain Thery

remove unused file

parent dfb6e1d5
/*******************************************************************************
* CGoGN: Combinatorial and Geometric modeling with Generic N-dimensional Maps *
* version 0.1 *
* Copyright (C) 2009-2012, IGG Team, LSIIT, University of Strasbourg *
* *
* This library is free software; you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as published by the *
* Free Software Foundation; either version 2.1 of the License, or (at your *
* option) any later version. *
* *
* This library is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
* for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this library; if not, write to the Free Software Foundation, *
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
* *
* Web site: http://cgogn.unistra.fr/ *
* Contact information: cgogn@unistra.fr *
* *
*******************************************************************************/
#ifndef __DECIMATION_BASIC_H_
#define __DECIMATION_BASIC_H_
namespace CGoGN
{
namespace Algo
{
namespace Decimation
{
template <typename PFP>
bool edgeCanCollapse(typename PFP::MAP& map, Dart d, AttributeHandler<unsigned int>& valences)
{
Dart dd = map.phi2(d);
Dart dp = map.phi_1(d);
Dart ddp = map.phi_1(dd);
// Check valency conditions
unsigned int val_vd = valences[d];
unsigned int val_vdd = valences[dd];
unsigned int val_vd1 = valences[dp];
unsigned int val_vdd1 = valences[ddp];
if(val_vd + val_vdd < 8 || val_vd + val_vdd > 11 || val_vd1 < 5 || val_vdd1 < 5)
return false;
// Check vertex sharing condition
unsigned int vu1[32]; // pas de vector mais un tableau (find a la main, mais pas d'allocation par reserve)
val_vd -= 3; // evite le -3 dans la boucle
val_vdd -= 3;
Dart vit1 = map.phi2_1(map.phi2_1(d));
for (unsigned int i = 0; i< val_vd; ++i)
{
unsigned int ve = map.getEmbedding(map.phi2(vit1),VERTEX);
vu1[i] = ve;
vit1 = map.phi2_1(vit1);
}
val_vd--; // pour le parcours avec while >=0
Dart vit2 = map.phi2_1(map.phi2_1(dd));
for (unsigned int i = 0; i< val_vdd; ++i)
{
unsigned int ve = map.getEmbedding(map.phi2(vit2),VERTEX);
int j = val_vd;
while ( j>=0)
{
if (vu1[j] == ve)
return false;
--j;
}
vit2 = map.phi2_1(vit2);
}
return true;
}
template <typename PFP>
bool edgeCanCollapse(typename PFP::MAP& map, Dart d)
{
Dart dd = map.phi2(d);
Dart dp = map.phi_1(d);
Dart ddp = map.phi_1(dd);
// Check valency conditions
int val_vd = 0 ;
Dart tmp = d ;
do { ++val_vd ; tmp = map.phi2_1(tmp) ; } while(tmp != d) ;
int val_vdd = 0 ;
tmp = dd ;
do { ++val_vdd ; tmp = map.phi2_1(tmp) ; } while(tmp != dd) ;
int val_vdp = 0 ;
tmp = dp ;
do { ++val_vdp ; tmp = map.phi2_1(tmp) ; } while(tmp != dp) ;
int val_vddp = 0 ;
tmp = ddp ;
do { ++val_vddp ; tmp = map.phi2_1(tmp) ; } while(tmp != ddp) ;
if(val_vd + val_vdd < 8 || val_vd + val_vdd > 11 || val_vdp < 5 || val_vddp < 5)
return false;
// Check vertex sharing condition
unsigned int vu1[32]; // pas de vector mais un tableau (find a la main, mais pas d'allocation par reserve)
val_vd -= 3; // evite le -3 dans la boucle
val_vdd -= 3;
Dart vit1 = map.phi2_1(map.phi2_1(d));
for (int i = 0; i < val_vd; ++i)
{
unsigned int ve = map.getEmbedding(map.phi2(vit1),VERTEX);
vu1[i] = ve;
vit1 = map.phi2_1(vit1);
}
val_vd--; // pour le parcours avec while >=0
Dart vit2 = map.phi2_1(map.phi2_1(dd));
for (int i = 0; i < val_vdd; ++i)
{
unsigned int ve = map.getEmbedding(map.phi2(vit2),VERTEX);
int j = val_vd;
while (j >= 0)
{
if (vu1[j] == ve)
return false;
--j;
}
vit2 = map.phi2_1(vit2);
}
return true;
}
} // namespace Decimation
} // namespace Algo
} // namespace CGoGN
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment