The algorithms of the Bgl often have many parameters with default values that are appropriate for most cases.
In general, when no special treatment is applied, the values of such parameters are passed as a sequence. Deviating from the default for a certain parameter requires the user to explicitly pass values for all preceding parameters. The solution to this problem is to first write a tag and then the parameter, which for Dijkstra's shortest path algorithm might look as follows:
vertex_descriptor s = vertex(A, g);
dijkstra_shortest_paths(g, s, predecessor_map(&p[0]).distance_map(&d[0]));
In the Bgl manual, this is called named parameters. The named parameters in the example use the tags predecessor_map
and distance_map
and they are concatenated with the dot operator.
In the following, we assume that PolygonMesh
is a model of the concept FaceGraph
. Note that for some functions, the type might be more specific:
Here is the list of the named parameters available in this package:
vertex_point_map | is the property map with the points associated to the vertices of the polygon mesh.
Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and a CGAL point type as value type.
Default: boost::get(CGAL::vertex_point, pmesh)
|
vertex_index_map | is the property map containing the index of each vertex of the input polygon mesh.
Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and the value type typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::vertex_index_t>::type>::value_type Default: boost::get(CGAL::vertex_index, pmesh)
|
halfedge_index_map | is the property map containing the index of each halfedge of the input polygon mesh.
Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::halfedge_descriptor as key type and the value type: typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::halfedge_index_t>::type>::value_type Default: boost::get(CGAL::halfedge_index, pmesh) If this internal property map exists, its values should be initialized.
|
edge_index_map | is the property map containing the index of each edge of the input polygon mesh.
Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::edge_descriptor as key type and the value type: typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::edge_index_t>::type>::value_type Default: boost::get(CGAL::edge_index, pmesh) If this internal property map exists, its values should be initialized.
|
face_index_map | is the property map containing the index of each face of the input polygon mesh.
Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor as key type and the value type: typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::face_index_t>::type>::value_type Default: boost::get(CGAL::face_index, pmesh) If this internal property map exists, its values should be initialized.
|
edge_is_constrained_map | is the property map containing information about edges of the input polygon mesh being marked or not.
Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::edge_descriptor as key type and bool as value type. It should be default constructible.
Default: a default property map where no edge is constrained
|
use_binary_mode | is a Boolean indicating whether the binary mode or the ASCII mode should be used when writing data into a stream.
Type: bool
Default: Function specific.
|
METIS_options | is a parameter used in partition_graph() and partition_dual_graph() to pass options to the METIS graph partitioner. The many options of METIS are not described here. Instead, users should refer to METIS' documentation.
Type: an array of size METIS_NOPTIONS with value type idx_t (an integer type defined by METIS).
Default: an array of size METIS_NOPTIONS with value type idx_t , initialized using the function METIS_SetDefaultOptions() .
|
vertex_partition_id_map | is the property map storing for each vertex of the mesh the id of the subpart of the partition that has been assigned to this vertex.
Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and int as value type.
Default: None: this property map is used to store the partition IDs of the vertices as result of a partition algorithm; if it is not provided, this information is simply inaccessible.
|
face_partition_id_map | is the property map storing for each face of the mesh the id of the subpart of the partition that has been assigned to this face.
Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor as key type and int as value type.
Default: None: this property map is used to store the partition IDs of the faces as result of a partition algorithm; if it is not provided, this information is simply inaccessible.
|
vertex_to_vertex_output_iterator | is a model of OutputIterator accepting std::pair<vertex_descriptor, vertex_descriptor> A typical use case is mapping the vertices from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of OutputIterator accepting std::pair< boost::graph_traits<PolygonMesh>::vertex_descriptor, boost::graph_traits<PolygonMesh>::vertex_descriptor> .
Default: Emptyset_iterator
|
halfedge_to_halfedge_output_iterator | is a model of OutputIterator accepting std::pair<halfedge_descriptor, halfedge_descriptor> A typical use case is mapping the halfedges from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of OutputIterator accepting std::pair< boost::graph_traits<PolygonMesh>::halfedge_descriptor, boost::graph_traits<PolygonMesh>::halfedge_descriptor> .
Default: Emptyset_iterator
|
face_to_face_output_iterator | is a model of OutputIterator accepting std::pair<face_descriptor, face_descriptor> A typical use case is mapping the faces from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of OutputIterator accepting std::pair< boost::graph_traits<PolygonMesh>::face_descriptor, boost::graph_traits<PolygonMesh>::face_descriptor> .
Default: Emptyset_iterator
|
vertex_to_vertex_map | is a property map storing for each vertex of a source mesh the corresponding vertex of another mesh.
A typical use case is mapping the vertices from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh1>::vertex_descriptor as key type and boost::graph_traits<PolygonMesh2>::vertex_descriptor as value type.
Default: None.
|
halfedge_to_halfedge_map | is a property map storing for each halfedge of a source mesh the corresponding halfedge of another mesh.
A typical use case is mapping the vertices from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh1>::halfedge_descriptor as key type and boost::graph_traits<PolygonMesh2>::halfedge_descriptor as value type.
Default: None.
|
face_to_face_map | is a property map storing for each face of a source mesh the corresponding face of another mesh.
A typical use case is mapping the vertices from a source mesh to its copy's after a copy_face_graph() operation.
Type:a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh1>::face_descriptor as key type and boost::graph_traits<PolygonMesh2>::face_descriptor as value type.
Default: None.
|