From a8d62ccbaf33d4e05f2f9f155ab10e0f56df61a1 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sat, 9 Apr 2011 20:31:35 +0000 Subject: [PATCH] Added and updated documentation of correct, transform, distance, comparable_distance [SVN r71153] --- doc/doxy/doxygen_output/html/doxygen.css | 380 +++--------------- doc/doxy/doxygen_output/html/doxygen.png | Bin 3942 -> 1281 bytes doc/doxy/doxygen_output/html/tabs.css | 134 ++++-- ...{make_envelope.png => return_envelope.png} | Bin doc/imports.qbk | 4 + doc/other/status.xls | Bin 19968 -> 20992 bytes doc/quickref.xml | 2 +- doc/reference.qbk | 32 +- doc/reference/algorithms/clear.qbk | 2 +- .../algorithms/comparable_distance.qbk | 25 ++ doc/reference/algorithms/correct.qbk | 33 ++ doc/reference/algorithms/difference.qbk | 6 +- doc/reference/algorithms/distance.qbk | 21 + doc/reference/algorithms/expand.qbk | 2 +- doc/reference/algorithms/intersection.qbk | 6 +- doc/reference/algorithms/reverse.qbk | 2 +- doc/reference/algorithms/sym_difference.qbk | 6 +- doc/reference/algorithms/transform.qbk | 28 ++ .../algorithms/transform_with_strategy.qbk | 19 + doc/reference/algorithms/union.qbk | 6 +- doc/reference/algorithms/unique.qbk | 2 +- .../implementation_status.cpp | 8 +- doc/src/examples/algorithms/Jamfile.v2 | 22 +- .../algorithms/comparable_distance.cpp | 66 +++ doc/src/examples/algorithms/correct.cpp | 65 +++ doc/src/examples/algorithms/distance.cpp | 13 +- doc/src/examples/algorithms/transform.cpp | 53 +++ .../algorithms/transform_with_strategy.cpp | 63 +++ 28 files changed, 567 insertions(+), 433 deletions(-) rename doc/html/img/algorithms/{make_envelope.png => return_envelope.png} (100%) create mode 100644 doc/reference/algorithms/comparable_distance.qbk create mode 100644 doc/reference/algorithms/correct.qbk create mode 100644 doc/reference/algorithms/distance.qbk create mode 100644 doc/reference/algorithms/transform.qbk create mode 100644 doc/reference/algorithms/transform_with_strategy.qbk create mode 100644 doc/src/examples/algorithms/comparable_distance.cpp create mode 100644 doc/src/examples/algorithms/correct.cpp create mode 100644 doc/src/examples/algorithms/transform.cpp create mode 100644 doc/src/examples/algorithms/transform_with_strategy.cpp diff --git a/doc/doxy/doxygen_output/html/doxygen.css b/doc/doxy/doxygen_output/html/doxygen.css index 74445fe1f..d6aaf2804 100644 --- a/doc/doxy/doxygen_output/html/doxygen.css +++ b/doc/doxy/doxygen_output/html/doxygen.css @@ -8,15 +8,10 @@ body, table, div, p, dl { /* @group Heading Levels */ h1 { + text-align: center; font-size: 150%; } -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - h2 { font-size: 120%; } @@ -69,8 +64,8 @@ h3.version { } div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; + background-color: #e8eef2; + border: 1px solid #84b0c7; text-align: center; margin: 2px; padding: 2px; @@ -88,13 +83,13 @@ div.navtab { /* @group Link Styling */ a { - color: #3D578C; + color: #153788; font-weight: normal; text-decoration: none; } .contents a:visited { - color: #4665A2; + color: #1b77c5; } a:hover { @@ -107,9 +102,9 @@ a.qindex { a.qindexHL { font-weight: bold; - background-color: #9CAFD4; + background-color: #6666cc; color: #ffffff; - border: 1px double #869DCA; + border: 1px double #9295C2; } .contents a.qindexHL:visited { @@ -124,11 +119,11 @@ a.elRef { } a.code { - color: #4665A2; + color: #3030f0; } a.codeRef { - color: #4665A2; + color: #3030f0; } /* @end */ @@ -143,8 +138,8 @@ dl.el { } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; + border: 1px solid #CCCCCC; + background-color: #f5f5f5; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; @@ -158,22 +153,13 @@ div.ah { font-weight: bold; color: #ffffff; margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); + margin-top: 3px } div.groupHeader { margin-left: 16px; margin-top: 12px; + margin-bottom: 6px; font-weight: bold; } @@ -185,32 +171,27 @@ div.groupText { body { background: white; color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 5px; + margin-right: 20px; + margin-left: 20px; } td.indexkey { - background-color: #EBEFF6; + background-color: #e8eef2; font-weight: bold; - border: 1px solid #C4CFE5; + border: 1px solid #CCCCCC; margin: 2px 0px 2px 0; padding: 2px 10px; } td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; + background-color: #e8eef2; + border: 1px solid #CCCCCC; padding: 2px 10px; margin: 2px 0px; } tr.memlist { - background-color: #EEF1F7; + background-color: #f0f0f0; } p.formulaDsp { @@ -236,11 +217,6 @@ div.center img { border: 0px; } -address.footer { - text-align: right; - padding-right: 12px; -} - img.footer { border: 0px; vertical-align: middle; @@ -294,7 +270,6 @@ span.vhdllogic { /* @end */ -/* .search { color: #003399; font-weight: bold; @@ -311,7 +286,6 @@ input.search { font-weight: normal; background-color: #e8eef2; } -*/ td.tiny { font-size: 75%; @@ -320,18 +294,18 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid #84b0c7; } th.dirtab { - background: #EBEFF6; + background: #e8eef2; font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #4A6AAA; + border-top: 1px solid #666; } hr.footer { @@ -340,15 +314,10 @@ hr.footer { /* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; + background-color: #FAFAFA; border: none; margin: 4px; padding: 1px 0 0 8px; @@ -360,19 +329,15 @@ table.memberdecls { } .memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; + border-top: 1px solid #ccc; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } -.memItemRight { - width: 100%; -} - .memTemplParams { - color: #4665A2; + color: #606060; white-space: nowrap; } @@ -384,28 +349,23 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #4665A2; + color: #606060; font-weight: normal; - margin-left: 9px; + margin-left: 3px; } .memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; + background-color: #e8eef2; + border: 1px solid #84b0c7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } -.mempage { - width: 100%; -} - .memitem { padding: 0; margin-bottom: 10px; - margin-right: 5px; } .memname { @@ -415,52 +375,40 @@ table.memberdecls { } .memproto { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; + border-top: 1px solid #84b0c7; + border-left: 1px solid #84b0c7; + border-right: 1px solid #84b0c7; + padding: 0; + background-color: #d5e1e8; font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; /* firefox specific markup */ + background-image: -moz-linear-gradient(rgba(228, 233, 245, 1.0) 0%, rgba(193, 205, 232, 1.0) 100%); -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; /* webkit specific markup */ + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(228, 233, 245, 1.0)), to(rgba(193, 205, 232, 1.0))); -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 8px; -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; } .memdoc { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #84b0c7; + border-left: 1px solid #84b0c7; + border-right: 1px solid #84b0c7; padding: 2px 5px; - background-color: #FBFCFD; + background-color: #eef3f5; border-top-width: 0; - /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); /* webkit specific markup */ -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); } .paramkey { @@ -479,28 +427,6 @@ table.memberdecls { font-style: normal; } -.params, .retval, .exception, .tparams { - border-spacing: 6px 2px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - - - - /* @end */ /* @group Directory (tree) */ @@ -509,7 +435,7 @@ table.memberdecls { .ftvtree { font-family: sans-serif; - margin: 0px; + margin: 0.5em; } /* these are for tree view when used as main index */ @@ -517,7 +443,6 @@ table.memberdecls { .directory { font-size: 9pt; font-weight: bold; - margin: 5px; } .directory h3 { @@ -595,13 +520,9 @@ proper pixel height of your image. /* @end */ -div.dynheader { - margin-top: 8px; -} - address { font-style: normal; - color: #2A3D61; + color: #333; } table.doxtable { @@ -609,12 +530,12 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid #153788; padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; + background-color: #254798; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; @@ -622,214 +543,3 @@ table.doxtable th { text-align:left; } -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - padding-left: 5px; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug -{ - border-left:4px solid; - padding: 0 0 0 6px; -} - -dl.note -{ - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - border-color: #00D000; -} - -dl.deprecated -{ - border-color: #505050; -} - -dl.todo -{ - border-color: #00C0E0; -} - -dl.test -{ - border-color: #3030E0; -} - -dl.bug -{ - border-color: #C08050; -} - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - diff --git a/doc/doxy/doxygen_output/html/doxygen.png b/doc/doxy/doxygen_output/html/doxygen.png index 635ed52fce7057ac24df92ec7664088a881fa5d0..f0a274bbaffdd67f6d784c894d9cf28729db0e14 100644 GIT binary patch literal 1281 zcmeAS@N?(olHy`uVBq!ia0y~yU`SzLV9@1YW?*2*&$c_nz`($g?&#~tz;Nxx75@k$ z1_lPn64!{5;QX|b^2DN42FH~Aq*MjZ+{En3It_%ze$M>CA zQd@cA-1}|2uU)?NYx1Id3)Vc?cIaz;`|_(dU!6R4?%|_n)qPib7ryS8d40jAAIsP5 zJaAy+-Mi<0{(SlM>+{#IpSrqOUcYuaBRy7LRyaPw#=%NCHzV}_|NnOn)EhD|Fvyn# z`33*S3mDEymI*L0F#q>-aSW-rl{CSbfsJFrVk-s?g%oAUmX_Am){F#B2Zn_aN;+Cv zT0YF)3``w*(->F;Vs#if6m~^02{@E&WKn2%k;Li1aPg>61B266mliXSidm{kN?SIt zC^Se+;1-#o%EQwk#5U7O#L8n)$0m-0X%15vI21a90xFqUlmxsJVgdx2lbkgaJ=r`J zGgdMSw!UuGX#ChR;fUfZMy3wNHO?%IEs{rCALJ++L`TGU#Ym_yhj8%uvUO-ovP)!B z32u>?z{7HrNx*^U!U~5VJ(Z?4EIwXNOhFQhIvoYh2)G+^t>G4vIHcirf{{g_S>{SW zM#jOA1I+x3BwJJ!q{NaVst!7A8q*n1 zi8kG06k^(_s&eqrqadMxTqlLl1Vhh`NGBc+Q3XrO28NhkLna0V4yHPECN~>yV*w7P zhQ2?!)iPh;mid18Ze4;!0O1Vfm?NsdjMoq3WRj9TY1uJPbnBX(jkGlxQfrlJM| z`L&fkzS^&P-_>?(CFpw z7{-#o!mOgEJcV@`i=@TRA3rQ48)Dqt6lMpzd9kS+I@WOESl0#qg%VE~m^vC8J4Fs0 z;5HFj)yjC{$x~KN2Hk_p+d-+xV^eG6^!fAWi>Gng%Y1lb+5!@skZpK~A*EBN=P>8y z=E)6u4Gc9HWaqOqnaje$jAWv;NMrl#c< zJ>EoL21b`=HUTvT?AdWqw<-gpi#Wb~+rY?>lF)Q=Z}3)s1_lNOPgg&ebxsLQ0N#Mr Aa{vGU literal 3942 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 Bq}%`i diff --git a/doc/doxy/doxygen_output/html/tabs.css b/doc/doxy/doxygen_output/html/tabs.css index 21920562a..a44416341 100644 --- a/doc/doxy/doxygen_output/html/tabs.css +++ b/doc/doxy/doxygen_output/html/tabs.css @@ -1,59 +1,105 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; } -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; } -.tablist { - margin: 0; - padding: 0; - display: table; +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; } -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; +DIV.tabs FORM +{ + float : right; } -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 80%; + font-weight : bold; + text-decoration : none; } -.tabs3 .tablist a { - padding: 0 10px; +DIV.tabs A:hover +{ + background-position: 100% -150px; } -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; } -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs #MSearchBox +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; + text-align : center; + margin : 2px; + padding : 2px; } diff --git a/doc/html/img/algorithms/make_envelope.png b/doc/html/img/algorithms/return_envelope.png similarity index 100% rename from doc/html/img/algorithms/make_envelope.png rename to doc/html/img/algorithms/return_envelope.png diff --git a/doc/imports.qbk b/doc/imports.qbk index 788bc68d3..547e5efd1 100644 --- a/doc/imports.qbk +++ b/doc/imports.qbk @@ -23,6 +23,8 @@ [import src/examples/algorithms/assign_point_from_index.cpp] [import src/examples/algorithms/clear.cpp] [import src/examples/algorithms/centroid.cpp] +[import src/examples/algorithms/comparable_distance.cpp] +[import src/examples/algorithms/correct.cpp] [import src/examples/algorithms/distance.cpp] [import src/examples/algorithms/difference.cpp] [import src/examples/algorithms/envelope.cpp] @@ -47,6 +49,8 @@ [import src/examples/algorithms/return_envelope.cpp] [import src/examples/algorithms/simplify.cpp] [import src/examples/algorithms/sym_difference.cpp] +[import src/examples/algorithms/transform.cpp] +[import src/examples/algorithms/transform_with_strategy.cpp] [import src/examples/algorithms/union.cpp] [import src/examples/algorithms/unique.cpp] [import src/examples/algorithms/within.cpp] diff --git a/doc/other/status.xls b/doc/other/status.xls index 691984843ba039b24a5f6d83c962f8e66b39d0b0..c24fe43fa0f894d3be8442243b8d82be25a1ca65 100644 GIT binary patch delta 1400 zcmZpe!`QHdae@J(`b0x%7BvP2hK+&i88`oDROjI3U|?Wigkp}##$1++n>OciaWFHz zV4Pget5^Sm@tCKT!5i)uj5AJ3Fx=n?2CM$Cey#zC&A}YZ0280gUt<7bH$cTea%?ON z3=CWh3=-TBeaLcwVl@T~3=9m+A0RFO=>_QliGi@^$sz-;dbSsgATx|kN-%(EkW)c4 zh|dL;1Brn&=bVsWz-1vwjl>%Xkhu&eIA1WfJPS5>a6*Ei1T4b9z{GIefPvwtfdVhY zL!e+eazcV(@?t(WP*A+)Qv*@L{91DQWug6+u{%ymF#K?ehH7VEa5*W#zyMMb&2Oct z#}LAx!jLM!U;v`eO6f5$fdai-zyQPsiGkcRMM`h-K7Mf#J-8uff5?^_U9v0t!7%wH zzXGpaSzwQ4?1ocdnlCi7SC@QIb#-1F2#Fs}f{j zgz9|3I5|#2jnQs$tAw_oog2sqF}P&(*kdF|o2Rh%qQk&X%r(ur}Y8e#{DCPTs0GS-OOqfgy(}j)9NCf+2*#g29a; zgh2*EPfk`+XAIfgtz^w8b%L3JL4bkd11N++n4N`zfuDi-!v^Nb50t||Q5&OfHMvMd zgY5;Q3~MmMh#K~a`W|+KN zZ7$0eh)jY4h#|rr432(Y1~G>4Laim=?YH?%L5!dO@0n78M2thK+&i88`oDROjGjWnf@ngksjo#$1++>o@0eaWFGI zXP#Wnt5^S=`Ix7b!5i-9%rj0(Fl^wu%m`BbVf|bK5c>nuWk#6zWd0fh5IchzA_kIU zW?^7p;9_8S!vfKVEEgzNW5B?`z`*$-NHBmEW3dpVM&gYG$XtdKoX?qCo&_5`I3dAM0v2IlU}89Kz`$_S z;0G7P@f-{c3`b5#Fic*|=LQOj*L-RqN|;|uuD4XSOnu6ZlM)O+xLu&y85mqnN-!{h zltlAeX{s@VFsLx33NRRe=(AF43{0Rv?-nosu|Z-W_e_yeo4k)-Ttp3S$k`vRUAd*d%j{b@B_vE@>}r28JA_I0ilj3x*H|3kEla z5C$0rEe1CRx5>Rq>Wpriw<=jPN_j9bFbFVkd;kR-C=0N#Ffi~lFn=&$n#`pV28zdp zT2_sb7=d#%FLuGcWDRF=} zpv*D(soGqY1Oceb5p^XF5Ql^NGUFtzpvevzs*@YEStf7L)|>oA+mTxUn!W`X1U5V9 zxHE3j^HH$<_y7NYQ3eJEF$M+(aRvqkPy&`@U|^79U|^7DU|;~r%Q7%9$T2W5$TKi7 zC@?TEC^9fGC^0ZFC~uzVm(Mscfn!oY&g8#>9Ft1|T9^)~P5u>7#V9hlG_amW29)pw IKm-E=0C52JuK)l5 diff --git a/doc/quickref.xml b/doc/quickref.xml index 268fcfaa5..464817358 100644 --- a/doc/quickref.xml +++ b/doc/quickref.xml @@ -387,7 +387,7 @@ Union - union + union Unique diff --git a/doc/reference.qbk b/doc/reference.qbk index 40d5ca87d..a64061fb1 100644 --- a/doc/reference.qbk +++ b/doc/reference.qbk @@ -65,25 +65,12 @@ [include generated/centroid.qbk] [endsect] -[section:clear clear] [include generated/clear.qbk] -[endsect] - -[section:convex_hull convex_hull] [include generated/convex_hull.qbk] -[endsect] - [include generated/correct.qbk] - -[section:difference difference] [include generated/difference.qbk] -[endsect] - -[section:disjoint disjoint] [include generated/disjoint.qbk] -[endsect] - [section:distance distance] [include generated/distance.qbk] @@ -93,21 +80,16 @@ [include generated/envelope.qbk] [endsect] -[section:equals equals] [include generated/equals.qbk] -[endsect] - -[section:expand expand] [include generated/expand.qbk] -[endsect] [section:for_each for_each] [include generated/for_each.qbk] [endsect] -[section:intersection intersection] +[/section:intersection intersection] [include generated/intersection.qbk] -[endsect] +[/endsect] [section:intersects intersects] [include generated/intersects.qbk] @@ -126,9 +108,7 @@ [include generated/num_points.qbk] -[section:overlaps overlaps] [include generated/overlaps.qbk] -[endsect] [section:perimeter perimeter] [include generated/perimeter.qbk] @@ -140,18 +120,18 @@ [include generated/simplify.qbk] [endsect] -[section:sym_difference sym_difference] +[/section:sym_difference sym_difference] [include generated/sym_difference.qbk] -[endsect] +[/endsect] [section:transform transform] [include generated/transform.qbk] [endsect] -[section:union union] +[/section:union union] [include generated/union.qbk] -[endsect] +[/endsect] [include generated/unique.qbk] diff --git a/doc/reference/algorithms/clear.qbk b/doc/reference/algorithms/clear.qbk index 7753e6a63..6214528a0 100644 --- a/doc/reference/algorithms/clear.qbk +++ b/doc/reference/algorithms/clear.qbk @@ -29,7 +29,7 @@ [heading Complexity] Constant -[heading Examples] +[heading Example] [clear] [clear_output] diff --git a/doc/reference/algorithms/comparable_distance.qbk b/doc/reference/algorithms/comparable_distance.qbk new file mode 100644 index 000000000..304b97ad6 --- /dev/null +++ b/doc/reference/algorithms/comparable_distance.qbk @@ -0,0 +1,25 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Behaviour] +There is no (not yet) version with a strategy. + +It depends on the coordinate system of the geometry's point type if there is +a strategy available which can determine (more efficient than the standard +strategy) a measure of comparable distance. + +[heading Complexity] +Linear + +[heading Example] +[comparable_distance] +[comparable_distance_output] diff --git a/doc/reference/algorithms/correct.qbk b/doc/reference/algorithms/correct.qbk new file mode 100644 index 000000000..6af7f74dc --- /dev/null +++ b/doc/reference/algorithms/correct.qbk @@ -0,0 +1,33 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[def __corrected__ is corrected] + +[heading Behavior] +[table +[[Case] [Behavior] ] +[[__ring__][__ring__ __corrected__]] +[[__polygon__][__polygon__ __corrected__]] +[[__multi_polygon__][__multi_polygon__ __corrected__]] +[[__box__][__box__ __corrected__ with respect to minimal and maximal corners]] +[[__other__][__does_nothing__]] +] + +[tip Correct is not defined within OGC or ISO] + +[heading Complexity] +Linear + +[heading Example] +[correct] +[correct_output] + diff --git a/doc/reference/algorithms/difference.qbk b/doc/reference/algorithms/difference.qbk index 6552d3abb..2a2869a66 100644 --- a/doc/reference/algorithms/difference.qbk +++ b/doc/reference/algorithms/difference.qbk @@ -14,7 +14,7 @@ [difference] [difference_output] [heading See also] -* [link geometry.reference.algorithms.sym_difference.sym_difference sym_difference (symmetric difference)] -* [link geometry.reference.algorithms.intersection.intersection intersection] -* [link geometry.reference.algorithms.union.union_ union] +* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)] +* [link geometry.reference.algorithms.intersection intersection] +* [link geometry.reference.algorithms.union_ union] diff --git a/doc/reference/algorithms/distance.qbk b/doc/reference/algorithms/distance.qbk new file mode 100644 index 000000000..f92a385ee --- /dev/null +++ b/doc/reference/algorithms/distance.qbk @@ -0,0 +1,21 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[include generated/distance_status.qbk] + +[heading Complexity] +Linear +For multi-geometry to multi-geometry: currently quadratic + +[heading Example] +[distance] +[distance_output] diff --git a/doc/reference/algorithms/expand.qbk b/doc/reference/algorithms/expand.qbk index 9780e75a9..de146ae93 100644 --- a/doc/reference/algorithms/expand.qbk +++ b/doc/reference/algorithms/expand.qbk @@ -26,7 +26,7 @@ [heading Complexity] Linear -[heading Examples] +[heading Example] [expand] [expand_output] diff --git a/doc/reference/algorithms/intersection.qbk b/doc/reference/algorithms/intersection.qbk index e51377874..cb688c839 100644 --- a/doc/reference/algorithms/intersection.qbk +++ b/doc/reference/algorithms/intersection.qbk @@ -23,6 +23,6 @@ [intersection_output] [heading See also] -* [link geometry.reference.algorithms.union.union_ union] -* [link geometry.reference.algorithms.difference.difference difference] -* [link geometry.reference.algorithms.sym_difference.sym_difference sym_difference (symmetric difference)] +* [link geometry.reference.algorithms.union_ union] +* [link geometry.reference.algorithms.difference difference] +* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)] diff --git a/doc/reference/algorithms/reverse.qbk b/doc/reference/algorithms/reverse.qbk index fcbc386cc..9e1658549 100644 --- a/doc/reference/algorithms/reverse.qbk +++ b/doc/reference/algorithms/reverse.qbk @@ -32,7 +32,7 @@ [heading Complexity] Linear -[heading Examples] +[heading Example] [reverse] [reverse_output] diff --git a/doc/reference/algorithms/sym_difference.qbk b/doc/reference/algorithms/sym_difference.qbk index 2058ca2d9..89915a256 100644 --- a/doc/reference/algorithms/sym_difference.qbk +++ b/doc/reference/algorithms/sym_difference.qbk @@ -23,7 +23,7 @@ [sym_difference_output] [heading See also] -* [link geometry.reference.algorithms.difference.difference difference] -* [link geometry.reference.algorithms.intersection.intersection intersection] -* [link geometry.reference.algorithms.union.union_ union] +* [link geometry.reference.algorithms.difference difference] +* [link geometry.reference.algorithms.intersection intersection] +* [link geometry.reference.algorithms.union_ union] diff --git a/doc/reference/algorithms/transform.qbk b/doc/reference/algorithms/transform.qbk new file mode 100644 index 000000000..5028f9a67 --- /dev/null +++ b/doc/reference/algorithms/transform.qbk @@ -0,0 +1,28 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Behavior] +[table +[[Case] [Behavior] ] +[[__sph__ (degree) / __sph__ (radian)][Transforms coordinates from degree to radian, or vice versa]] +[[__sph__ / __cart__ (3D)][Transforms coordinates from spherical coordinates to X,Y,Z, or vice versa, on a unit sphere]] +[[__sph__ (degree, with radius) / __sph__ (radian, with radius)][Transforms coordinates from degree to radian, or vice versa. Third coordinate (radius) is untouched]] +[[__sph__ (with radius) / __cart__ (3D)][Transforms coordinates from spherical coordinates to X,Y,Z, or vice versa, on a unit sphere. Third coordinate (radius) is taken into account]] +] + +[heading Complexity] +Linear + +[heading Example] +[transform] +[transform_output] + diff --git a/doc/reference/algorithms/transform_with_strategy.qbk b/doc/reference/algorithms/transform_with_strategy.qbk new file mode 100644 index 000000000..b1045823d --- /dev/null +++ b/doc/reference/algorithms/transform_with_strategy.qbk @@ -0,0 +1,19 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Complexity] +Linear + +[heading Example] +[transform_with_strategy] +[transform_with_strategy_output] + diff --git a/doc/reference/algorithms/union.qbk b/doc/reference/algorithms/union.qbk index 8c86a6110..d620b24d4 100644 --- a/doc/reference/algorithms/union.qbk +++ b/doc/reference/algorithms/union.qbk @@ -20,6 +20,6 @@ [union_output] [heading See also] -* [link geometry.reference.algorithms.intersection.intersection intersection] -* [link geometry.reference.algorithms.difference.difference difference] -* [link geometry.reference.algorithms.sym_difference.sym_difference sym_difference (symmetric difference)] +* [link geometry.reference.algorithms.intersection intersection] +* [link geometry.reference.algorithms.difference difference] +* [link geometry.reference.algorithms.sym_difference sym_difference (symmetric difference)] diff --git a/doc/reference/algorithms/unique.qbk b/doc/reference/algorithms/unique.qbk index 9e3a775d6..955de48be 100644 --- a/doc/reference/algorithms/unique.qbk +++ b/doc/reference/algorithms/unique.qbk @@ -31,7 +31,7 @@ [heading Complexity] Linear -[heading Examples] +[heading Example] [unique] [unique_output] diff --git a/doc/src/docutils/tools/implementation_status/implementation_status.cpp b/doc/src/docutils/tools/implementation_status/implementation_status.cpp index 3ce54c289..2f7b4d7f6 100644 --- a/doc/src/docutils/tools/implementation_status/implementation_status.cpp +++ b/doc/src/docutils/tools/implementation_status/implementation_status.cpp @@ -71,8 +71,9 @@ struct compile_msvc command << "u"; } - command << "implementation_status.hpp tmp/t.cpp > tmp/t.out"; - // For debugging: << type1 << "_" << type2 << ".out"; + command << "implementation_status.hpp tmp/t.cpp > tmp/t" //.out"; + // For debugging: + << type1 << "_" << type2 << ".out"; int failed = system(command.str().c_str()); return failed == 0; @@ -300,7 +301,8 @@ int main(int argc, char** argv) algorithms.push_back(algorithm("correct")); algorithms.push_back(algorithm("distance", 2)); algorithms.push_back(algorithm("centroid", 2)); - //algorithms.push_back(algorithm("within", 2)); + algorithms.push_back(algorithm("intersects", 2)); + algorithms.push_back(algorithm("within", 2)); typedef std::vector cs_type; cs_type css; diff --git a/doc/src/examples/algorithms/Jamfile.v2 b/doc/src/examples/algorithms/Jamfile.v2 index d1be69fb9..25cade7dd 100644 --- a/doc/src/examples/algorithms/Jamfile.v2 +++ b/doc/src/examples/algorithms/Jamfile.v2 @@ -13,6 +13,8 @@ project boost-geometry-doc-example-algorithms : # requirements ; +exe append : append.cpp ; + exe area : area.cpp ; exe area_with_strategy : area_with_strategy.cpp ; @@ -26,9 +28,15 @@ exe assign_point_to_index : assign_point_to_index.cpp ; exe centroid : centroid.cpp ; exe clear : clear.cpp ; +exe comparable_distance : comparable_distance.cpp ; +exe correct : correct.cpp ; +exe difference : difference.cpp ; exe distance : distance.cpp ; +exe envelope : envelope.cpp ; +exe expand : expand.cpp ; + exe for_each_point : for_each_point.cpp ; exe for_each_point_const : for_each_point_const.cpp ; exe for_each_segment_const : for_each_segment_const.cpp ; @@ -38,6 +46,9 @@ exe intersection_segment : intersection_segment.cpp ; exe intersects_linestring : intersects_linestring.cpp ; +exe length : length.cpp ; +exe length_with_strategy : length_with_strategy.cpp ; + exe make_2d_point : make_2d_point.cpp ; exe make_3d_point : make_3d_point.cpp ; exe make_inverse : make_inverse.cpp ; @@ -47,10 +58,17 @@ exe num_geometries : num_geometries.cpp ; exe num_interior_rings : num_interior_rings.cpp ; exe num_points : num_points.cpp ; +exe return_envelope : return_envelope.cpp ; -exe length : length.cpp ; -exe length_with_strategy : length_with_strategy.cpp ; +exe reverse : reverse.cpp ; exe simplify : length.cpp ; +exe sym_difference : sym_difference.cpp ; + +exe transform : transform.cpp ; +exe transform_with_strategy : transform_with_strategy.cpp ; + +exe union : union.cpp ; +exe unique : unique.cpp ; exe within : within.cpp ; diff --git a/doc/src/examples/algorithms/comparable_distance.cpp b/doc/src/examples/algorithms/comparable_distance.cpp new file mode 100644 index 000000000..a5153a392 --- /dev/null +++ b/doc/src/examples/algorithms/comparable_distance.cpp @@ -0,0 +1,66 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// QuickBook Example + +// Copyright (c) 2011 Barend Gehrels, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//[comparable_distance +//` Shows how to efficiently get the closest point + +#include + +#include + +#include +#include + +int main() +{ + typedef boost::geometry::model::d2::point_xy point_type; + + point_type p(1.4, 2.6); + + std::vector v; + for (double x = 0.0; x <= 4.0; x++) + { + for (double y = 0.0; y <= 4.0; y++) + { + v.push_back(point_type(x, y)); + } + } + + point_type min_p; + double min_d = boost::numeric::bounds::highest(); + BOOST_FOREACH(point_type const& pv, v) + { + double d = boost::geometry::comparable_distance(p, pv); + if (d < min_d) + { + min_d = d; + min_p = pv; + } + } + + std::cout + << "Closest: " << boost::geometry::dsv(minp) << std::endl + << "At: " << boost::geometry::distance(p, minp) << std::endl; + + return 0; +} + +//] + + +//[comparable_distance_output +/*` +Output: +[pre +Closest: (1, 3) +At: 0.565685 +] +*/ +//] + diff --git a/doc/src/examples/algorithms/correct.cpp b/doc/src/examples/algorithms/correct.cpp new file mode 100644 index 000000000..add730428 --- /dev/null +++ b/doc/src/examples/algorithms/correct.cpp @@ -0,0 +1,65 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// QuickBook Example + +// Copyright (c) 2011 Barend Gehrels, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//[correct +//` Shows how to correct a polygon with respect to its orientation and closure + +#include + +#include +#include + +#include + +int main() +{ + using boost::assign::tuple_list_of; + + typedef boost::geometry::model::polygon + < + boost::tuple + > clockwise_closed_polygon; + + clockwise_closed_polygon cwcp; + + // Fill it counterclockwise (so wrongly), forgetting the closing point + boost::geometry::exterior_ring(cwcp) = tuple_list_of(0, 0)(10, 10)(0, 9); + + // Add a counterclockwise closed inner ring (this is correct) + boost::geometry::interior_rings(cwcp).push_back(tuple_list_of(1, 2)(4, 6)(2, 8)(1, 2)); + + // Its area should be negative (because of wrong orientation) + // and wrong (because of omitted closing point) + double area_before = boost::geometry::area(cwcp); + + // Correct it! + boost::geometry::correct(cwcp); + + // Check its new area + double area_after = boost::geometry::area(cwcp); + + // And output it + std::cout << boost::geometry::dsv(cwcp) << std::endl; + std::cout << area_before << " -> " << area_after << std::endl; + + return 0; +} + +//] + + +//[correct_output +/*` +Output: +[pre +(((0, 0), (0, 9), (10, 10), (0, 0)), ((1, 2), (4, 6), (2, 8), (1, 2))) +-7 -> 38 +] +*/ +//] diff --git a/doc/src/examples/algorithms/distance.cpp b/doc/src/examples/algorithms/distance.cpp index 2676af350..3d4e71d5a 100644 --- a/doc/src/examples/algorithms/distance.cpp +++ b/doc/src/examples/algorithms/distance.cpp @@ -41,9 +41,10 @@ int main() mp.push_back(point_type(0,0)); mp.push_back(point_type(3,3)); - std::cout << "distance: " << boost::geometry::distance(p, poly) << std::endl; - std::cout << "distance: " << boost::geometry::distance(p, line) << std::endl; - std::cout << "distance: " << boost::geometry::distance(p, mp) << std::endl; + std::cout + << "Point-Poly: " << boost::geometry::distance(p, poly) << std::endl + << "Point-Line: " << boost::geometry::distance(p, line) << std::endl + << "Point-MultiPoint: " << boost::geometry::distance(p, mp) << std::endl; return 0; } @@ -55,9 +56,9 @@ int main() /*` Output: [pre -distance: 1.22066 -distance: 1 -distance: 2.23607 +Point-Poly: 1.22066 +Point-Line: 1 +Point-MultiPoint: 2.23607 ] */ //] diff --git a/doc/src/examples/algorithms/transform.cpp b/doc/src/examples/algorithms/transform.cpp new file mode 100644 index 000000000..8eea3be30 --- /dev/null +++ b/doc/src/examples/algorithms/transform.cpp @@ -0,0 +1,53 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// QuickBook Example + +// Copyright (c) 2011 Barend Gehrels, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//[transform +//` Shows how points can be transformed using the default strategy + +#include +#include + + +int main() +{ + namespace bg = boost::geometry; + + bg::model::point > p1(5.0, 52.0); + + // Transform from degree to radian. Default strategy is automatically selected, + // it will convert from degree to radian + bg::model::point > p2; + bg::transform(p1, p2); + + // Transform from degree (lon-lat) to 3D (x,y,z). Default strategy is automatically selected, + // it will consider points on a unit sphere + bg::model::point p3; + bg::transform(p1, p3); + + std::cout + << "p1: " << bg::dsv(p1) << std::endl + << "p2: " << bg::dsv(p2) << std::endl + << "p3: " << bg::dsv(p3) << std::endl; + + return 0; +} + +//] + + +//[transform_output +/*` +Output: +[pre +p1: (5, 52) +p2: (0.0872665, 0.907571) +p3: (0.785012, 0.0686797, 0.615661) +] +*/ +//] diff --git a/doc/src/examples/algorithms/transform_with_strategy.cpp b/doc/src/examples/algorithms/transform_with_strategy.cpp new file mode 100644 index 000000000..2fcfc57f4 --- /dev/null +++ b/doc/src/examples/algorithms/transform_with_strategy.cpp @@ -0,0 +1,63 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// QuickBook Example + +// Copyright (c) 2011 Barend Gehrels, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//[transform_with_strategy +//` Shows how points can be scaled, translated or rotated + +#include +#include + + +int main() +{ + namespace trans = boost::geometry::strategy::transform; + using boost::geometry::dsv; + + typedef boost::geometry::model::point point_type; + + point_type p1(1.0, 1.0); + + // Translate over (1.5, 1.5) + point_type p2; + trans::translate_transformer translate(1.5, 1.5); + boost::geometry::transform(p1, p2, translate); + + // Scale with factor 3.0 + point_type p3; + trans::scale_transformer scale(3.0); + boost::geometry::transform(p1, p3, scale); + + // Rotate with respect to the origin (0,0) over 90 degrees (clockwise) + point_type p4; + trans::rotate_transformer rotate(90.0); + boost::geometry::transform(p1, p4, rotate); + + std::cout + << "p1: " << dsv(p1) << std::endl + << "p2: " << dsv(p2) << std::endl + << "p3: " << dsv(p3) << std::endl + << "p4: " << dsv(p4) << std::endl; + + return 0; +} + +//] + + +//[transform_with_strategy_output +/*` +Output: +[pre +p1: (1, 1) +p2: (2.5, 2.5) +p3: (3, 3) +p4: (1, -1) +] +*/ +//]