]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/geometry/doc/make_qbk.py
2 # -*- coding: utf-8 -*-
3 # ===========================================================================
4 # Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
5 # Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
6 # Copyright (c) 2009-2012 Mateusz Loskot (mateusz@loskot.net), London, UK
8 # Use, modification and distribution is subject to the Boost Software License,
9 # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
10 # http://www.boost.org/LICENSE_1_0.txt)
11 # ============================================================================
15 script_dir
= os
.path
.dirname(__file__
)
16 os
.chdir(os
.path
.abspath(script_dir
))
17 print("Boost.Geometry is making .qbk files in %s" % os
.getcwd())
19 if 'DOXYGEN' in os
.environ
:
20 doxygen_cmd
= os
.environ
['DOXYGEN']
22 doxygen_cmd
= 'doxygen'
24 if 'DOXYGEN_XML2QBK' in os
.environ
:
25 doxygen_xml2qbk_cmd
= os
.environ
['DOXYGEN_XML2QBK']
26 elif '--doxygen-xml2qbk' in sys
.argv
:
27 doxygen_xml2qbk_cmd
= sys
.argv
[sys
.argv
.index('--doxygen-xml2qbk')+1]
29 doxygen_xml2qbk_cmd
= 'doxygen_xml2qbk'
30 os
.environ
['PATH'] = os
.environ
['PATH']+os
.pathsep
+os
.path
.dirname(doxygen_xml2qbk_cmd
)
31 doxygen_xml2qbk_cmd
= os
.path
.basename(doxygen_xml2qbk_cmd
)
33 cmd
= doxygen_xml2qbk_cmd
34 cmd
= cmd
+ " --xml doxy/doxygen_output/xml/%s.xml"
35 cmd
= cmd
+ " --start_include boost/geometry/"
36 cmd
= cmd
+ " --convenience_header_path ../../../boost/geometry/"
37 cmd
= cmd
+ " --convenience_headers geometry.hpp,geometries/geometries.hpp"
38 cmd
= cmd
+ " --skip_namespace boost::geometry::"
39 cmd
= cmd
+ " --copyright src/copyright_block.qbk"
40 cmd
= cmd
+ " --output_member_variables false"
41 cmd
= cmd
+ " > generated/%s.qbk"
43 def run_command(command
):
44 if os
.system(command
) != 0:
45 raise Exception("Error running %s" % command
)
47 def remove_all_files(dir):
48 if os
.path
.exists(dir):
49 for f
in os
.listdir(dir):
54 remove_all_files("doxygen_output/xml/")
55 run_command(doxygen_cmd
)
58 def group_to_quickbook(section
):
59 run_command(cmd
% ("group__" + section
.replace("_", "__"), section
))
61 def model_to_quickbook(section
):
62 run_command(cmd
% ("classboost_1_1geometry_1_1model_1_1" + section
.replace("_", "__"), section
))
64 def model_to_quickbook2(classname
, section
):
65 run_command(cmd
% ("classboost_1_1geometry_1_1model_1_1" + classname
, section
))
67 def struct_to_quickbook(section
):
68 run_command(cmd
% ("structboost_1_1geometry_1_1" + section
.replace("_", "__"), section
))
70 def class_to_quickbook(section
):
71 run_command(cmd
% ("classboost_1_1geometry_1_1" + section
.replace("_", "__"), section
))
73 def class_to_quickbook2(classname
, section
):
74 run_command(cmd
% ("classboost_1_1geometry_1_1" + classname
, section
))
76 def strategy_to_quickbook(section
):
77 p
= section
.find("::")
79 strategy
= section
[p
+2:]
80 run_command(cmd
% ("classboost_1_1geometry_1_1strategy_1_1"
81 + ns
.replace("_", "__") + "_1_1" + strategy
.replace("_", "__"),
84 def cs_to_quickbook(section
):
85 run_command(cmd
% ("structboost_1_1geometry_1_1cs_1_1" + section
.replace("_", "__"), section
))
90 algorithms
= ["append", "assign", "make", "clear"
91 , "area", "buffer", "centroid", "convert", "correct", "covered_by"
92 , "convex_hull", "crosses", "difference", "disjoint", "distance"
93 , "envelope", "equals", "expand", "for_each", "is_empty"
94 , "is_simple", "is_valid", "intersection", "intersects", "length"
95 , "num_geometries", "num_interior_rings", "num_points"
96 , "num_segments", "overlaps", "perimeter", "relate", "relation"
97 , "reverse", "simplify", "sym_difference", "touches"
98 , "transform", "union", "unique", "within"]
100 access_functions
= ["get", "set", "exterior_ring", "interior_rings"
101 , "num_points", "num_interior_rings", "num_geometries"]
103 coordinate_systems
= ["cartesian", "geographic", "polar", "spherical", "spherical_equatorial"]
105 core
= ["closure", "coordinate_system", "coordinate_type", "cs_tag"
106 , "dimension", "exception", "interior_type"
108 , "is_radian", "point_order"
109 , "point_type", "ring_type", "tag", "tag_cast" ]
111 exceptions
= ["exception", "centroid_exception"];
113 iterators
= ["circular_iterator", "closing_iterator"
114 , "ever_circling_iterator"]
116 models
= ["point", "linestring", "box"
117 , "polygon", "segment", "ring"
118 , "multi_linestring", "multi_point", "multi_polygon", "referring_segment"]
121 strategies
= ["distance::pythagoras", "distance::pythagoras_box_box"
122 , "distance::pythagoras_point_box", "distance::haversine"
123 , "distance::cross_track", "distance::cross_track_point_box"
124 , "distance::projected_point"
125 , "within::winding", "within::franklin", "within::crossings_multiply"
126 , "area::surveyor", "area::huiller"
127 , "buffer::point_circle", "buffer::point_square"
128 , "buffer::join_round", "buffer::join_miter"
129 , "buffer::end_round", "buffer::end_flat"
130 , "buffer::distance_symmetric", "buffer::distance_asymmetric"
131 , "buffer::side_straight"
132 , "centroid::bashein_detmer", "centroid::average"
133 , "convex_hull::graham_andrew"
134 , "simplify::douglas_peucker"
135 , "side::side_by_triangle", "side::side_by_cross_track", "side::spherical_side_formula"
136 , "transform::inverse_transformer", "transform::map_transformer"
137 , "transform::rotate_transformer", "transform::scale_transformer"
138 , "transform::translate_transformer", "transform::ublas_transformer"
141 views
= ["box_view", "segment_view"
142 , "closeable_view", "reversible_view", "identity_view"]
147 group_to_quickbook(i
)
149 for i
in access_functions
:
150 group_to_quickbook(i
)
152 for i
in coordinate_systems
:
156 struct_to_quickbook(i
)
159 class_to_quickbook(i
)
162 struct_to_quickbook(i
)
165 model_to_quickbook(i
)
168 strategy_to_quickbook(i
)
171 struct_to_quickbook(i
)
174 model_to_quickbook2("d2_1_1point__xy", "point_xy")
176 group_to_quickbook("arithmetic")
177 group_to_quickbook("enum")
178 group_to_quickbook("register")
179 group_to_quickbook("svg")
180 class_to_quickbook("svg_mapper")
181 group_to_quickbook("wkt")
183 class_to_quickbook2("de9im_1_1matrix", "de9im_matrix")
184 class_to_quickbook2("de9im_1_1mask", "de9im_mask")
185 class_to_quickbook2("de9im_1_1static__mask", "de9im_static_mask")
188 execfile("make_qbk.py")
191 # Use either bjam or b2 or ../../../b2 (the last should be done on Release branch)
192 if "--release-build" not in sys
.argv
: