36 #ifndef AIMS_MESH_MESHCURVATURE_H
37 #define AIMS_MESH_MESHCURVATURE_H
59 const std::vector<float> & ALPHA,
60 const std::vector<float> & BETA,
61 const std::vector<std::list<float> > &
SURFACE);
76 const std::vector< std::list<unsigned> > & neighbourso,
77 const std::vector< std::list<float> > & PHI,
78 const std::vector< std::list<float> > & THETA,
79 const std::vector< std::list<float> > &
SURFACE,
80 const std::vector< std::list<float> > & DOT);
85 const std::vector< std::list<unsigned> > & neighbourso,
86 const std::vector< std::list<float> > & surf);
91 const std::vector< std::list<unsigned> > & neighbourso,
92 const std::vector< std::list<float> > & surf);
96 const std::vector< std::list<unsigned> > & neighbourso);
101 const std::vector< std::list<unsigned> > & neighbourso);
108 const std::vector< std::list<unsigned> > & neighbourso);
113 const std::vector< std::list<unsigned> > & neighbourso);
125 const std::map<
unsigned,
126 std::set< std::pair<
unsigned,
129 template <
typename T>
131 std::vector<T> & outtex,
132 const std::map<
unsigned,
133 std::set< std::pair<unsigned,float> > > &lapl);
141 typedef std::map<unsigned, std::set< std::pair<unsigned,float> > >
149 float sparseThresh=0 );
151 template <
typename T>
153 std::vector<T> & outtex,
167 float sparseThresh=0 );
std::vector< float > AimsMeshFiniteElementAlpha(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
Texture< float > AimsMeshFiniteElementCurvature(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso, const std::vector< std::list< float > > &PHI, const std::vector< std::list< float > > &THETA, const std::vector< std::list< float > > &SURFACE, const std::vector< std::list< float > > &DOT)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
TimeTexture< float > AimsMeshCurvature(const AimsSurface< 3, Void > &mesh)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
Texture< float > AimsRegularizeTexture(const Texture< float > &tex, const AimsSurface< 3, Void > &mesh, float alpha)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
std::vector< std::list< float > > AimsMeshFiniteElementDot(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
std::vector< std::list< unsigned > > AimsMeshOrderNode(const AimsSurface< 3, Void > &mesh)
std::vector< std::list< float > > AimsMeshFiniteElementSurface(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
Texture< float > AimsMeshLaplacian(const Texture< float > &inittex, const std::map< unsigned, std::set< std::pair< unsigned, float > > > &lapl)
std::map< unsigned, std::set< std::pair< unsigned, float > > > AimsMeshWeightFiniteElementLaplacian(const AimsSurface< 3, Void > &mesh, const float Wmax)
float AimsMeshFiniteElementDt(const Texture< float > &tex, const Texture< float > &lapl, float tmax)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
std::vector< std::list< unsigned > > AimsMeshOrderTriangle(const AimsSurface< 3, Void > &mesh)
std::vector< float > AimsMeshFiniteElementBeta(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
std::vector< std::list< float > > AimsMeshFiniteElementPhi(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso, const std::vector< std::list< float > > &surf)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
Point3df cross(Point3df a, Point3df b)
std::vector< std::list< float > > AimsMeshFiniteElementTheta(const AimsSurface< 3, Void > &mesh, const std::vector< std::list< unsigned > > &neighbourso, const std::vector< std::list< float > > &surf)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
Texture< float > AimsMeshBoixCurvature(const AimsSurface< 3, Void > &mesh, const std::vector< float > &ALPHA, const std::vector< float > &BETA, const std::vector< std::list< float > > &SURFACE)
obsolete, see Curvature clases in <aims/mesh/geometric.h>
LaplacianWeights * makeLaplacianSmoothingCoefficients(const LaplacianWeights &weights, unsigned niter, float dt, float sparseThresh=0)
Compute Laplacian smoothing coefficients matrix for niter smoothing iterations.
LaplacianWeights * sparseMult(const LaplacianWeights &in1, const LaplacianWeights &in2, float sparseThresh=0)
void applyLaplacianMatrix(const std::vector< T > &inittex, std::vector< T > &outtex, const LaplacianWeights &lapl)
void laplacianMatrixThreshold(LaplacianWeights &lmat, float threshold)
std::map< unsigned, std::set< std::pair< unsigned, float > > > LaplacianWeights
void makeLaplacianMatrix(const LaplacianWeights &weights, LaplacianWeights &lmat, float dt)