Subversion Repositories gelsvn

Rev

Rev 511 | Rev 578 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* ----------------------------------------------------------------------- *
 * This file is part of GEL, www.imm.dtu.dk/GEL
 * Copyright (C) the authors (see AUTHORS.txt) and DTU Informatics
 *
 * Principal authors:
 *  Christian Thode Larsen (thode2d@gmail.com)
 *  J. Andreas Baerentzen (jab@imm.dtu.dk)
 *
 * See LICENSE.txt for licensing information
 * ----------------------------------------------------------------------- */

#ifndef __HMESH_SMOOTH_H
#define __HMESH_SMOOTH_H

namespace HMesh
{
    class Manifold;

    /// Simple laplacian smoothing with an optional weight.
    void laplacian_smooth(HMesh::Manifold& m, float t=1.0f);

    /// Taubin smoothing is similar to laplacian smoothing but reduces shrinkage
    void taubin_smooth(HMesh::Manifold& m, int iter);

    /// Fuzzy vector median smoothing is effective when it comes to preserving sharp edges.
    void fvm_smooth(HMesh::Manifold& m, int iter);
}
#endif __HMESH_SMOOTH_H