5 #include <Euclid/MeshUtil/MeshDefs.h> 6 #include <Euclid/Util/Memory.h> 26 template<
typename Mesh>
30 using Vector_3 = Vector_3_t<Mesh>;
31 using FT = FT_t<Mesh>;
43 const std::vector<Vector_3>*
vnormals =
nullptr,
57 template<
typename Derived>
58 void compute(Eigen::ArrayBase<Derived>& spin_img,
59 float bin_scale = 1.0f,
61 float support_angle = 90.0f);
67 const Mesh* mesh =
nullptr;
83 #include "src/SpinImage.cpp" A potentially resource owning pointer.
Definition: Memory.h:27
void build(const Mesh &mesh, const std::vector< Vector_3 > *vnormals=nullptr, FT resolution=0.0)
Build up the necessary computational components.
Definition: SpinImage.cpp:13
The spin image descriptor.
Definition: SpinImage.h:27
void compute(Eigen::ArrayBase< Derived > &spin_img, float bin_scale=1.0f, int image_width=16, float support_angle=90.0f)
Compute the spin image descriptor for all vertices.
Definition: SpinImage.cpp:42
FT resolution
The mesh resolution.
Definition: SpinImage.h:77
const Mesh * mesh
The mesh being processed.
Definition: SpinImage.h:67
ProPtr< const std::vector< Vector_3 > > vnormals
The vertex normals.
Definition: SpinImage.h:72