Go to the documentation of this file.
13 #include <boost/graph/graph_traits.hpp>
14 #include <boost/graph/properties.hpp>
35 template<
typename HalfedgeGraph,
37 typename FaceNormalMap,
38 typename VertexNormalMap,
39 typename GeometryTraits >
43 const FaceNormalMap &fnm,
45 const GeometryTraits >)
49 typedef boost::graph_traits< HalfedgeGraph > GraphTraits;
50 typedef typename GraphTraits::vertex_iterator vertex_iterator;
52 vertex_iterator vb, ve;
53 for(boost::tie(vb, ve) =
vertices(g); vb != ve; ++vb)
78 template<
typename HalfedgeGraph,
80 typename FaceNormalMap,
81 typename VertexNormalMap,
86 const FaceNormalMap &fnm,
94 GeometryTraits >(g, pm, fnm, vnm, gt);
std::pair< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_iterator, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_iterator > vertices(const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns the iterator range of the vertices of the mesh.
Interfaces for plugins These interfaces will be used for different plugins.
void calculate_vertex_normals(const HalfedgeGraph &g, const PointMap &pm, const FaceNormalMap &fnm, VertexNormalMap vnm, const GeometryTraits >)
Compute the respectice vertex normal for all the vertices of the considered mesh and populate the arg...
void put(FEVV::PCLPointCloudPointMap &pm, FEVV::PCLPointCloudPointMap::key_type key, const FEVV::PCLPointCloudPointMap::value_type &value)
Specialization of put(point_map, key, value) for PCLPointCloud.
GeometryTraits::Vector calculate_vertex_normal(typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor v, const HalfedgeGraph &g, const PointMap &pm, const GeometryTraits >)
Computes the unit normal at considered vertex v as the average of the normals of incident faces.