Go to the documentation of this file.
29 template<
typename BoostGraphS,
30 typename BoostGraphT >
39 template<
typename FaceGraphS,
42 typename boost::graph_traits< FaceGraphS >::face_descriptor,
43 typename boost::graph_traits< FaceGraphT >::face_descriptor >;
52 template<
typename FaceGraphS,
90 template<
typename FaceListGraphS,
91 typename FaceListGraphT,
93 typename GeometryTraitsS,
94 typename GeometryTraitsT >
101 const GeometryTraitsS >_s,
102 const GeometryTraitsT >_t)
107 typedef double coordP_type;
108 typedef double coordN_type;
109 typedef float coordC_type;
110 typedef float coordT_type;
111 typedef size_t index_type;
123 unsigned int duplicated_vertices_nbr = 0;
132 duplicated_vertices_nbr,
137 use_corner_texture_coord),
146 params.m_v2v->clear();
153 auto vi = v_iter_pair.first;
154 auto vi_end = v_iter_pair.second;
156 for(; vi != vi_end; ++vi)
159 (*params.m_v2v)[*vi] = vd_target[i];
165 std::cout <<
"copy_graph(): WARNING unable to build v2v map because "
166 " source and target have not the same number of vertices."
175 params.m_f2f->clear();
181 auto f_iter_pair =
faces(g_s);
182 auto fi = f_iter_pair.first;
183 auto fi_end = f_iter_pair.second;
185 for(; fi != fi_end; ++fi)
188 (*params.m_f2f)[*fi] = fd_target[i];
194 std::cout <<
"copy_graph(): WARNING unable to build f2f map because "
195 " source and target have not the same number of faces."
202 std::cout <<
"copy_graph(): input mesh has "
207 std::cout <<
"copy_graph(): input mesh has property maps: [";
209 std::cout <<
" " << name;
210 std::cout <<
" ]" << std::endl;
212 std::cout <<
"copy_graph(): output mesh has "
217 if(duplicated_vertices_nbr > 0)
219 std::cout <<
"copy_graph(): "
220 << duplicated_vertices_nbr <<
" vertices were duplicated."
223 std::cout <<
"copy_graph(): output mesh has property maps: [";
225 std::cout <<
" " << name;
226 std::cout <<
" ]" << std::endl;
241 template<
typename FaceListGraphS,
242 typename FaceListGraphT,
243 typename Parameters =
244 CopyGraphParameters< FaceListGraphS, FaceListGraphT >,
255 GeometryTraitsS gt_s(g_s);
256 GeometryTraitsT gt_t(g_t);
257 copy_graph(g_s, pmap_s, g_t, pmap_t, params, gt_s, gt_t);
273 template<
typename FaceListGraphS,
274 typename FaceListGraphT,
276 typename GeometryTraitsS,
277 typename GeometryTraitsT >
282 const GeometryTraitsS >_s,
283 const GeometryTraitsT >_t)
288 copy_graph(g_s, pmaps_s, g_t, pmaps_t, params, gt_s, gt_t);
301 template<
typename FaceListGraphS,
302 typename FaceListGraphT,
303 typename Parameters =
304 CopyGraphParameters< FaceListGraphS, FaceListGraphT >,
313 GeometryTraitsS gt_s(g_s);
314 GeometryTraitsT gt_t(g_t);
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.
std::map< typename boost::graph_traits< BoostGraphS >::vertex_descriptor, typename boost::graph_traits< BoostGraphT >::vertex_descriptor > VertexToVertexMap
MeshFromVectorReprParameters & use_corner_texcoord(bool _use_corner_texcoord)
void copy_graph(const FEVV::CGALPointSet &pc_s, const FEVV::PMapsContainer &pmaps_s, PointCloudT &pc_t, FEVV::PMapsContainer &pmaps_t, const Parameters ¶ms, const GeometryTraitsS >_s, const GeometryTraitsT >_t)
Overloading of copy_graph() for CGAL Point Set copy from.
CopyGraphParameters & v2v(V2VMap *_v2v)
bool has_map(const PMapsContainer &pmaps, const std::string &map_name)
(refer to Property Maps API)
void mesh_from_vector_representation(HalfedgeGraph &g, FEVV::PMapsContainer &pmaps, unsigned int &dup_v_nbr, FEVV::Types::MVR< coordP_type, coordN_type, coordT_type, coordC_type, index_type > &mvr, MeshFromVectorReprParameters< HalfedgeGraph > const ¶ms, const GeometryTraits &)
Build the mesh from the given vector representation.
Refer to Geometry_traits_documentation_dummy for further documentation on provided types and algorith...
FaceToFaceMap< FaceGraphS, FaceGraphT > F2FMap
boost::graph_traits< MeshT >::edges_size_type size_of_edges(const MeshT &g)
Real current number of edges of the mesh. Generic version.
std::map< std::string, boost::any > PMapsContainer
CopyGraphParameters & f2f(F2FMap *_f2f)
MeshFromVectorReprParameters & vd_target(VDVect *_vd_target)
Interfaces for plugins These interfaces will be used for different plugins.
std::pair< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_iterator, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_iterator > faces(const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns an iterator range over all faces of the mesh.
std::vector< typename boost::graph_traits< FaceGraph >::face_descriptor > FaceDescVect
std::vector< std::string > list_property_maps(const PMapsContainer &pmaps)
boost::graph_traits< MeshT >::faces_size_type size_of_faces(const MeshT &g)
Real current number of faces of the mesh. Generic version.
boost::graph_traits< MeshT >::vertex_descriptor vertex_descriptor
void mesh_to_vector_representation(const FaceListGraph &g, const FEVV::PMapsContainer &pmaps, FEVV::Types::MVR< coordP_type, coordN_type, coordT_type, coordC_type, index_type > &mvr, const GeometryTraits &)
Build the vector representation of the mesh.
std::map< typename boost::graph_traits< FaceGraphS >::face_descriptor, typename boost::graph_traits< FaceGraphT >::face_descriptor > FaceToFaceMap
std::vector< typename boost::graph_traits< BoostGraph >::vertex_descriptor > VertDescVect
Parameters contains the compression parameters except the stopping criteria.
VertexToVertexMap< FaceGraphS, FaceGraphT > V2VMap
boost::graph_traits< MeshT >::vertices_size_type size_of_vertices(const MeshT &g)
Real current number of vertices of the mesh. Generic version.
MeshFromVectorReprParameters & fd_target(FDVect *_fd_target)