mirror of https://github.com/CGAL/cgal
add documentation
This commit is contained in:
parent
a54e024a32
commit
f3c9181718
|
|
@ -510,11 +510,12 @@ Dynamic property tags, such as `dynamic_vertex_property_t`, are a generalization
|
||||||
value type of the dynamic property map, and a default value.
|
value type of the dynamic property map, and a default value.
|
||||||
`boost::property_map<G,T>::%type` is used to obtain the
|
`boost::property_map<G,T>::%type` is used to obtain the
|
||||||
type of the dynamic property map for a graph of type `G`, for a
|
type of the dynamic property map for a graph of type `G`, for a
|
||||||
dynamic property tag `T`. This type must be default constructible and assignable.
|
dynamic property tag `T`. This type must be assignable, and if no
|
||||||
|
default is provided it must be default constructible.
|
||||||
As for ordinary properties, the function `%get()` is overloaded and
|
As for ordinary properties, the function `%get()` is overloaded and
|
||||||
serves for retrieving a property map for a given graph and dynamic
|
serves for retrieving a property map for a given graph and dynamic
|
||||||
property tag, as well as for retrieving a value for a given key and
|
property tag, as well as for retrieving a value for a given key and
|
||||||
property map.
|
property map. The default value is provided as third parameter.
|
||||||
|
|
||||||
The following example shows how to attach a `string` property to vertices and
|
The following example shows how to attach a `string` property to vertices and
|
||||||
a `double` value to the halfedges of a graph.
|
a `double` value to the halfedges of a graph.
|
||||||
|
|
|
||||||
|
|
@ -14,16 +14,24 @@ int main()
|
||||||
CGAL::make_triangle(Point_3(0,0,0),Point_3(1,0,0),Point_3(1,1,0), mesh);
|
CGAL::make_triangle(Point_3(0,0,0),Point_3(1,0,0),Point_3(1,1,0), mesh);
|
||||||
|
|
||||||
typedef boost::property_map<Mesh, CGAL::dynamic_vertex_property_t<std::string> >::type VertexNameMap;
|
typedef boost::property_map<Mesh, CGAL::dynamic_vertex_property_t<std::string> >::type VertexNameMap;
|
||||||
VertexNameMap vnm = get(CGAL::dynamic_vertex_property_t<std::string>(), mesh);
|
VertexNameMap vnm = get(CGAL::dynamic_vertex_property_t<std::string>(), mesh, std::string("default"));
|
||||||
put(vnm, *(vertices(mesh).first), "Paris");
|
put(vnm, *(vertices(mesh).first), "Paris");
|
||||||
|
|
||||||
|
assert(get(vnm, *(vertices(mesh).first))=="Paris");
|
||||||
|
assert(get(vnm, *(std::next(vertices(mesh).first)))=="default");
|
||||||
|
|
||||||
std::cout << get(vnm, *(vertices(mesh).first)) << std::endl;
|
std::cout << get(vnm, *(vertices(mesh).first)) << std::endl;
|
||||||
|
std::cout << get(vnm, *(std::next(vertices(mesh).first))) << std::endl;
|
||||||
|
|
||||||
typedef boost::property_map<Mesh, CGAL::dynamic_halfedge_property_t<double> >::type TrafficDensityMap;
|
typedef boost::property_map<Mesh, CGAL::dynamic_halfedge_property_t<double> >::type TrafficDensityMap;
|
||||||
TrafficDensityMap tdm = get(CGAL::dynamic_halfedge_property_t<double>(), mesh);
|
TrafficDensityMap tdm = get(CGAL::dynamic_halfedge_property_t<double>(), mesh, -1.);
|
||||||
put(tdm, *(halfedges(mesh).first), 0.7);
|
put(tdm, *(halfedges(mesh).first), 0.7);
|
||||||
|
|
||||||
|
assert(get(tdm, *(halfedges(mesh).first))==0.7);
|
||||||
|
assert(get(tdm, *(std::next(halfedges(mesh).first)))==-1.);
|
||||||
|
|
||||||
std::cout << get(tdm, *(halfedges(mesh).first)) << std::endl;
|
std::cout << get(tdm, *(halfedges(mesh).first)) << std::endl;
|
||||||
|
std::cout << get(tdm, *(std::next(halfedges(mesh).first))) << std::endl;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue