]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/geometry/doc/make_qbk.py
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / geometry / doc / make_qbk.py
1 #! /usr/bin/env python
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
7 #
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 # ============================================================================
12
13 import os, sys
14
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())
18
19 if 'DOXYGEN' in os.environ:
20 doxygen_cmd = os.environ['DOXYGEN']
21 else:
22 doxygen_cmd = 'doxygen'
23
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]
28 else:
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)
32
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"
42
43 def run_command(command):
44 if os.system(command) != 0:
45 raise Exception("Error running %s" % command)
46
47 def remove_all_files(dir):
48 if os.path.exists(dir):
49 for f in os.listdir(dir):
50 os.remove(dir+f)
51
52 def call_doxygen():
53 os.chdir("doxy")
54 remove_all_files("doxygen_output/xml/")
55 run_command(doxygen_cmd)
56 os.chdir("..")
57
58 def group_to_quickbook(section):
59 run_command(cmd % ("group__" + section.replace("_", "__"), section))
60
61 def model_to_quickbook(section):
62 run_command(cmd % ("classboost_1_1geometry_1_1model_1_1" + section.replace("_", "__"), section))
63
64 def model_to_quickbook2(classname, section):
65 run_command(cmd % ("classboost_1_1geometry_1_1model_1_1" + classname, section))
66
67 def struct_to_quickbook(section):
68 run_command(cmd % ("structboost_1_1geometry_1_1" + section.replace("_", "__"), section))
69
70 def class_to_quickbook(section):
71 run_command(cmd % ("classboost_1_1geometry_1_1" + section.replace("_", "__"), section))
72
73 def class_to_quickbook2(classname, section):
74 run_command(cmd % ("classboost_1_1geometry_1_1" + classname, section))
75
76 def strategy_to_quickbook(section):
77 p = section.find("::")
78 ns = section[:p]
79 strategy = section[p+2:]
80 run_command(cmd % ("classboost_1_1geometry_1_1strategy_1_1"
81 + ns.replace("_", "__") + "_1_1" + strategy.replace("_", "__"),
82 ns + "_" + strategy))
83
84 def cs_to_quickbook(section):
85 run_command(cmd % ("structboost_1_1geometry_1_1cs_1_1" + section.replace("_", "__"), section))
86
87
88 call_doxygen()
89
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"]
99
100 access_functions = ["get", "set", "exterior_ring", "interior_rings"
101 , "num_points", "num_interior_rings", "num_geometries"]
102
103 coordinate_systems = ["cartesian", "geographic", "polar", "spherical", "spherical_equatorial"]
104
105 core = ["closure", "coordinate_system", "coordinate_type", "cs_tag"
106 , "dimension", "exception", "interior_type"
107 , "degree", "radian"
108 , "is_radian", "point_order"
109 , "point_type", "ring_type", "tag", "tag_cast" ]
110
111 exceptions = ["exception", "centroid_exception"];
112
113 iterators = ["circular_iterator", "closing_iterator"
114 , "ever_circling_iterator"]
115
116 models = ["point", "linestring", "box"
117 , "polygon", "segment", "ring"
118 , "multi_linestring", "multi_point", "multi_polygon", "referring_segment"]
119
120
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"
139 ]
140
141 views = ["box_view", "segment_view"
142 , "closeable_view", "reversible_view", "identity_view"]
143
144
145
146 for i in algorithms:
147 group_to_quickbook(i)
148
149 for i in access_functions:
150 group_to_quickbook(i)
151
152 for i in coordinate_systems:
153 cs_to_quickbook(i)
154
155 for i in core:
156 struct_to_quickbook(i)
157
158 for i in exceptions:
159 class_to_quickbook(i)
160
161 for i in iterators:
162 struct_to_quickbook(i)
163
164 for i in models:
165 model_to_quickbook(i)
166
167 for i in strategies:
168 strategy_to_quickbook(i)
169
170 for i in views:
171 struct_to_quickbook(i)
172
173
174 model_to_quickbook2("d2_1_1point__xy", "point_xy")
175
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")
182
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")
186
187 os.chdir("index")
188 execfile("make_qbk.py")
189 os.chdir("..")
190
191 # Use either bjam or b2 or ../../../b2 (the last should be done on Release branch)
192 if "--release-build" not in sys.argv:
193 run_command("b2")