From 583ab24cd40c8da8bfaf98149c983c1d53e403ac Mon Sep 17 00:00:00 2001 From: Olivier Devillers Date: Tue, 3 May 2011 15:48:24 +0000 Subject: [PATCH 01/16] precision in the doc --- Triangulation_3/doc_tex/Triangulation_3/Triang3.tex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex b/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex index 23b5fe82f1d..6b9b67673b6 100644 --- a/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex +++ b/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex @@ -841,7 +841,11 @@ In 2009, Sylvain Pion simplified the design of the Delaunay hierarchy so that it became the simple \ccc{Fast_location} policy in release~3.6. In 2010, Pedro de Castro and Olivier Devillers added the point -displacement. +displacement inrelease 3.7. + +In 2011, Pedro de Castro and Olivier Devillers implemented in release +3.8 the +structural filtering method, improving the efficiency of point location. A new demo of this package was introduced in CGAL 3.8, coded by Fei (Sophie) Che, who was co-mentored by Manuel Caroli and Monique From 040cd39d8526f67228f0cdd08abf0b8668702f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Tue, 3 May 2011 16:06:09 +0000 Subject: [PATCH 02/16] typo --- Triangulation_3/doc_tex/Triangulation_3/Triang3.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex b/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex index 6b9b67673b6..6f65dff391a 100644 --- a/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex +++ b/Triangulation_3/doc_tex/Triangulation_3/Triang3.tex @@ -841,7 +841,7 @@ In 2009, Sylvain Pion simplified the design of the Delaunay hierarchy so that it became the simple \ccc{Fast_location} policy in release~3.6. In 2010, Pedro de Castro and Olivier Devillers added the point -displacement inrelease 3.7. +displacement in release 3.7. In 2011, Pedro de Castro and Olivier Devillers implemented in release 3.8 the From e4f17622eb3e8ceefc2fb352ecebbcde5b92cb22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 4 May 2011 13:55:42 +0000 Subject: [PATCH 03/16] add a script to clean up a branch (or any svn directory of a package) --- .gitattributes | 1 + Scripts/developer_scripts/clean_up_branch.sh | 80 ++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 Scripts/developer_scripts/clean_up_branch.sh diff --git a/.gitattributes b/.gitattributes index 100bb5da927..0623d79ba39 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3188,6 +3188,7 @@ Scripts/developer_scripts/check_library_uses_no_qpl_files.exceptions -text Scripts/developer_scripts/check_macro_names -text Scripts/developer_scripts/check_no_CGAL_USE_without_includes_before -text Scripts/developer_scripts/check_svn_keywords -text +Scripts/developer_scripts/clean_up_branch.sh -text Scripts/developer_scripts/common_impl.rb -text Scripts/developer_scripts/create_assertions.sh eol=lf Scripts/developer_scripts/create_cgal_test -text diff --git a/Scripts/developer_scripts/clean_up_branch.sh b/Scripts/developer_scripts/clean_up_branch.sh new file mode 100644 index 00000000000..6e0576b9740 --- /dev/null +++ b/Scripts/developer_scripts/clean_up_branch.sh @@ -0,0 +1,80 @@ +#!/bin/sh +# +# usage: bash clean_up_branch.sh directory [rm] +# +# lists all files that should be removed from a branch. +# directory is the path to the repository. +# If additional rm option is passed, files will be deleted. +# + +REPO_DIR=. +DELETE=0 + +if [ $# -gt 0 ] ; then + REPO_DIR=$1 +fi + +if [ ! -e $REPO_DIR/.svn/entries ]; then + echo "$REPO_DIR is not a working copy" + exit +fi; + +if [ $# -gt 1 -a "$2 == rm" ]; then + DELETE=1 +fi; + +echo Cleaning $REPO_DIR + +#define regular expression to match generated files +REGEXP='ProgramOutput\.|CMakeFiles|CMakeLists.txt|\.moc$|CMakeCache\.txt|error\.txt|cmake_install\.cmake|Makefile|doc_html|doc_pdf|\.pdflg$|\.ilg$|\.cgallog$|\.blg$|\.bak$|\.hax$|\.aux$|\.maf$|demo.*\/qrc_.*\.cxx|demo.*\/ui_.*\.h' + + +INITIAL=`svn status $1| awk '{if ($1 =="?" ) print $2 }'` + + +#first get executable files +EXECS='' +DIRS='' +KNOWN='' +OTHER='' + +for i in $INITIAL; do + if [ -x $REPO_DIR/$i -a ! -d $REPO_DIR/$i ]; then + EXECS="$EXECS $i" + elif [[ "$i" =~ $REGEXP ]]; then + KNOWN="$KNOWN $i" + else + OTHER="$OTHER $i" + fi; +done + +if [ "$EXECS" ]; then + echo "#Cleaning executables" + echo rm -rf $EXECS +fi + +if [ "$KNOWN" ]; then + echo "#Cleaning known generated files" + echo rm -rf $KNOWN +fi + +if [ "$OTHER" ]; then +echo "#No predefined behavior" +echo "# $OTHER" +fi + + +if [ $DELETE -eq 1 ]; then + if [ "$EXECS" -o "$KNOWN" ]; then + echo "Are you sure you want to execute the printed commands? [YES/NO]" + read ANSWER + if [ "$ANSWER == YES" ]; then + for i in $EXECS $KNOWN; do + rm -rf $REPO_DIR/$i + done + fi + else + echo "Nothing to do" + fi +fi + From 6433f2e2c2d2e534421bdbbfb977f53232e14de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 4 May 2011 14:24:43 +0000 Subject: [PATCH 04/16] use --no-ignore option --- Scripts/developer_scripts/clean_up_branch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/developer_scripts/clean_up_branch.sh b/Scripts/developer_scripts/clean_up_branch.sh index 6e0576b9740..ee125f8384f 100644 --- a/Scripts/developer_scripts/clean_up_branch.sh +++ b/Scripts/developer_scripts/clean_up_branch.sh @@ -29,7 +29,7 @@ echo Cleaning $REPO_DIR REGEXP='ProgramOutput\.|CMakeFiles|CMakeLists.txt|\.moc$|CMakeCache\.txt|error\.txt|cmake_install\.cmake|Makefile|doc_html|doc_pdf|\.pdflg$|\.ilg$|\.cgallog$|\.blg$|\.bak$|\.hax$|\.aux$|\.maf$|demo.*\/qrc_.*\.cxx|demo.*\/ui_.*\.h' -INITIAL=`svn status $1| awk '{if ($1 =="?" ) print $2 }'` +INITIAL=`svn status --no-ignore $1| awk '{if ($1 =="?" || $1=="I" ) print $2 }'` #first get executable files From 0f009c297fcb24c6ff5dc3d7435ff5cda0d4aac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Thu, 5 May 2011 08:49:12 +0000 Subject: [PATCH 05/16] resize picture and enhance layout of hmtl figure --- Generator/doc_tex/Generator/generators.tex | 75 +++++++++++---------- Generator/doc_tex/Generator/hypergrid.gif | Bin 4316 -> 3086 bytes 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/Generator/doc_tex/Generator/generators.tex b/Generator/doc_tex/Generator/generators.tex index a4708e7c486..b37c859088f 100644 --- a/Generator/doc_tex/Generator/generators.tex +++ b/Generator/doc_tex/Generator/generators.tex @@ -122,15 +122,15 @@ for the example output. \end{ccTexOnly} \begin{ccHtmlOnly} - -
- Figure: - Output of example program for point generators. - - - Point Generator Example Output -
+
+ + + + + + + +
Point Generator Example Output
Figure: Output of example program for point generators.
\end{ccHtmlOnly} \section{Example Generating Grid Points} @@ -145,16 +145,16 @@ for the example output. \ccIncludeExampleCode{Generator/random_grid.cpp} \begin{ccHtmlOnly} -
-
- Figure: - Output of example program for point generators working - on integer points. - - - Integer Point Generator Example Output -
+
+ + + + + + + +
Integer Point Generator Example Output
Figure: Output of example program for point generators working + on integer points.
\end{ccHtmlOnly}% @@ -200,15 +200,15 @@ output. \ccIncludeExampleCode{Generator/random_segments1.cpp} \begin{ccHtmlOnly} -
-
- Figure: - Output of example program for the generic segment generator. - - - Segment Generator Example Output -
+
+ + + + + + + +
Segment Generator Example Output
Figure: Output of example program for the generic segment generator.
\end{ccHtmlOnly} The second example generates a regular structure of 100 segments; see @@ -225,16 +225,17 @@ used. \ccIncludeExampleCode{Generator/random_segments2.cpp} \begin{ccHtmlOnly} -
- + +
- Figure: + + + + + + +
Segment Generator Example Output 2
Figure: Output of example program for the generic segment generator using - pre-computed point locations. - - - Segment Generator Example Output 2 -
+ pre-computed point locations.
\end{ccHtmlOnly} \lcTex{\ccIndexSubitemEnd[c]{generator}{segment}} diff --git a/Generator/doc_tex/Generator/hypergrid.gif b/Generator/doc_tex/Generator/hypergrid.gif index d703e61dce80e9e56816f0e48944b38dccfd18ef..e4ff3bbaff7d121d040ee9ba8d6661125a86620c 100644 GIT binary patch delta 2522 zcmc)Gi#yW`1HkdgFt^wbV{^%vJ7FQ3H=E6jQ<+&cxx8rQl3VUMw2SF%JIt2*H8dJ# zC=y+skupR`PU-DEhNN~?N6YantqPI_MAE*xWzE4~8 z0OQZU)?e6n2K^8C|0l{VR8KNiICPvOw9*)27L}C20+CMKWOFzmIk}B z@N^rHk@Pi}I&|)WTH=(Ejuy>flC6|Rv1x{u*k;gyF0xdX2dybSJ$Ik0wrE4^Pp)#} z8Mt0-lmDpZ%2)T|mgL>WjWqSab}4s{yk|o#l9gt4cZ}zynRgk5rhBeyEPnJSiwC`_ zRioE455RndTX-EsxiLY1D0}*82J*_x!}`I|>6WDWr{P~SE{?#0_d^Owk(r-w@JDYv z-6$x`-1{6pP?nZ^yztKMuZ-!Q8;K2GDP+(x6AVjOW4VWmgcz0do* zCRqu~T-puSgy?;eewl_*B2cdSRYI?D(0aXgA`n2eT_;pyld6jT6%BUFs4Fxah3* z01<3BK28vPj?!K=d^QnZ9=ziqtZsVJ;eYLFmSaal=`gu--@KGRX?-h;|EjZR|8;14 zlN+0B$(F`-MajItmxv-6n~RL`Fm>)~56(Lu*px65+TP{%DcMd^HA(GD=x!Hv2|eCy z!u0YOEsZrXN=GOvlAiU^QHULdm|Rl~yn;p0Lzn78S(wlWlOaT~^?Y~C2_NC@>mCLR6W_iEO>u7W z4<|5L*&x+o^pwfCY3P*en`HDU&+`?14E!hMc`ob1I+$=vLIYi@k^_>5s=Y0i?}NuUUu@uD!U5}1(l zSJUqRL-@SaX>wa-eD~aPkpbO%B|+$}87S~OtPj`mbP?L8S4SUvSNp==1<$B`-skfk zZb;47p({=fW7BVJ=eLxEp|s$Yq=UYMLaOZOHi0%YYf-t^5~|%W*o;|0OUQ%7o*%9f z{X6vxi?o*P_6zZy9zC8vsi$mmzr|icY3(NVqz!)M~itrL%Zyn*n%UnfmwScaMg&7O(#>K|Cvgfx&ee!C^Qh3rO|QhCd>IqbwJdNF4T zGJ@ugc8I{aaGLO-2IsN)R=VcCU$Z|1n$fFv9aZcwg5*|lkv8aUJVt@jFOaJuJvh-! zOsj4n+fOgr^?OQ@F`&^ZuPoU{?furg?|7XEL=!GVnpndaQT+ifAHf2Wv$c62HL$Ax zLQ!VH1YGascqR98NWLK*iAR%a%&uFqN`kCUqJye^DVDsQpOrLsO|&A0T^)g{BLoGN zq>KcLb`)E-q6Y?|dFx6##9_-#1CtyVNmk$y?adskxG^0h2nTuA`?oWBX#mIrW_2fF zyhPHxU;3?Sci&lMi{_@UF{!KDZ5WSx& zS?vwVS$hkEu5Q6?sZSy*#!y*H&YqH{KMAri-F4%AUFiPs?9)la2X|rkI72qOGC>PL zFOq3b#iyQ3{Isrr_X$A1{ri*x^3pa)o*_=F7}&&OFFh=glfRcr#^5u(PdTT=K)vC< z8sb{DXvrKI1fHK~W@%fVS(qvIUP`IpV8m}%$d+w)9L@*%_%6kXb1)>zH3<4G>%?Hr z`A!+Oe~SOX;%KTOOLmE2Hy2t8@>zq=W*r6E>G^iTIz1IT1|o__i}RQZ=!aK@CW;$no8 z|A^5m8eq}Kjdv2hbgX6p$9b!ffx;I_V^4L5IHdr4l{HIaJTTpM`&UIEomF6L9e9!C zXn1`seX>gAPP9gtB`fI&c<$h;S?S8M(6;)Np_F=BEqDHjNu2nZWFTyxZ^m9X!qgbO z4^wfz8CmYtbT1ifyIlj1iwAzZGLBRB5I$QzlwH|9ohA6x0=>Ofe?0LyD|$!8Rk>kp zn{UUiGH+(^yZ~fw4(c+uX<;n?Llb?t*0f`6$#;6Zls?*0kXLl5K@*Zd9O;f-1}zb= zs-X;<7xj_`qctHEOU;BJaH?BmtUj81I40u4uV%D-(c}o#+D#s%p}vw#K5X-%xiKeY zwL@f_@MgRmYukS$gLi@|JJ_b+epk!fWKV+_xo#$;HRc}%zZ2~>q;5Gb9fhI^FI=N9 zqDXc`9s=#z9U($fYFFMuPjBv3USNCE2wfcABa{m1@mle>*daw{;r+5Y@~A!a%L}1) zx4^b%XQe>5!=+WR+QvbMm0=T9!@5V+PM&cy65b8#Jmg_NpUxy~afqI9T`yQ^&&avD zQ-msfs}U4nRMMnxT%J0)`X=TXZ{Q`o3%!{+eC*8Pg1S}j+~mYQeWD+=Ggcsol9J79 zJX1wb2w{do`9_Hjn&{DvX4023GliDj@oitcj8XUl^-%tqEN14L8B%?=-p@-09ANOdT=`3N{7To{ ho+9MYm+I$#tYiNCI$QQ==T^vnK1TTcTSWzg`7hJ-^qv3! delta 3762 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 VD?taus=z0!AeXDA5CG`p{{Ty@xf%cf From 60d13997b62c2edffe58a201346c4a43c3a96a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Thu, 5 May 2011 09:17:31 +0000 Subject: [PATCH 06/16] * fix bug in testing option and YES/NO * Add *.out and *.hlg as known files to remove * use bash instead of sh * make the script executable --- Scripts/developer_scripts/clean_up_branch.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Scripts/developer_scripts/clean_up_branch.sh b/Scripts/developer_scripts/clean_up_branch.sh index ee125f8384f..e1a695993a2 100644 --- a/Scripts/developer_scripts/clean_up_branch.sh +++ b/Scripts/developer_scripts/clean_up_branch.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # usage: bash clean_up_branch.sh directory [rm] # @@ -16,17 +16,22 @@ fi if [ ! -e $REPO_DIR/.svn/entries ]; then echo "$REPO_DIR is not a working copy" - exit + exit 1 fi; -if [ $# -gt 1 -a "$2 == rm" ]; then - DELETE=1 +if [ $# -gt 1 ]; then + if [ "$2" == "rm" ]; then + DELETE=1 + else + echo "Unknown option $2" + exit 1 + fi fi; echo Cleaning $REPO_DIR #define regular expression to match generated files -REGEXP='ProgramOutput\.|CMakeFiles|CMakeLists.txt|\.moc$|CMakeCache\.txt|error\.txt|cmake_install\.cmake|Makefile|doc_html|doc_pdf|\.pdflg$|\.ilg$|\.cgallog$|\.blg$|\.bak$|\.hax$|\.aux$|\.maf$|demo.*\/qrc_.*\.cxx|demo.*\/ui_.*\.h' +REGEXP='ProgramOutput\.|CMakeFiles|CMakeLists.txt|\.moc$|CMakeCache\.txt|error\.txt|cmake_install\.cmake|Makefile|doc_html|doc_pdf|\.pdflg$|\.ilg$|\.cgallog$|\.blg$|\.bak$|\.hax$|\.aux$|\.maf$|\.hlg$|\.out$|demo.*\/qrc_.*\.cxx|demo.*\/ui_.*\.h' INITIAL=`svn status --no-ignore $1| awk '{if ($1 =="?" || $1=="I" ) print $2 }'` @@ -68,7 +73,7 @@ if [ $DELETE -eq 1 ]; then if [ "$EXECS" -o "$KNOWN" ]; then echo "Are you sure you want to execute the printed commands? [YES/NO]" read ANSWER - if [ "$ANSWER == YES" ]; then + if [ "$ANSWER" == "YES" ]; then for i in $EXECS $KNOWN; do rm -rf $REPO_DIR/$i done From 2b7bb16f90ee48ba7d0393c68f1d08d62496588c Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 6 May 2011 09:41:13 +0000 Subject: [PATCH 07/16] Use \ccReferToExampleCode instead of just \ccc --- .../Poisson_reconstruction_function.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex index c61e5420daf..a9876d8f7e8 100644 --- a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex +++ b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex @@ -4,8 +4,8 @@ % | 07.09.2007 Pierre Alliez, Laurent Saboret, Gael Guennebaud % | Package: Surface_reconstruction_points_3 % | -\RCSdef{\RCSPoissonreconstructionfunctionRev}{$Id$} -\RCSdefDate{\RCSPoissonreconstructionfunctionDate}{$Date$} +%\RCSdef{\RCSPoissonreconstructionfunctionRev}{$Id$} +%\RCSdefDate{\RCSPoissonreconstructionfunctionDate}{$Date$} % | \ccRefPageBegin %%RefPage: end of header, begin of main body @@ -156,7 +156,7 @@ Returns a point located inside the inferred surface. \ccExample -See \ccc{poisson_reconstruction_example.cpp}. +See \ccReferToExampleCode{Surface_reconstruction_points_3/poisson_reconstruction_example.cpp}. \end{ccRefClass} From 3ab6dae3fc98e21b37caa36e1e5ab65aa87f376b Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 6 May 2011 09:41:24 +0000 Subject: [PATCH 08/16] Add a precision that compute_implicit_function(...) must be called --- .../Poisson_reconstruction_function.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex index a9876d8f7e8..251b7d09a80 100644 --- a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex +++ b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3_ref/Poisson_reconstruction_function.tex @@ -143,7 +143,9 @@ The function \ccc{compute_implicit_function}() must be called after the insertio \ccGlue \ccMethod{FT operator()(const Point& p) const;} { -\ccc{ImplicitFunction} interface: evaluates the implicit function at a given 3D query point. +\ccc{ImplicitFunction} interface: evaluates the implicit function at a +given 3D query point. The function \ccc{compute_implicit_function} must be +called before the first call to \ccc{operator()}. } \ccGlue \ccMethod{Point get_inner_point() const;} From 19a787e3427b45772038de48b2d61b71f7139c97 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 6 May 2011 10:24:08 +0000 Subject: [PATCH 09/16] Bug fix: input iterators are not required to be default-constructible When InputIterator is an input-iterator type, one cannot do: InputIterator it; for(it = first; it != beyond; it++) because input iterators may not be default-constructible. Only forward iterators are required, by the C++03 norm, to be default-constructible. We need to write: for(InputIterator it = first; it != beyond; it++) --- .../include/CGAL/compute_average_spacing.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Point_set_processing_3/include/CGAL/compute_average_spacing.h b/Point_set_processing_3/include/CGAL/compute_average_spacing.h index a364e0decef..02808557dfd 100644 --- a/Point_set_processing_3/include/CGAL/compute_average_spacing.h +++ b/Point_set_processing_3/include/CGAL/compute_average_spacing.h @@ -136,12 +136,10 @@ compute_average_spacing( // precondition: at least 2 nearest neighbors CGAL_point_set_processing_precondition(k >= 2); - InputIterator it; - // Instanciate a KD-tree search. // Note: We have to convert each input iterator to Point_3. std::vector kd_tree_points; - for(it = first; it != beyond; it++) + for(InputIterator it = first; it != beyond; it++) { Point point = get(point_pmap, it); kd_tree_points.push_back(point); @@ -152,7 +150,7 @@ compute_average_spacing( // vectors (already normalized) FT sum_spacings = (FT)0.0; unsigned int nb_points = 0; - for(it = first; it != beyond; it++) + for(InputIterator it = first; it != beyond; it++) { sum_spacings += internal::compute_average_spacing(get(point_pmap,it),tree,k); nb_points++; From 495c1672d681797354e5c7275a15a89d9c7c36ac Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Fri, 6 May 2011 13:53:40 +0000 Subject: [PATCH 10/16] Improve the way Io_implicit_function_plugin search its sub-plugins In case the current working directory is Release or Debug (or anything), one search in ../implicit_functions/Release (or Debug) too. --- Mesh_3/demo/Mesh_3/Io_implicit_function_plugin.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Mesh_3/demo/Mesh_3/Io_implicit_function_plugin.cpp b/Mesh_3/demo/Mesh_3/Io_implicit_function_plugin.cpp index 2651d825754..7f4d381e142 100644 --- a/Mesh_3/demo/Mesh_3/Io_implicit_function_plugin.cpp +++ b/Mesh_3/demo/Mesh_3/Io_implicit_function_plugin.cpp @@ -164,7 +164,14 @@ Io_implicit_function_plugin:: load_function_plugins() { QDir pluginsDir(qApp->applicationDirPath()); - if ( !pluginsDir.cd("implicit_functions") ) { return; } + QString dirname = pluginsDir.dirName(); + if ( !pluginsDir.cd("implicit_functions") ) { + // In that case, dirname may be "Debug" or "Release" and one has to + // search in ../implicit_functions/Debug or + // ../implicit_functions/Release + QString newDir = QString("../implicit_functions/") + dirname; + if( !pluginsDir.cd(newDir) ) return; + } Q_FOREACH (QString fileName, pluginsDir.entryList(QDir::Files)) { From 399e75b7f8c54d9581ef4b0116dfe065fe0fb321 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Wed, 11 May 2011 10:14:02 +0000 Subject: [PATCH 11/16] Add CGAL_CFG_NO_CPP0X_STATIC_ASSERT to the g++-4.3 list and fix a typo. --- .../config/testfiles/CGAL_CFG_NO_CPP0X_STATIC_ASSERT.cpp | 2 +- Installation/include/CGAL/internal/gcc_cpp0x.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Installation/config/testfiles/CGAL_CFG_NO_CPP0X_STATIC_ASSERT.cpp b/Installation/config/testfiles/CGAL_CFG_NO_CPP0X_STATIC_ASSERT.cpp index 0a0e1d1a352..9fe6379dd13 100644 --- a/Installation/config/testfiles/CGAL_CFG_NO_CPP0X_STATIC_ASSERT.cpp +++ b/Installation/config/testfiles/CGAL_CFG_NO_CPP0X_STATIC_ASSERT.cpp @@ -18,7 +18,7 @@ // Author(s) : Marc Glisse //| If a compiler does not support static_assert (from C++0x) -//| CGAL_CFG_NO_STATIC_ASSERT is set. +//| CGAL_CFG_NO_CPP0X_STATIC_ASSERT is set. int main(){ static_assert(true,"Everything is fine"); diff --git a/Installation/include/CGAL/internal/gcc_cpp0x.h b/Installation/include/CGAL/internal/gcc_cpp0x.h index 76db7a38313..5a5e0ccade6 100644 --- a/Installation/include/CGAL/internal/gcc_cpp0x.h +++ b/Installation/include/CGAL/internal/gcc_cpp0x.h @@ -35,6 +35,7 @@ #undef CGAL_CFG_NO_CPP0X_ISFINITE #undef CGAL_CFG_NO_CPP0X_LONG_LONG #undef CGAL_CFG_NO_CPP0X_RVALUE_REFERENCE +#undef CGAL_CFG_NO_CPP0X_STATIC_ASSERT #undef CGAL_CFG_NO_CPP0X_TUPLE #undef CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES From ffc118621538d6caad7e6fdf491c72c37ef8cb33 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 11 May 2011 12:34:50 +0000 Subject: [PATCH 12/16] - Add a function overload that was documented but not implemented! - Fix a call in a deprecated function. - In the tests, add the test of the deprecated functions. --- .../CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h | 7 ++++++- Mesh_3/test/Mesh_3/test_c3t3.cpp | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h b/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h index c43f3db6768..6b68fcb68a6 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h +++ b/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h @@ -112,6 +112,11 @@ public: /// Removes facet \c facet from 2D complex void remove_from_complex(const Facet& facet); + /// Removes facet(\c cell, \c i) from 2D complex + void remove_from_complex(const Cell_handle& c, const int i) { + remove_from_complex(Facet(c, i)); + } + /// Sets surface index of facet \c facet to \c index void set_surface_patch_index(const Facet& f, const Surface_patch_index& index) { @@ -423,7 +428,7 @@ public: typedef Surface_patch_index Surface_index; void set_surface_index(const Facet& f, const Surface_index& index) - { set_surface_patch_index(f.first, index); } + { set_surface_patch_index(f, index); } void set_surface_index(const Cell_handle& c, const int i, const Surface_index& index) { set_surface_patch_index(c,i,index); } diff --git a/Mesh_3/test/Mesh_3/test_c3t3.cpp b/Mesh_3/test/Mesh_3/test_c3t3.cpp index cec0c72e963..c2f37f463c9 100644 --- a/Mesh_3/test/Mesh_3/test_c3t3.cpp +++ b/Mesh_3/test/Mesh_3/test_c3t3.cpp @@ -301,11 +301,19 @@ struct Tester c3t3.set_subdomain_index(ch, subdomain_index_bis); c3t3.set_surface_patch_index(f2, surface_patch_index_bis); +#ifndef CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX + c3t3.set_surface_index(f2, surface_patch_index_bis); + c3t3.set_surface_index(f2.first, f2.second, surface_patch_index_bis); +#endif c3t3.set_dimension(vh, 1); c3t3.set_index(vh, vertex_index); assert(c3t3.subdomain_index(ch) == subdomain_index_bis); assert(c3t3.surface_patch_index(f2) == surface_patch_index_bis); +#ifndef CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX + assert(c3t3.surface_index(f2) == surface_patch_index_bis); + assert(c3t3.surface_index(f2.first, f2.second) == surface_patch_index_bis); +#endif assert(c3t3.in_dimension(vh) == 1); assert(c3t3.index(vh) == vertex_index); From 15f5aea2743e9cd334eefb4c73079a231baa0942 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 11 May 2011 12:44:01 +0000 Subject: [PATCH 13/16] Patch so that SWIG can use this class For SWIG, iterators must be default-constructible. --- .../Mesh_complex_3_in_triangulation_3_base.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h b/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h index 6b68fcb68a6..5cdc8062033 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h +++ b/Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h @@ -299,19 +299,20 @@ private: class Facet_iterator_not_in_complex { - const Self& c3t3_; - const Surface_patch_index index_; + const Self* c3t3_; + Surface_patch_index index_; //need by SWIG: should be const Surface_patch_index public: + Facet_iterator_not_in_complex(){} //need by SWIG Facet_iterator_not_in_complex(const Self& c3t3, const Surface_patch_index& index = Surface_patch_index()) - : c3t3_(c3t3) + : c3t3_(&c3t3) , index_(index) { } template bool operator()(Iterator it) const { - if ( index_ == Surface_patch_index() ) { return ! c3t3_.is_in_complex(*it); } - else { return c3t3_.surface_patch_index(*it) != index_; } + if ( index_ == Surface_patch_index() ) { return ! c3t3_->is_in_complex(*it); } + else { return c3t3_->surface_patch_index(*it) != index_; } } }; @@ -322,8 +323,9 @@ private: class Cell_not_in_complex { const Self* r_self_; - Subdomain_index index_; + Subdomain_index index_;//needed by SWIG, should be const Subdomain_index public: + Cell_not_in_complex(){}//needed by SWIG Cell_not_in_complex(const Self& self, const Subdomain_index& index = Subdomain_index()) : r_self_(&self) @@ -393,7 +395,7 @@ public: Self operator++(int) { Self tmp(*this); ++(*this); return tmp; } Self operator--(int) { Self tmp(*this); --(*this); return tmp; } - operator Cell_handle() { return Cell_handle(this->base()); } + operator Cell_handle() const { return Cell_handle(this->base()); } }; // end class Cells_in_complex_iterator From 93f9acba2649847c02e75e06c325f23cabcaaba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Thu, 12 May 2011 13:17:08 +0000 Subject: [PATCH 14/16] missing return type in html version only --- Kernel_23/doc_tex/Kernel_23_ref/intersection.tex | 1 + 1 file changed, 1 insertion(+) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex b/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex index d3ef3720711..3c31c52ac68 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/intersection.tex @@ -458,6 +458,7 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\ +
Point_3
Segment_3
Triangle_3
std::vector < Point_3 >
From ea598e5a45eccfc65069cdc0a1a97992c0da5625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 13 May 2011 12:05:51 +0000 Subject: [PATCH 15/16] fix bug in Construct_cartesian_const_iterator_[23] The operator() for constructing past the end iterator was forwarding the int value to the iterator type. --- Filtered_kernel/include/CGAL/Lazy.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Filtered_kernel/include/CGAL/Lazy.h b/Filtered_kernel/include/CGAL/Lazy.h index 75a895c098e..f59b27d316c 100644 --- a/Filtered_kernel/include/CGAL/Lazy.h +++ b/Filtered_kernel/include/CGAL/Lazy.h @@ -1393,9 +1393,9 @@ public: template < typename L1> result_type - operator()(const L1& l1, int i) const + operator()(const L1& l1, int) const { - return result_type(&l1,i); + return result_type(&l1,2); } }; @@ -1422,9 +1422,9 @@ public: template < typename L1> result_type - operator()(const L1& l1, int i) const + operator()(const L1& l1, int) const { - return result_type(&l1,i); + return result_type(&l1,3); } }; From d64e8a9371e7b802a2b092eb622c28f7a5391276 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Fri, 13 May 2011 18:37:13 +0000 Subject: [PATCH 16/16] Fix misinterpretation of decay --- STL_Extension/include/CGAL/is_iterator.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/STL_Extension/include/CGAL/is_iterator.h b/STL_Extension/include/CGAL/is_iterator.h index 920805ee06e..a094078ed8a 100644 --- a/STL_Extension/include/CGAL/is_iterator.h +++ b/STL_Extension/include/CGAL/is_iterator.h @@ -41,13 +41,18 @@ template struct is_iterator_type_ : //boost::is_base_of::iterator_category> boost::is_convertible::iterator_category,U> {}; + +template struct decay_array { typedef T type; }; +template struct decay_array { typedef T* type; }; +template struct decay_array { typedef T* type; }; } +// NOTE: we don't want the real std::decay or functions are included template struct is_iterator : - internal::is_iterator_::type> {}; + internal::is_iterator_::type>::type>::type> {}; template struct is_iterator_type : - internal::is_iterator_type_::type,Tag> {}; + internal::is_iterator_type_::type>::type>::type,Tag> {}; }