90 layout->addItem(
new QSpacerItem(10,10,QSizePolicy::Expanding,QSizePolicy::Expanding),2,0,1,2);
132 bool selectionExists =
false;
143 mesh->add_property( origPositions,
"SmootherPlugin_Original_Positions" );
145 for (
int i = 0 ; i < _iterations ; ++i ) {
148 for (
auto v_it : mesh->vertices()) {
149 mesh->property( origPositions, v_it ) = mesh->point(v_it);
151 selectionExists |= mesh->status(v_it).selected();
155 for (
auto v_it : mesh->vertices()) {
157 if(selectionExists && mesh->status(v_it).selected() ==
false) {
167 for (
auto voh_it : v_it.outgoing_halfedges()) {
169 point += mesh->property( origPositions, mesh->to_vertex_handle(voh_it) );
173 if ( mesh->is_boundary( voh_it ) ) {
181 point /= mesh->valence( v_it );
185 mesh->point(v_it) = point;
192 mesh->remove_property( origPositions );
210 mesh->add_property( origPositions,
"SmootherPlugin_Original_Positions" );
212 for (
int i = 0 ; i < _iterations ; ++i ) {
215 for (
auto v_it : mesh->vertices()) {
216 mesh->property( origPositions, v_it ) = mesh->point(v_it);
218 selectionExists |= mesh->status(v_it).selected();
222 for (
auto v_it : mesh->vertices()) {
224 if(selectionExists && mesh->status(v_it).selected() ==
false) {
234 for (
auto voh_it : v_it.outgoing_halfedges()) {
236 point += mesh->property( origPositions, mesh->to_vertex_handle(voh_it) );
240 if ( mesh->is_boundary( voh_it ) ) {
248 point /= mesh->valence( v_it );
252 mesh->point(v_it) = point;
259 mesh->remove_property( origPositions );
270 emit log(
LOGERR,
"DataType not supported.");
275 emit scriptInfo(
"simpleLaplace(" + QString::number(_iterations) +
")");