Rev 515 | 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 __MESHEDIT_CURVATURE_H__
#define __MESHEDIT_CURVATURE_H__
#include <vector>
namespace CGLA
{
class Vec3d;
class Mat2x2d;
class Mat3x3d;
class Ma4x4d;
}
namespace HMesh
{
class Manifold;
class VertexID;
class HalfEdgeID;
template<typename ITEM>
class VertexAttributeVector;
double voronoi_area(const Manifold& m,
VertexID v);
double barycentric_area(const Manifold& m,
VertexID v);
void unnormalized_mean_curvature_normal(const Manifold& m,
VertexID v,
CGLA::Vec3d& curv_normal,
double& w_sum);
CGLA::Vec3d mean_curvature_normal( const Manifold& m,
VertexID v);
double sum_curvatures( const Manifold& m,
VertexAttributeVector<double>& curvature);
double gaussian_curvature_angle_defect( const Manifold& m,
VertexID v);
CGLA::Mat3x3d curvature_tensor( const Manifold& m,
HalfEdgeID h);
CGLA::Mat3x3d curvature_tensor_from_edge( const Manifold& m,
HalfEdgeID h);
void curvature_tensor_paraboloid( const Manifold& m,
VertexID v,
CGLA::Mat2x2d& curv_tensor,
CGLA::Mat3x3d& frame);
void curvature_tensors_from_edges( const Manifold& m,
VertexAttributeVector<CGLA::Mat3x3d>& curvature_tensors);
void smooth_curvature_tensors( const Manifold& m,
VertexAttributeVector<CGLA::Mat3x3d>& curvature_tensors);
void gaussian_curvature_angle_defects( const Manifold& m,
VertexAttributeVector<double>& curvature,
int smooth_steps=0);
void mean_curvatures( const Manifold& m,
VertexAttributeVector<double>& curvature,
int smooth_steps=0);
void curvature_paraboloids( const Manifold& m,
VertexAttributeVector<CGLA::Vec3d>& min_curv_direction,
VertexAttributeVector<CGLA::Vec3d>& max_curv_direction,
VertexAttributeVector<double>& curvature);
void curvature_from_tensors(const Manifold& m,
const VertexAttributeVector<CGLA::Mat3x3d>& curvature_tensors,
VertexAttributeVector<CGLA::Vec3d>& min_curv_direction,
VertexAttributeVector<CGLA::Vec3d>& max_curv_direction,
VertexAttributeVector<double>& curvature);
}
#endif
Generated by GNU Enscript 1.6.6.