Revision: 77084
http://sourceforge.net/p/brlcad/code/77084
Author: starseeker
Date: 2020-09-08 19:25:40 +0000 (Tue, 08 Sep 2020)
Log Message:
-----------
Merge from trunk - r76972 through r77083
Modified Paths:
--------------
brlcad/branches/swrast/AUTHORS
brlcad/branches/swrast/CHANGES
brlcad/branches/swrast/CMakeLists.txt
brlcad/branches/swrast/NEWS
brlcad/branches/swrast/TODO
brlcad/branches/swrast/doc/README.Windows
brlcad/branches/swrast/doc/docbook/system/man1/pix-bw.xml
brlcad/branches/swrast/include/bg/aabb_ray.h
brlcad/branches/swrast/include/bg/chull.h
brlcad/branches/swrast/include/bg/lseg.h
brlcad/branches/swrast/include/bg/obr.h
brlcad/branches/swrast/include/bg/pointgen.h
brlcad/branches/swrast/include/bg/polygon.h
brlcad/branches/swrast/include/bg/polygon_types.h
brlcad/branches/swrast/include/bg/spsr.h
brlcad/branches/swrast/include/bg/tri_pt.h
brlcad/branches/swrast/include/bg/tri_ray.h
brlcad/branches/swrast/include/bg/tri_tri.h
brlcad/branches/swrast/include/bg/trimesh.h
brlcad/branches/swrast/include/bn/anim.h
brlcad/branches/swrast/include/bn/complex.h
brlcad/branches/swrast/include/bn/dvec.h
brlcad/branches/swrast/include/bn/noise.h
brlcad/branches/swrast/include/bn/plane.h
brlcad/branches/swrast/include/bn/poly.h
brlcad/branches/swrast/include/bn/rand.h
brlcad/branches/swrast/include/bn/vectfont.h
brlcad/branches/swrast/include/bn/vlist.h
brlcad/branches/swrast/include/brep/curvetree.h
brlcad/branches/swrast/include/brep/util.h
brlcad/branches/swrast/include/bu/app.h
brlcad/branches/swrast/include/bu/color.h
brlcad/branches/swrast/include/bu/column.h
brlcad/branches/swrast/include/bu/defines.h
brlcad/branches/swrast/include/bu/dylib.h
brlcad/branches/swrast/include/bu/endian.h
brlcad/branches/swrast/include/bu/file.h
brlcad/branches/swrast/include/bu/glob.h
brlcad/branches/swrast/include/bu/interrupt.h
brlcad/branches/swrast/include/bu/mime.h
brlcad/branches/swrast/include/bu/parallel.h
brlcad/branches/swrast/include/bu/process.h
brlcad/branches/swrast/include/bu/tbl.h
brlcad/branches/swrast/include/bu/vls.h
brlcad/branches/swrast/include/common.h
brlcad/branches/swrast/include/gcv/api.h
brlcad/branches/swrast/include/ged/commands.h
brlcad/branches/swrast/include/ged.h
brlcad/branches/swrast/include/rt/calc.h
brlcad/branches/swrast/include/rt/geom.h
brlcad/branches/swrast/include/rt/primitives/annot.h
brlcad/branches/swrast/include/tclcad.h
brlcad/branches/swrast/include/wdb.h
brlcad/branches/swrast/misc/CMake/CMakeLists.txt
brlcad/branches/swrast/misc/doxygen/Doxyfile.in
brlcad/branches/swrast/misc/doxygen/libbg.dox
brlcad/branches/swrast/misc/doxygen/libbn.dox
brlcad/branches/swrast/misc/doxygen/libbu.dox
brlcad/branches/swrast/misc/doxygen/libged.dox
brlcad/branches/swrast/misc/tools/CMakeLists.txt
brlcad/branches/swrast/misc/tools/dom2dox/Doxyfile
brlcad/branches/swrast/misc/wix/brlcad_banner.bmp
brlcad/branches/swrast/misc/wix/brlcad_dialog.bmp
brlcad/branches/swrast/src/archer/CMakeLists.txt
brlcad/branches/swrast/src/external/Creo/CMakeLists.txt
brlcad/branches/swrast/src/libbu/realpath_bsd.c
brlcad/branches/swrast/src/libbu/whereami.c
brlcad/branches/swrast/src/libdm/glx/dm-ogl.c
brlcad/branches/swrast/src/libgcv/CMakeLists.txt
brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal.cpp
brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal_ll.cpp
brlcad/branches/swrast/src/libged/bot/bot.cpp
brlcad/branches/swrast/src/libged/put_comb/put_comb.c
brlcad/branches/swrast/src/libged/typein/typein.c
brlcad/branches/swrast/src/librt/db5_scan.c
brlcad/branches/swrast/src/librt/db_lookup.c
brlcad/branches/swrast/src/libtclcad/CMakeLists.txt
brlcad/branches/swrast/src/libtclcad/auto_path.c
brlcad/branches/swrast/src/libtclcad/bn.c
brlcad/branches/swrast/src/libtclcad/bu.c
brlcad/branches/swrast/src/libtclcad/cmdhist.c
brlcad/branches/swrast/src/libtclcad/dm.c
brlcad/branches/swrast/src/libtclcad/fb.c
brlcad/branches/swrast/src/libtclcad/fbserv.c
brlcad/branches/swrast/src/libtclcad/rt.c
brlcad/branches/swrast/src/libtclcad/tclcad_private.h
brlcad/branches/swrast/src/libtclcad/view/faceplate.c
brlcad/branches/swrast/src/mged/CMakeLists.txt
brlcad/branches/swrast/src/mged/mged.c
brlcad/branches/swrast/src/other/CMakeLists.txt
brlcad/branches/swrast/src/qged/TODO.qt
brlcad/branches/swrast/src/rtwizard/CMakeLists.txt
brlcad/branches/swrast/src/tclscripts/mged/help.tcl
brlcad/branches/swrast/src/util/pix-bw.c
Added Paths:
-----------
brlcad/branches/swrast/misc/CMake/FindNSIS.cmake
brlcad/branches/swrast/misc/CMake/FindWix.cmake
brlcad/branches/swrast/misc/tools/inactvhdrs/
brlcad/branches/swrast/src/archer/archer.ico
brlcad/branches/swrast/src/archer/archer.rc
brlcad/branches/swrast/src/libgcv/plugins/vol/
brlcad/branches/swrast/src/libgcv/tests/
brlcad/branches/swrast/src/libtclcad/commands.c
brlcad/branches/swrast/src/libtclcad/eval.c
brlcad/branches/swrast/src/libtclcad/global.c
brlcad/branches/swrast/src/libtclcad/init.c
brlcad/branches/swrast/src/libtclcad/mouse.c
brlcad/branches/swrast/src/libtclcad/polygons.c
brlcad/branches/swrast/src/libtclcad/wrapper.c
brlcad/branches/swrast/src/mged/mged.ico
brlcad/branches/swrast/src/mged/mged.rc
brlcad/branches/swrast/src/rtwizard/rtwizard.ico
brlcad/branches/swrast/src/rtwizard/rtwizard.rc
Removed Paths:
-------------
brlcad/branches/swrast/src/libgcv/test_bottess.c
brlcad/branches/swrast/src/libtclcad/tclcad_eval.c
brlcad/branches/swrast/src/libtclcad/tclcad_global.c
brlcad/branches/swrast/src/libtclcad/tclcad_init.c
brlcad/branches/swrast/src/libtclcad/tclcad_mouse.c
brlcad/branches/swrast/src/libtclcad/tclcad_obj.c
brlcad/branches/swrast/src/libtclcad/tclcad_obj_wrapper.c
brlcad/branches/swrast/src/libtclcad/tclcad_polygons.c
Property Changed:
----------------
brlcad/branches/swrast/
brlcad/branches/swrast/CHANGES
brlcad/branches/swrast/NEWS
brlcad/branches/swrast/doc/
brlcad/branches/swrast/include/
brlcad/branches/swrast/src/libbu/
brlcad/branches/swrast/src/other/
Index: brlcad/branches/swrast
===================================================================
--- brlcad/branches/swrast 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast 2020-09-08 19:25:40 UTC (rev 77084)
Property changes on: brlcad/branches/swrast
___________________________________________________________________
Modified: svn:mergeinfo
## -9,4 +9,5 ##
/brlcad/branches/opencl:65867-66137
/brlcad/branches/osg:62110-62113
/brlcad/branches/prep-cache:68236-68933
-/brlcad/branches/tcltk86:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86:68300-75257
+/brlcad/trunk:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/AUTHORS
===================================================================
--- brlcad/branches/swrast/AUTHORS 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/AUTHORS 2020-09-08 19:25:40 UTC (rev 77084)
@@ -898,12 +898,22 @@
2019 May
Open Source (GSoC)
+Suthar, Rishabh
+nicknames yamhai, rishabhsuthar32
+2020 March
+Open Source (GSoC)
+
Vaidya, Sahil
nicknames sahilvaidya99
2020 April
ARL Student Hire / University of Texas at Austin
+Das, Sumagna
+nicknames sumagnadas
+2020 May
+Open Source
+
SPECIAL THANKS
--------------
Modified: brlcad/branches/swrast/CHANGES
===================================================================
--- brlcad/branches/swrast/CHANGES 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/CHANGES 2020-09-08 19:25:40 UTC (rev 77084)
@@ -137,6 +137,14 @@
bg_polyline_2d_chull, bg_2d_chull, bg_3d_coplanar_chull,
bg_3d_chull
+MGED gui
+ The following will be removed from MGED's menu bar (unused
+ features, can be accomplished another way, or will be exposed
+ only as lower level settings when there are sensible defaults
+ that are seldom changed.)
+
+ Settings->Mouse Behavior->Pick Raytrace-Object(s)
+
7.30
----
~/.density
Property changes on: brlcad/branches/swrast/CHANGES
___________________________________________________________________
Modified: svn:mergeinfo
## -1,3 +1,4 ##
/brlcad/branches/RELEASE/CHANGES:70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140
/brlcad/branches/brep-debug/CHANGES:69168,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
-/brlcad/branches/dm-fb-merge/CHANGES:75426-76198
\ No newline at end of property
+/brlcad/branches/dm-fb-merge/CHANGES:75426-76198
+/brlcad/trunk/CHANGES:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/CMakeLists.txt 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/CMakeLists.txt 2020-09-08 19:25:40 UTC (rev
77084)
@@ -2936,17 +2936,11 @@
endif(HAVE__SNPRINTF)
endif(NOT HAVE_SNPRINTF)
-# So far I haven't been able to come up with a reliable self contained
-# test for this, but libbu's #2 realpath test triggers a stack smash
-# on some linux systems. For the moment, fall back on OpenBSD's
-# userspace implementation, which does seem to work. Once we can
-# get a self-contained reproduction of this failure, put it below
-# and we can use the system realpath again.
if(HAVE_REALPATH)
- #check_c_source_runs("#include<limits.h>\n#include <stdlib.h>\nint main() {
char dir[512]; const char *d = \"/tmp/REALPATH_TEST_PATH\"; d = (const char
*)realpath(d, dir); return 0; }" HAVE_WORKING_REALPATH)
- #if(HAVE_WORKING_REALPATH)
- # CONFIG_H_APPEND(BRLCAD "#define HAVE_WORKING_REALPATH 1\n")
- #endif(HAVE_WORKING_REALPATH)
+ check_c_source_runs("#include<limits.h>\n#include <stdlib.h>\nint main() {
char dir[PATH_MAX]; const char *d = \"/tmp/REALPATH_TEST_PATH\"; d = (const
char *)realpath(d, dir); return 0; }" HAVE_WORKING_REALPATH)
+ if(HAVE_WORKING_REALPATH)
+ CONFIG_H_APPEND(BRLCAD "#define HAVE_WORKING_REALPATH 1\n")
+ endif(HAVE_WORKING_REALPATH)
endif(HAVE_REALPATH)
# GetFullPathName
@@ -3570,26 +3564,45 @@
endif(CPACK_RPM_PACKAGE_RELEASE)
if(WIN32)
- set(CPACK_GENERATOR NSIS)
- set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
- set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
- set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
- set(CPACK_DATA_DIR "${DATA_DIR}")
- set(CPACK_DOC_DIR "${DOC_DIR}")
- # There is a bug in NSI that does not handle full unix paths properly. Make
- # sure there is at least one set of four (4) backslashes.
- set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
- set(CPACK_NSIS_MUI_UNIICON
"${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
- set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
- set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
- set(CPACK_NSIS_MODIFY_PATH ON)
- if(BRLCAD_ENABLE_WIX)
+ find_package(NSIS)
+ if (NSIS_FOUND)
+ set(CPACK_GENERATOR ${CPACK_GENERATOR} NSIS)
+ set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
+ set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
+ set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
+ set(CPACK_DATA_DIR "${DATA_DIR}")
+ set(CPACK_DOC_DIR "${DOC_DIR}")
+ # There is a bug in NSIS that does not handle full unix paths properly.
Make
+ # sure there is at least one set of four (4) backslashes.
+ set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
+ set(CPACK_NSIS_MUI_UNIICON
"${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
+ set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
+ set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
+ set(CPACK_NSIS_MODIFY_PATH ON)
+ endif (NSIS_FOUND)
+ find_package(Wix)
+ if (Wix_FOUND)
+ # User report that this version of the installer also supports
+ # non-graphical installation with the /passive option.
+ #
+ # Note: for WiX, start menu shortcuts and desktop icons are handled with
+ # properties set on targets. (At the moment, this is not true for NSIS -
+ # it uses entries in the misc/CMake/NSIS.template.in file.)
+ #
+ # If we need to get fancier about this, look at the following:
+ #
https://github.com/Kitware/CMake/blob/master/CMakeCPackOptions.cmake.in#L216
+ # https://github.com/Kitware/CMake/tree/master/Utilities/Release/WiX
set(CPACK_GENERATOR ${CPACK_GENERATOR} WIX)
set(CPACK_WIX_LICENSE_RTF "${CMAKE_SOURCE_DIR}/misc/wix/License.rtf")
set(CPACK_WIX_PRODUCT_ICON
"${CMAKE_SOURCE_DIR}/misc/wix/brlcad_product.ico")
+ set(CPACK_WIX_PROGRAM_MENU_FOLDER "BRL-CAD ${BRLCAD_VERSION}")
set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_banner.bmp")
set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_dialog.bmp")
- endif(BRLCAD_ENABLE_WIX)
+ endif (Wix_FOUND)
+ if (NOT CPACK_GENERATOR)
+ # If nothing else, make a zip file
+ set(CPACK_GENERATOR ZIP)
+ endif (NOT CPACK_GENERATOR)
if(CMAKE_CL_64)
set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win64")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD ${BRLCAD_VERSION} win64")
Modified: brlcad/branches/swrast/NEWS
===================================================================
--- brlcad/branches/swrast/NEWS 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/NEWS 2020-09-08 19:25:40 UTC (rev 77084)
@@ -13,6 +13,11 @@
--- 2020-08-XX Release 7.32.X ---
----------------------------------------------------------------------
+* upgraded Tcl/Tk from 8.5.19 to 8.6.10 - Cliff Yapp
+* bundled zlib & libpng use API prefix and library suffix - Cliff Yapp
+* extensive improvements to OpenCL ray trace pipeline - Rishabh Suthar
+* improved rtweight density value warnings - Sean Morrison, Cliff Yapp
+* added perception-based hdtv and hdr modes for pix-bw - Sean Morrison
* fixed semi-transparent DM and FB windows on Linux - Cliff Yapp
* improved rtweight manual page - Sean Morrison
* added line reporting TCP listening port to remrt output - Cliff Yapp
@@ -20,6 +25,7 @@
* fixed crash when drawing a VOL with missing data - Cliff Yapp
* facetall.sh script is replaced by MGED facetize command - Cliff Yapp
* dynamic LIBGED command loading in MGED & Archer - Cliff Yapp
+* removed MGED "Display Manager" switching menu options - Cliff Yapp
* dynamic LIBDM display manager loading in MGED & Archer - Cliff Yapp
* fixed 'idents' crash when running in a read-only dir - Sean Morrison
* fixed fb tools w/ redirected files and cv on Windows - Sean Morrison
@@ -34,6 +40,10 @@
* improved output path sorting of search command - Cliff Yapp
* added 3dm-g failure message about supported versions - Cliff Yapp
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
+* added MGED 'dm type' subcommand for reporting DM type - Cliff Yapp
+* improved vdeck input support for Windows text files - Sean Morrison
+* fixed MGED 'plot' & 'brep plot' commands on Windows - Sean Morrison
+* fixed numerous image utilities on Windows - Sean Morrison
----------------------------------------------------------------------
@@ -66,9 +76,11 @@
* fixed transparent drawing in MGED - Nick Reed
* fixed solid NURBS brep intersection testing - Cliff Yapp
* removed extra blank line after commands in MGED GUI - Sean Morrison
+* minor improvement to NURBS ray tracing performance - Sean Morrison
* added "plate" object type filter to search command - Cliff Yapp
* fixed latent logging bug during facetize on Windows - Bob Parker
* fixed bug closing rt framebuffer windows on Windows - Sean Morrison
+* added EBM support for reading from database objects - Jeffrey Liu
----------------------------------------------------------------------
@@ -83,9 +95,13 @@
* changed mged escape key binding to reset mouse mode - Sean Morrison
* removed default xXyYzZ0 rate rotation key bindings - Sean Morrison
* improved tessellation of nearly coplanar surfaces - John Anderson
-* fixed display of annotations on Windows - Daniel Roßberg
+* fixed annotations display on Windows - Daniel Roßberg, Ali Haydar
* fixed rtedge and rtwizard occlusion object edge bug - Sean Morrison
* rt* tools no longer force outputs to be read-only - Sean Morrison
+* fixed bug listing annotations with short label strings - Ali Haydar
+* improved support for label placement in annotations - Ali Haydar
+* fixed bug in annotation object bounding box calculation - Ali Haydar
+* fixed an annotation leader line bug affecting display - Ali Haydar
* fixed 'burst' crash when run without options - Sean Morrison
* changed rtweight to not truncate long pathnames - Sean Morrison
* added new ball bearing example geometry model - Sean Morrison
@@ -214,7 +230,7 @@
* improved 'idents' command portability - Daniel Ramirez, Cliff Yapp
* changed remrt/rtsrv to no longer report overlaps - Sean Morrison
* improved GUI of MGED's Overlap Tool - Saran Narayan
-* fixed geometry directory building bug in remrt/rtsrv - Sean Morrison
+* fixed geopmetry directory building bug in remrt/rtsrv - Sean Morrison
* fixed gcv problem with full paths on Windows - Cliff Yapp
* removed precision limitation in NIRT input parsing - Cliff Yapp
* added new example geometry models: chess and die pieces - Jeff Sieu
@@ -295,6 +311,7 @@
* fix rtedge foreground/background color options - Jon Engbert
* support rt -C colors specified as 0-255 or 0.0-1.0 - Jon Engbert
* fixed xpush bug leaving stray top-level objects - Nick Reed
+* removed MGED wrapper 'mged.bat' batch script on Windows - Cliff Yapp
----------------------------------------------------------------------
Property changes on: brlcad/branches/swrast/NEWS
___________________________________________________________________
Modified: svn:mergeinfo
## -8,4 +8,5 ##
/brlcad/branches/opencl/NEWS:65867-66137
/brlcad/branches/osg/NEWS:62110-62113
/brlcad/branches/prep-cache/NEWS:68236-68933
-/brlcad/branches/tcltk86/NEWS:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86/NEWS:68300-75257
+/brlcad/trunk/NEWS:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/TODO
===================================================================
--- brlcad/branches/swrast/TODO 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/TODO 2020-09-08 19:25:40 UTC (rev 77084)
@@ -18,14 +18,37 @@
THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
-------------------------------------------------
-* The embedded framebuffer for the X display manager is not working
- with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
- to XFlush after X24_blit.
-
THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
-------------------------------------------------------
+* The following will be removed from MGED's menu bar (unused
+ features, can be accomplished another way, or will be exposed
+ only as lower level settings when there are sensible defaults
+ that are seldom changed.)
+
+ ViewRing menu and entries.
+ Modes->Persistent Sweep Rectangle
+ Modes->Collaborate
+ Modes->Rateknobs
+ Modes->Display Lists
+ Misc->Keystroke Forwarding
+ Misc->Depth Cueing
+ Misc->Z Buffer
+ Misc->Lighting
+ Settings->Mouse Behavior->Sweep Raytrace-Rectangle
+ Settings->Mouse Behavior->Sweep Paint-Rectangle
+ Settings->Mouse Behavior->Sweep Zoom-Rectangle
+ Settings->Apply To->Local Panes
+ Settings->Apply To->Listed Panes
+ Settings->Framebuffer->Rectangle Area
+
+* The embedded framebuffer for the X display manager is not working
+ with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
+ to XFlush after X24_blit. Better solution is to replace the X
+ dm/fb with a cross platform software rasterizing solution of some
+ sort.
+
* Implement new behavior for quit command in MGED - if bu_subprocess
commands are running, by default refuse to quit and print out a
list of currently running processes and instructions on how to abort
@@ -147,6 +170,9 @@
THESE ARE UNSCHEDULED BACKLOG TASKS
-----------------------------------
+* rtwizard's reopening of the database is causing db_dircheck
+ "Duplicate of..." errors when opening read-only .g files.
+
* procedural studio box generation allowing for specification of size,
shape, material, and lighting characteristics
@@ -1155,9 +1181,6 @@
http://support.echoview.com/WebHelp/Reference/File_formats/
Export_file_formats/Volume_data_set_file_formats.htm
-* turn geometry converters and image converters into libraries
- (started as libraries libgcv and libicv)
-
* add support for querying geometry properties to library including
computing surface area and weight/mass.
Index: brlcad/branches/swrast/doc
===================================================================
--- brlcad/branches/swrast/doc 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/doc 2020-09-08 19:25:40 UTC (rev 77084)
Property changes on: brlcad/branches/swrast/doc
___________________________________________________________________
Modified: svn:mergeinfo
## -8,4 +8,5 ##
/brlcad/branches/opencl/doc:65867-66137
/brlcad/branches/osg/doc:62110-62113
/brlcad/branches/prep-cache/doc:68236-68933
-/brlcad/branches/tcltk86/doc:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86/doc:68300-75257
+/brlcad/trunk/doc:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/doc/README.Windows
===================================================================
--- brlcad/branches/swrast/doc/README.Windows 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/doc/README.Windows 2020-09-08 19:25:40 UTC (rev
77084)
@@ -3,18 +3,23 @@
The usual way to build BRL-CAD for Windows is to use the CMake build
system generator and the Microsoft Visual Studio C++ (MSVC) compiler.
-Recent versions of both (as of this writing, MSVC 2013 and CMake
-2.8.12+) are recommended. If generating an installer, the Nullsoft
-Scriptable Install System (NSIS) tool is also required.
+Recent versions of both are recommended. If generating an installer,
+the following options are available and supported:
-In principle, BRL-CAD can be built using CMake and environments like
-Cygwin and/or Mingw/Msys, but the latter is largely untested and
+Nullsoft Scriptable Install System (NSIS) - generates a. .exe installer
+
+WiX Toolset - generates an MSI installer.
+
+These tools must be installed separately - they are not included with
+CMake or Visual Studio.
+
+Note: In principle BRL-CAD can be built using CMake and environments
+like Cygwin and/or Mingw/Msys, but they are largely untested and
infrequently supported. Enhancements or bug reports are welcome.
Visual Studio
-------------
-
To build with CMake and Visual Studio, the first step is to obtain the
BRL-CAD sources and create a build directory. In principle, it is not
*required* to have a separate build directory, but with Windows and
@@ -54,6 +59,18 @@
named PACKAGE and run it. The end result should be an .exe file
capable of installing BRL-CAD.
+Working with MSI files
+----------------------
+
+The WiX Toolset's MSI file, in addition to the standard interactive
+graphical install, also supports a command line based silent
+install. (See, for example, https://stackoverflow.com/a/25230485)
+
+msiexec.exe /i c:\BRL-CAD-7.32.0_win64.msi /QN /L*V
"C:\Temp\brlcad_install.log"
+
+The logging step is not required but is recommended to allow for
+easier understanding of any issues that might arise.
+
===========================================
=== Setting a specific SDK version ===
Modified: brlcad/branches/swrast/doc/docbook/system/man1/pix-bw.xml
===================================================================
--- brlcad/branches/swrast/doc/docbook/system/man1/pix-bw.xml 2020-09-08
17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/doc/docbook/system/man1/pix-bw.xml 2020-09-08
19:25:40 UTC (rev 77084)
@@ -21,7 +21,7 @@
<arg choice='opt'>-w <replaceable>width</replaceable></arg>
<arg choice='opt'>-n <replaceable>height</replaceable></arg>
<arg choice='opt'>
- <arg choice='opt'>-e <replaceable>ntsc|crt</replaceable></arg>
+ <arg choice='opt'>-e <replaceable>ntsc|crt|hdtv|hdr|avg</replaceable></arg>
<arg choice='opt'>
<arg choice='opt'><arg choice='plain'>-R
</arg><replaceable>r_weight</replaceable></arg>
<arg choice='opt'><arg choice='plain'>-G
</arg><replaceable>g_weight</replaceable></arg>
@@ -64,17 +64,41 @@
<varlistentry>
<term><emphasis remap='B'>ntsc</emphasis></term>
<listitem>
-<para> weighting used is based on the NTSC primaries and the
-D6500 alignment white.</para>
+<para>Weighting used is based on the NTSC primaries and white
+alignment. Conforming with Rec.ITU-R BT.601-7, this uses
+0.299/0.587/0.114 RGB weights. This gives a simplified linear
+conversion of perceived luminance that reflects human physiological
+sensitivity to green and least to blue.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>crt</emphasis></term>
<listitem>
-<para>weighting scheme used will be for "typical" CRT phosphor chromaticities
-and the D6500 white.</para>
+<para>Weighting scheme matches "historic" CRT phosphor chromaticities
+and a D6500 white alignment. Uses 0.26/0.66/0.08 RGB weights.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><emphasis remap='B'>hdtv</emphasis></term>
+ <listitem>
+<para>Weighting scheme matches "modern" HDTV display chromacities.
+Uses 0.2126/0.7152/0.0722 RGB weights per Rec.ITU-R BT.709</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='B'>hdr</emphasis></term>
+ <listitem>
+<para>Weighting scheme matches high dynamic range (HDR) chromacities.
+Uses 0.2627/0.6780/0.0593 RGB weights per Rec.ITU-R BT.2020</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='B'>avg</emphasis></term>
+ <listitem>
+<para>Weighting scheme simply takes the average of all three values
+(i.e., R + G + B / 3.0).</para>
+ </listitem>
+ </varlistentry>
</variablelist>
<para>
Individual color plane(s) can be selected via the
@@ -96,15 +120,10 @@
<para>will equally blend the red and blue color planes; because -G is omitted,
the green color plane is not considered.
(Had "-G0.0" been included in this example, the three colors would have been
weighted equally, as in the default condition.)</para>
-<para>pix-bw -R0.30 -G0.59 -B0.11 < <emphasis remap='I'>file.pix</emphasis>
> <emphasis remap='I'>file.bw</emphasis></para>
+<para>pix-bw -R0.3 -G0.6 -B0.1 < <emphasis remap='I'>file.pix</emphasis>
> <emphasis remap='I'>file.bw</emphasis></para>
<para>
-has the same effect as the
-<option>-ntsc</option>
-flag.
-<!-- .br -->
-[The
-<option>-crt</option>
-weights are: 0.26, 0.66, 0.08]</para>
+applies weights close to the <option>-ntsc</option> flag.
+</para>
</refsect1>
<refsect1 xml:id='see_also'><title>SEE ALSO</title>
Index: brlcad/branches/swrast/include
===================================================================
--- brlcad/branches/swrast/include 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/include 2020-09-08 19:25:40 UTC (rev 77084)
Property changes on: brlcad/branches/swrast/include
___________________________________________________________________
Modified: svn:mergeinfo
## -9,4 +9,5 ##
/brlcad/branches/opencl/include:65867-66137
/brlcad/branches/osg/include:62110-62113
/brlcad/branches/prep-cache/include:68236-68933
-/brlcad/branches/tcltk86/include:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86/include:68300-75257
+/brlcad/trunk/include:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/include/bg/aabb_ray.h
===================================================================
--- brlcad/branches/swrast/include/bg/aabb_ray.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bg/aabb_ray.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file aabb_ray.h */
-/** @addtogroup aabb_ray */
+/** @addtogroup bg_aabb_ray */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/chull.h
===================================================================
--- brlcad/branches/swrast/include/bg/chull.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/chull.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file chull.h */
-/** @addtogroup chull */
+/** @addtogroup bg_chull */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/lseg.h
===================================================================
--- brlcad/branches/swrast/include/bg/lseg.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/lseg.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -19,8 +19,8 @@
*/
/*----------------------------------------------------------------------*/
-/* @file polygon.h */
-/** @addtogroup lineseg */
+/* @file lseg.h */
+/** @addtogroup bg_lseg */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/obr.h
===================================================================
--- brlcad/branches/swrast/include/bg/obr.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/obr.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file obr.h */
-/** @addtogroup obr */
+/** @addtogroup bg_obr */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/pointgen.h
===================================================================
--- brlcad/branches/swrast/include/bg/pointgen.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bg/pointgen.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file pointgen.h */
-/** @addtogroup pointgen */
+/** @addtogroup bg_pointgen */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/polygon.h
===================================================================
--- brlcad/branches/swrast/include/bg/polygon.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/polygon.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file polygon.h */
-/** @addtogroup polygon */
+/** @addtogroup bg_polygon */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/polygon_types.h
===================================================================
--- brlcad/branches/swrast/include/bg/polygon_types.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bg/polygon_types.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file polygon_types.h */
-/** @addtogroup polygon */
+/** @addtogroup bg_polygon */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/spsr.h
===================================================================
--- brlcad/branches/swrast/include/bg/spsr.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/spsr.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -50,8 +50,8 @@
*/
/*----------------------------------------------------------------------*/
-/* @file sbsr.h */
-/** @addtogroup sbsr */
+/* @file spsr.h */
+/** @addtogroup bg_surf_recon_spsr */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/tri_pt.h
===================================================================
--- brlcad/branches/swrast/include/bg/tri_pt.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/tri_pt.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_pt.h */
-/** @addtogroup tri_pt */
+/** @addtogroup bg_tri_pt */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/tri_ray.h
===================================================================
--- brlcad/branches/swrast/include/bg/tri_ray.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/tri_ray.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_ray.h */
-/** @addtogroup tri_ray */
+/** @addtogroup bg_tri_ray */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/tri_tri.h
===================================================================
--- brlcad/branches/swrast/include/bg/tri_tri.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/tri_tri.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_tri.h */
-/** @addtogroup tri_tri */
+/** @addtogroup bg_tri_tri */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bg/trimesh.h
===================================================================
--- brlcad/branches/swrast/include/bg/trimesh.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bg/trimesh.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file trimesh.h */
-/** @addtogroup trimesh */
+/** @addtogroup bg_trimesh */
/** @{ */
/**
Modified: brlcad/branches/swrast/include/bn/anim.h
===================================================================
--- brlcad/branches/swrast/include/bn/anim.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/anim.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -127,13 +127,13 @@
(o)[7] = (i)[9];\
(o)[8] = (i)[10];}
-/* tilde matrix: [M]a = v X a */
+/** tilde matrix: [M]a = v X a */
#define MAKE_TILDE(m, v) {\
MAT3ZERO(m);\
m[1]= -v[2]; m[2]=v[1]; m[3]= v[2];\
m[5]= -v[0]; m[6]= -v[1]; m[7]= v[0];}
-/* a = Ix Iy Iz b = Ixy Ixz Iyz*/
+/** a = Ix Iy Iz b = Ixy Ixz Iyz*/
#define INERTIAL_MAT3(m, a, b) {\
(m)[0] = (a)[0]; (m)[1] = -(b)[0]; (m)[2] = -(b)[1];\
(m)[3] = -(b)[0]; (m)[4] = (a)[1]; (m)[5] = -(b)[2];\
Modified: brlcad/branches/swrast/include/bn/complex.h
===================================================================
--- brlcad/branches/swrast/include/bn/complex.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/complex.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -34,7 +34,7 @@
__BEGIN_DECLS
-/* "complex number" data type: */
+/** "complex number" data type */
typedef struct bn_complex {
double re; /**< @brief real part */
double im; /**< @brief imaginary part */
Modified: brlcad/branches/swrast/include/bn/dvec.h
===================================================================
--- brlcad/branches/swrast/include/bn/dvec.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/dvec.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -26,10 +26,10 @@
#include <math.h>
extern "C++" {
/* Hide iostream from Doxygen with cond */
-/* @cond */
+/** @cond */
#include <iostream>
#include <ostream>
-/* @endcond */
+/** @endcond */
}
/* Needed for fastf_t definition */
@@ -131,7 +131,7 @@
#define VEC_ALIGN
/* Doxygen doesn't like these includes... */
-/* @cond */
+/** @cond */
/*#undef __SSE2__*/ // Test FPU version
#if defined(__SSE2__) && defined(__GNUC__) && defined(HAVE_EMMINTRIN_H) &&
defined(HAVE_EMMINTRIN)
# define __x86_vector__
@@ -741,7 +741,7 @@
}
#endif
-/* @endcond */
+/** @endcond */
inline bool vequals(const vec2d& a, const vec2d& b) {
return
@@ -752,9 +752,14 @@
// 2x2 row-major matrix
typedef fastf_t mat2d_t[4] VEC_ALIGN;
+/* Hide from Doxygen with cond */
+/** @cond */
+
// 2d point
typedef fastf_t pt2d_t[2] VEC_ALIGN;
+/** @endcond */
+
//--------------------------------------------------------------------------------
// MATH / VECTOR ops
inline
Modified: brlcad/branches/swrast/include/bn/noise.h
===================================================================
--- brlcad/branches/swrast/include/bn/noise.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/noise.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -18,9 +18,9 @@
* information.
*/
-/*----------------------------------------------------------------------*/
-/** @addtogroup noise
+/**
+ * @addtogroup noise
*
* @brief
* These noise functions provide mostly random noise at the integer
@@ -137,7 +137,6 @@
double octaves);
/**
- *
* From "Texturing and Modeling, A Procedural Approach" 2nd ed
*/
BN_EXPORT extern double bn_noise_mf(point_t point,
Modified: brlcad/branches/swrast/include/bn/plane.h
===================================================================
--- brlcad/branches/swrast/include/bn/plane.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/plane.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -43,51 +43,51 @@
__BEGIN_DECLS
-#define MAXPTS 4 /* All we need are 4 points */
-#define pl_A pl_points[0] /* Synonym for A point */
+#define MAXPTS 4 /**< All we need are 4 points */
+#define pl_A pl_points[0] /**< Synonym for A point */
struct plane_specific {
- size_t pl_npts; /* number of points on plane */
- point_t pl_points[MAXPTS]; /* Actual points on plane */
- vect_t pl_Xbasis; /* X (B-A) vector (for 2d coords) */
- vect_t pl_Ybasis; /* Y (C-A) vector (for 2d coords) */
- vect_t pl_N; /* Unit-length Normal (outward) */
- fastf_t pl_NdotA; /* Normal dot A */
- fastf_t pl_2d_x[MAXPTS]; /* X 2d-projection of points */
- fastf_t pl_2d_y[MAXPTS]; /* Y 2d-projection of points */
- fastf_t pl_2d_com[MAXPTS]; /* pre-computed common-term */
- struct plane_specific *pl_forw; /* Forward link */
- char pl_code[MAXPTS+1]; /* Face code string. Decorative. */
+ size_t pl_npts; /**< number of points on plane */
+ point_t pl_points[MAXPTS]; /**< Actual points on plane */
+ vect_t pl_Xbasis; /**< X (B-A) vector (for 2d coords) */
+ vect_t pl_Ybasis; /**< Y (C-A) vector (for 2d coords) */
+ vect_t pl_N; /**< Unit-length Normal (outward) */
+ fastf_t pl_NdotA; /**< Normal dot A */
+ fastf_t pl_2d_x[MAXPTS]; /**< X 2d-projection of points */
+ fastf_t pl_2d_y[MAXPTS]; /**< Y 2d-projection of points */
+ fastf_t pl_2d_com[MAXPTS]; /**< pre-computed common-term */
+ struct plane_specific *pl_forw; /**< Forward link */
+ char pl_code[MAXPTS+1]; /**< Face code string. Decorative. */
};
-/*
+/**
* Describe the tri_specific structure.
*/
struct tri_specific {
- point_t tri_A; /* triangle vertex (A) */
- vect_t tri_BA; /* B - A (second point) */
- vect_t tri_CA; /* C - A (third point) */
- vect_t tri_wn; /* facet normal (non-unit) */
- vect_t tri_N; /* unit normal vector */
- fastf_t *tri_normals; /* unit vertex normals A, B, C (this
is malloced storage) */
- int tri_surfno; /* solid specific surface number */
- struct tri_specific *tri_forw; /* Next facet */
+ point_t tri_A; /**< triangle vertex (A) */
+ vect_t tri_BA; /**< B - A (second point) */
+ vect_t tri_CA; /**< C - A (third point) */
+ vect_t tri_wn; /**< facet normal (non-unit) */
+ vect_t tri_N; /**< unit normal vector */
+ fastf_t *tri_normals; /**< unit vertex normals A, B, C (this
is malloced storage) */
+ int tri_surfno; /**< solid specific surface number */
+ struct tri_specific *tri_forw; /**< Next facet */
};
typedef struct tri_specific tri_specific_double;
-/*
+/**
* A more memory conservative version
*/
struct tri_float_specific {
- float tri_A[3]; /* triangle vertex (A) */
- float tri_BA[3]; /* B - A (second point) */
- float tri_CA[3]; /* C - A (third point) */
- float tri_wn[3]; /* facet normal (non-unit) */
- float tri_N[3]; /* unit normal vector */
- signed char *tri_normals; /* unit vertex normals A, B, C (this
is malloced storage) */
- int tri_surfno; /* solid specific surface number */
- struct tri_float_specific *tri_forw;/* Next facet */
+ float tri_A[3]; /**< triangle vertex (A) */
+ float tri_BA[3]; /**< B - A (second point) */
+ float tri_CA[3]; /**< C - A (third point) */
+ float tri_wn[3]; /**< facet normal (non-unit) */
+ float tri_N[3]; /**< unit normal vector */
+ signed char *tri_normals; /**< unit vertex normals A, B, C (this
is malloced storage) */
+ int tri_surfno; /**< solid specific surface number */
+ struct tri_float_specific *tri_forw;/**< Next facet */
};
typedef struct tri_float_specific tri_specific_float;
Modified: brlcad/branches/swrast/include/bn/poly.h
===================================================================
--- brlcad/branches/swrast/include/bn/poly.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/poly.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -41,7 +41,7 @@
__BEGIN_DECLS
/* This could be larger, or even dynamic... */
-#define BN_MAX_POLY_DEGREE 6 /* Maximum Poly Order */
+#define BN_MAX_POLY_DEGREE 6 /**< Maximum Poly Order */
/**
* Polynomial data type
Modified: brlcad/branches/swrast/include/bn/rand.h
===================================================================
--- brlcad/branches/swrast/include/bn/rand.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/rand.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -76,7 +76,7 @@
#define BN_RANDHALF(_i) (bn_rand_table[ _i = (_i+1) % BN_RAND_TABSIZE ]-0.5)
#define BN_RANDHALF_INIT(_p) _p = bn_rand_table
-#define BN_RANDHALFTABSIZE 16535 /* Powers of two give streaking */
+#define BN_RANDHALFTABSIZE 16535 /**< Powers of two give streaking */
BN_EXPORT extern int bn_randhalftabsize;
/**
Modified: brlcad/branches/swrast/include/bn/vectfont.h
===================================================================
--- brlcad/branches/swrast/include/bn/vectfont.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bn/vectfont.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -82,7 +82,7 @@
__END_DECLS
#endif /* BN_VECTFONT_H */
-/** @} */
+
/*
* Local Variables:
* mode: C
Modified: brlcad/branches/swrast/include/bn/vlist.h
===================================================================
--- brlcad/branches/swrast/include/bn/vlist.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bn/vlist.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -325,7 +325,7 @@
__END_DECLS
#endif /* BN_VLIST_H */
-/** @} */
+
/*
* Local Variables:
* mode: C
Modified: brlcad/branches/swrast/include/brep/curvetree.h
===================================================================
--- brlcad/branches/swrast/include/brep/curvetree.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/brep/curvetree.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -32,9 +32,11 @@
#include "common.h"
#ifdef __cplusplus
+// @cond SKIP_C++_INCLUDE
extern "C++" {
# include <map>
}
+// @endcond
#endif
#include "brep/defines.h"
Modified: brlcad/branches/swrast/include/brep/util.h
===================================================================
--- brlcad/branches/swrast/include/brep/util.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/brep/util.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -34,9 +34,11 @@
#include "bnetwork.h" /* Needed for ntohl and htonl */
#ifdef __cplusplus
+// @cond SKIP_C++_INCLUDE
extern "C++" {
# include <cstring>
}
+// @endcond
#endif
Modified: brlcad/branches/swrast/include/bu/app.h
===================================================================
--- brlcad/branches/swrast/include/bu/app.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/app.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -38,8 +38,8 @@
*
*/
/** @{ */
+/** @file bu/app.h */
-
/**
* DEPRECATED: This routine is replaced by bu_getcwd().
* Do not use.
@@ -228,22 +228,22 @@
typedef enum {
- BU_DIR_CURR=1, /* (unknown) current working directory */
- BU_DIR_INIT, /* (unknown) initial working directory */
- BU_DIR_BIN, /* (read-only) user executables (bin) */
- BU_DIR_LIB, /* (read-only) object libraries (lib) */
- BU_DIR_LIBEXEC, /* (read-only) object libraries (libexec) */
- BU_DIR_INCLUDE, /* (read-only) C/C++ header files (include) */
- BU_DIR_DATA, /* (read-only) data files (share) */
- BU_DIR_DOC, /* (read-only) documentation, (DATA/doc) */
- BU_DIR_MAN, /* (read-only) manual pages, (DATA/man) */
- BU_DIR_TEMP, /* (read/write) temporary files (TEMP) */
- BU_DIR_HOME, /* (read/write) user home directory (HOME) */
- BU_DIR_CACHE, /* (read/write) user cache directory (BU_CACHE_DIR) */
- BU_DIR_CONFIG, /* (read/write) user config directory (HOME/.app) */
- BU_DIR_EXT, /* (n/a) optional executable extension */
- BU_DIR_LIBEXT, /* (n/a) optional library extension */
- BU_DIR_END
+ BU_DIR_CURR=1, /**< (unknown) current working directory */
+ BU_DIR_INIT, /**< (unknown) initial working directory */
+ BU_DIR_BIN, /**< (read-only) user executables (bin) */
+ BU_DIR_LIB, /**< (read-only) object libraries (lib) */
+ BU_DIR_LIBEXEC, /**< (read-only) object libraries (libexec) */
+ BU_DIR_INCLUDE, /**< (read-only) C/C++ header files (include) */
+ BU_DIR_DATA, /**< (read-only) data files (share) */
+ BU_DIR_DOC, /**< (read-only) documentation, (DATA/doc) */
+ BU_DIR_MAN, /**< (read-only) manual pages, (DATA/man) */
+ BU_DIR_TEMP, /**< (read/write) temporary files (TEMP) */
+ BU_DIR_HOME, /**< (read/write) user home directory (HOME) */
+ BU_DIR_CACHE, /**< (read/write) user cache directory (BU_CACHE_DIR) */
+ BU_DIR_CONFIG, /**< (read/write) user config directory (HOME/.app) */
+ BU_DIR_EXT, /**< (n/a) optional executable extension */
+ BU_DIR_LIBEXT, /**< (n/a) optional library extension */
+ BU_DIR_END /**< always the last entry, for iterators */
} bu_dir_t;
Modified: brlcad/branches/swrast/include/bu/color.h
===================================================================
--- brlcad/branches/swrast/include/bu/color.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/color.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -30,8 +30,6 @@
__BEGIN_DECLS
-/*----------------------------------------------------------------------*/
-
/** @addtogroup bu_color
* @brief
* Support for storing and manipulating color data.
@@ -74,7 +72,7 @@
-/* random color generating methods */
+/** random color generating methods */
typedef enum {
BU_COLOR_RANDOM = 0,
BU_COLOR_RANDOM_LIGHTENED
@@ -94,7 +92,7 @@
#if 0
-/*
+/**
* Refactoring points:
* color command (set specified color)
* src/libged/color.c
Modified: brlcad/branches/swrast/include/bu/column.h
===================================================================
--- brlcad/branches/swrast/include/bu/column.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/column.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -53,7 +53,8 @@
#define BU_COLUMN_ALL -1
-/* Generate an output string based on the specified layout and contents in the
+/**
+ * Generate an output string based on the specified layout and contents in the
* bu_column_state s. Return the number of items printed, or -1 if there is
* an error.
*
@@ -74,7 +75,8 @@
* Row suffix: none
* Fill order: column first
*
- * */
+ *
+ */
BU_EXPORT extern int bu_column_print(struct bu_vls *o, struct bu_column_state
*s);
/**
Modified: brlcad/branches/swrast/include/bu/defines.h
===================================================================
--- brlcad/branches/swrast/include/bu/defines.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/defines.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -69,22 +69,6 @@
#endif /* DIR_SEPARATOR */
/**
- * Maximum length of a filesystem path. Typically defined in a system
- * file but if it isn't set, we create it.
- */
-#ifndef MAXPATHLEN
-# ifdef PATH_MAX
-# define MAXPATHLEN PATH_MAX
-# else
-# ifdef _MAX_PATH
-# define MAXPATHLEN _MAX_PATH
-# else
-# define MAXPATHLEN 1024
-# endif
-# endif
-#endif
-
-/**
* set to the path list separator character
*/
#if defined(PATH_SEPARATOR)
Modified: brlcad/branches/swrast/include/bu/dylib.h
===================================================================
--- brlcad/branches/swrast/include/bu/dylib.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/dylib.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -57,7 +57,7 @@
BU_EXPORT extern int bu_dlclose(void *handle);
BU_EXPORT extern const char *bu_dlerror(void);
-/** } */
+/** @} */
__END_DECLS
Modified: brlcad/branches/swrast/include/bu/endian.h
===================================================================
--- brlcad/branches/swrast/include/bu/endian.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/endian.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -36,9 +36,9 @@
typedef enum {
- BU_LITTLE_ENDIAN = 1234, /* LSB first: i386, VAX order */
- BU_BIG_ENDIAN = 4321, /* MSB first: 68000, IBM, network order */
- BU_PDP_ENDIAN = 3412 /* LSB first in word, MSW first in long */
+ BU_LITTLE_ENDIAN = 1234, /**< LSB first: i386, VAX order */
+ BU_BIG_ENDIAN = 4321, /**< MSB first: 68000, IBM, network order */
+ BU_PDP_ENDIAN = 3412 /**< LSB first in word, MSW first in long */
} bu_endian_t;
Modified: brlcad/branches/swrast/include/bu/file.h
===================================================================
--- brlcad/branches/swrast/include/bu/file.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/file.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -166,8 +166,10 @@
/**
* Windows corecrt_io.h defines an lseek and an _lseeki64, with different
function
- * signatures, that cause trouble when we try to simply #define lseek
_lseeki64.
+ * signatures, that cause trouble when we try to simply define it à la:
*
+ * #define lseek _lseeki64.
+ *
* Similarly, _ftelli64 has a problematic signature.
*/
BU_EXPORT int bu_fseek(FILE *stream, b_off_t offset, int origin);
Modified: brlcad/branches/swrast/include/bu/glob.h
===================================================================
--- brlcad/branches/swrast/include/bu/glob.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/glob.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -29,7 +29,7 @@
__BEGIN_DECLS
-/** @addtogroup bu_glob
+/** @addtogroup bu_experimental
*
* NOTE - the glob API below is a work in progress - until this notice is
* removed it should not be considered functional, much less stable!
@@ -67,10 +67,10 @@
*/
struct bu_glob_context {
-#define BU_GLOB_APPEND 0x0001 /* Append to output from previous call. */
-#define BU_GLOB_NOSORT 0x0020 /* Don't sort. */
-#define BU_GLOB_NOESCAPE 0x2000 /* Disable backslash escaping. */
-#define BU_GLOB_ALTDIRFUNC 0x0040 /* use alternate functions. */
+#define BU_GLOB_APPEND 0x0001 /**< Append to output from previous call. */
+#define BU_GLOB_NOSORT 0x0020 /**< Don't sort. */
+#define BU_GLOB_NOESCAPE 0x2000 /**< Disable backslash escaping. */
+#define BU_GLOB_ALTDIRFUNC 0x0040 /**< use alternate functions. */
int gl_flags; /**< flags customizing globbing behavior */
/* Return values */
@@ -88,8 +88,8 @@
int (*gl_lstat)(const char *, struct bu_stat *, struct bu_glob_context *);
int (*gl_stat)(const char *, struct bu_stat *, struct bu_glob_context *);
-#define BU_GLOB_NOMATCH (-1) /* No match. */
-#define BU_GLOB_ABORTED (-2) /* Unignored error. */
+#define BU_GLOB_NOMATCH (-1) /**< No match. */
+#define BU_GLOB_ABORTED (-2) /**< Unignored error. */
int (*gl_errfunc)(const char *, int, struct bu_glob_context *);
/* For caller use */
Modified: brlcad/branches/swrast/include/bu/interrupt.h
===================================================================
--- brlcad/branches/swrast/include/bu/interrupt.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bu/interrupt.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -28,7 +28,7 @@
__BEGIN_DECLS
-/** @addtogroup bu_interrupt
+/** @addtogroup bu_env
*
* @brief Routines for managing signals.
*
Modified: brlcad/branches/swrast/include/bu/mime.h
===================================================================
--- brlcad/branches/swrast/include/bu/mime.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/mime.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -29,11 +29,10 @@
__BEGIN_DECLS
-
-/**
- * @addtogroup bu_mime
+/** @addtogroup bu_mime
*
- * @brief Functions generated by the mime.cmake script - see the
+ * @brief
+ * Functions generated by the mime.cmake script - see the
* generated files mime.c and mime_types.h for the resulting C code
* and mime type declarations
*
@@ -46,11 +45,11 @@
* the majority of geometry formats) are added there instead of
* changing mime.types.
*/
-/** { */
+/** @{ */
+/** @file bu/mime.h */
-
/**
- * Use the file extension to attempt to determine the media type
+ * @brief Use the file extension to attempt to determine the media type
* of the file within the specified context.
*
* returns -1 if no match was found, or an integer if a result
@@ -61,7 +60,7 @@
/**
- * Given a mime type and a context, return the file extension(s)
+ * @brief Given a mime type and a context, return the file extension(s)
* associated with that type.
*
* returns NULL if no match was found, or a comma separated string
@@ -72,7 +71,7 @@
/**
- * Given a mime type and a context, return a human readable string
+ * @brief Given a mime type and a context, return a human readable string
* spelling out the type (corresponding to the enum string in
* source code.)
*
@@ -83,7 +82,7 @@
/**
- * Given a string produced by bu_file_mime_str, convert it back into
+ * @brief Given a string produced by bu_file_mime_str, convert it back into
* integer form.
*
* returns -1 if no match was found, or an integer if a result
Modified: brlcad/branches/swrast/include/bu/parallel.h
===================================================================
--- brlcad/branches/swrast/include/bu/parallel.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/bu/parallel.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -18,10 +18,6 @@
* information.
*/
-/** @ingroup parallel */
-/** @{ */
-/** @file include/bu/parallel.h */
-/** @} */
#ifndef BU_PARALLEL_H
#define BU_PARALLEL_H
@@ -33,7 +29,7 @@
__BEGIN_DECLS
-/** @addtogroup bu_thread
+/** @addtogroup bu_parallel
* @brief
* Thread based parallelism routines.
*/
Modified: brlcad/branches/swrast/include/bu/process.h
===================================================================
--- brlcad/branches/swrast/include/bu/process.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/process.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -18,10 +18,6 @@
* information.
*/
-/** @ingroup process */
-/** @{ */
-/** @file include/bu/process.h */
-/** @} */
#ifndef BU_PROCESS_H
#define BU_PROCESS_H
@@ -32,6 +28,14 @@
__BEGIN_DECLS
+/** @addtogroup bu_process
+ *
+ * @brief
+ * Routines for process and sub-process management.
+ */
+/** @{ */
+/** @file bu/process.h */
+
/**
* returns the process ID of the calling process
*/
Modified: brlcad/branches/swrast/include/bu/tbl.h
===================================================================
--- brlcad/branches/swrast/include/bu/tbl.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/tbl.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -38,7 +38,7 @@
/** @{ */
/** @file bu/tbl.h */
-/*
+/**
* this is pulled from num.c where the guts to the table printer
* currently resides, moved here for easy reference.
*
Modified: brlcad/branches/swrast/include/bu/vls.h
===================================================================
--- brlcad/branches/swrast/include/bu/vls.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/bu/vls.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -548,6 +548,12 @@
* @param[in] incr_spec Optional - string of colon separated
* parameters defining function behavior.
*
+ * @param[in] uniq_test Optional - uniqueness testing function.
+ *
+ * @param[in] data Optional - data to pass to the uniq_test
+ * function call.
+ *
+ *
* @section bu_vls_incr_regexp Incrementer Substring Identification
*
* bu_vls_incr uses regular expressions to identify the numerical part
Modified: brlcad/branches/swrast/include/common.h
===================================================================
--- brlcad/branches/swrast/include/common.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/common.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -227,6 +227,23 @@
#endif
/**
+ * Maximum length of a filesystem path. Typically defined in a system
+ * file but if it isn't set, we create it.
+ */
+#ifndef MAXPATHLEN
+# include <limits.h> // Consistently define (or not) PATH_MAX
+# ifdef PATH_MAX
+# define MAXPATHLEN PATH_MAX
+# elif defined(MAX_PATH)
+# define MAXPATHLEN MAX_PATH
+# elif defined(_MAX_PATH)
+# define MAXPATHLEN _MAX_PATH
+# else
+# define MAXPATHLEN 2048
+# endif
+#endif
+
+/**
* Provide a means to conveniently test the version of the GNU
* compiler. Use it like this:
*
@@ -466,8 +483,10 @@
/**
* Provide canonical preprocessor stringification.
*
- * #define abc 123
- * CPP_STR(abc) => "abc"
+ @code
+ * #define abc 123
+ * CPP_STR(abc) => "abc"
+ @endcode
*/
#ifndef CPP_STR
# define CPP_STR(x) # x
@@ -476,8 +495,10 @@
/**
* Provide canonical preprocessor expanded stringification.
*
- * #define abc 123
- * CPP_XSTR(abc) => "123"
+ @code
+ * #define abc 123
+ * CPP_XSTR(abc) => "123"
+ @endcode
*/
#ifndef CPP_XSTR
# define CPP_XSTR(x) CPP_STR(x)
@@ -486,12 +507,14 @@
/**
* Provide canonical preprocessor concatenation.
*
- * #define abc 123
- * CPP_GLUE(abc, 123) => abc123
- * CPP_STR(CPP_GLUE(abc, 123)) => "CPP_GLUE(abc, 123)"
- * CPP_XSTR(CPP_GLUE(abc, 123)) => "abc123"
- * #define abc123 "xyz"
- * CPP_GLUE(abc, 123) => abc123 => "xyz"
+ @code
+ * #define abc 123
+ * CPP_GLUE(abc, 123) => abc123
+ * CPP_STR(CPP_GLUE(abc, 123)) => "CPP_GLUE(abc, 123)"
+ * CPP_XSTR(CPP_GLUE(abc, 123)) => "abc123"
+ * #define abc123 "xyz"
+ * CPP_GLUE(abc, 123) => abc123 => "xyz"
+ @endcode
*/
#ifndef CPP_GLUE
# define CPP_GLUE(a, b) a ## b
@@ -500,10 +523,12 @@
/**
* Provide canonical preprocessor expanded concatenation.
*
- * #define abc 123
- * CPP_XGLUE(abc, 123) => 123123
- * CPP_STR(CPP_XGLUE(abc, 123)) => "CPP_XGLUE(abc, 123)"
- * CPP_XSTR(CPP_XGLUE(abc, 123)) => "123123"
+ @code
+ * #define abc 123
+ * CPP_XGLUE(abc, 123) => 123123
+ * CPP_STR(CPP_XGLUE(abc, 123)) => "CPP_XGLUE(abc, 123)"
+ * CPP_XSTR(CPP_XGLUE(abc, 123)) => "123123"
+ @endcode
*/
#ifndef CPP_XGLUE
# define CPP_XGLUE(a, b) CPP_GLUE(a, b)
@@ -512,9 +537,11 @@
/**
* Provide format specifier string tied to a size (e.g., "%123s")
*
- * #define STR_LEN 10+1
- * char str[STR_LEN] = {0};
- * scanf(CPP_SCANSIZE(STR_LEN) "\n", str);
+ @code
+ * #define STR_LEN 10+1
+ * char str[STR_LEN] = {0};
+ * scanf(CPP_SCANSIZE(STR_LEN) "\n", str);
+ @endcode
*/
#ifndef CPP_SCAN
# define CPP_SCAN(sz) "%" CPP_XSTR(sz) "s"
Modified: brlcad/branches/swrast/include/gcv/api.h
===================================================================
--- brlcad/branches/swrast/include/gcv/api.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/gcv/api.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -139,10 +139,14 @@
/* operation type */
const enum gcv_filter_type filter_type;
- /* If we have a definite type this converter is known to handle, call
- * it out here.
- * MIME_MODEL_UNKNOWN if 'filter_type' is GCV_FILTER_FILTER or
- * if the plugin is a multi-format I/O plugin */
+ /* If we have a specific model type this converter is known to
+ * handle, call it out here. Use BU_MIME_MODEL_UNKNOWN if
+ * 'filter_type' is GCV_FILTER_FILTER or if the plugin is a
+ * multi-format I/O plugin.
+ *
+ * FIXME: input/output plugins conceivably could be something
+ * other than geometry (e.g., png input or csv output).
+ */
const bu_mime_model_t mime_type;
/* For plugins supporting multiple file types, call this to
Modified: brlcad/branches/swrast/include/ged/commands.h
===================================================================
--- brlcad/branches/swrast/include/ged/commands.h 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/include/ged/commands.h 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -17,7 +17,7 @@
* License along with this file; see the file named COPYING for more
* information.
*/
-/** @addtogroup ged_commands
+/** @addtogroup libged
*
* Geometry EDiting Library Commands
*
@@ -24,6 +24,7 @@
*/
/** @{ */
/** @file ged/commands.h */
+/** @} */
#ifndef GED_COMMANDS_H
#define GED_COMMANDS_H
@@ -34,9 +35,14 @@
__BEGIN_DECLS
-/* Execute plugin based command */
+/** @addtogroup ged_plugins */
+/** @{ */
+/** Execute plugin based command */
GED_EXPORT extern int ged_exec(struct ged *gedp, int argc, const char *argv[]);
+/** @} */
+/** @addtogroup ged_objects */
+/** @{ */
/**
* Adjust object's attribute(s)
*/
@@ -43,7 +49,8 @@
GED_EXPORT extern int ged_adjust(struct ged *gedp, int argc, const char
*argv[]);
/**
- * Set, get, show, remove or append to attribute values for the specified
object.
+ * @brief Set, get, show, remove or append to attribute values for the
specified object.
+ *
* The arguments for "set" and "append" subcommands are attribute name/value
pairs.
* The arguments for "get", "rm", and "show" subcommands are attribute names.
* The "set" subcommand sets the specified attributes for the object.
@@ -285,7 +292,8 @@
/**
- * Manipulate opaque binary objects.
+ * @brief Manipulate opaque binary objects.
+ *
* Must specify one of -i (for creating or adjusting objects (input))
* or -o for extracting objects (output).
* If the major type is "u" the minor type must be one of:
@@ -818,14 +826,14 @@
*/
GED_EXPORT int ged_pnts(struct ged *gedp, int argc, const char *argv[]);
+/** @} */
+
__END_DECLS
#endif /* GED_COMMANDS_H */
-/** @} */
-
/*
* Local Variables:
* tab-width: 8
Modified: brlcad/branches/swrast/include/ged.h
===================================================================
--- brlcad/branches/swrast/include/ged.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/ged.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -60,9 +60,13 @@
#include "ged/debug.h"
#include "ged/rt.h"
+/** @} */
__BEGIN_DECLS
+/** @addtogroup ged_misc */
+/** @{ */
+
/**
* Delay the specified amount of time
*/
@@ -83,7 +87,10 @@
*/
GED_EXPORT extern int ged_help(struct ged *gedp, int argc, const char *argv[]);
+/** @} */
+/** @addtogroup libged */
+/** @{ */
/***************************************
* Conceptual Documentation for LIBGED *
***************************************
Modified: brlcad/branches/swrast/include/rt/calc.h
===================================================================
--- brlcad/branches/swrast/include/rt/calc.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/rt/calc.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -17,11 +17,12 @@
* License along with this file; see the file named COPYING for more
* information.
*/
-/**
+/** @addtogroup raytrace */
+/** @{ */
+/** @file rt/calc.h
* @brief
* In memory format for non-geometry objects in BRL-CAD databases.
*/
-/** @file rt/calc.h */
#ifndef RT_CALC_H
#define RT_CALC_H
Modified: brlcad/branches/swrast/include/rt/geom.h
===================================================================
--- brlcad/branches/swrast/include/rt/geom.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/rt/geom.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -954,7 +954,7 @@
#define RT_PNTS_CK_MAGIC(_p) BU_CKMAG(_p, RT_PNTS_INTERNAL_MAGIC,
"rt_pnts_internal")
/** @} */
-/** @addtogroup rt_anno */
+/** @addtogroup rt_annotation */
/** @{ */
/*
* ID_ANNO
Modified: brlcad/branches/swrast/include/rt/primitives/annot.h
===================================================================
--- brlcad/branches/swrast/include/rt/primitives/annot.h 2020-09-08
17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/include/rt/primitives/annot.h 2020-09-08
19:25:40 UTC (rev 77084)
@@ -17,7 +17,7 @@
* License along with this file; see the file named COPYING for more
* information.
*/
-/** @addtogroup rt_annot */
+/** @addtogroup rt_annotation */
/** @{ */
/** @file rt/primitives/annot.h */
Modified: brlcad/branches/swrast/include/tclcad.h
===================================================================
--- brlcad/branches/swrast/include/tclcad.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/tclcad.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -518,7 +518,9 @@
* Tcl specific I/O handlers
*/
struct tclcad_io_data {
- Tcl_Channel chan;
+ Tcl_Channel chan_stdin;
+ Tcl_Channel chan_stdout;
+ Tcl_Channel chan_stderr;
Tcl_Interp *interp;
int io_mode;
};
Modified: brlcad/branches/swrast/include/wdb.h
===================================================================
--- brlcad/branches/swrast/include/wdb.h 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/include/wdb.h 2020-09-08 19:25:40 UTC (rev
77084)
@@ -500,11 +500,9 @@
* into normals array), must
* have 3*num_faces entries
*/
- size_t num_uvs, /* number of uv texture coordinates in uvs array */
- fastf_t *uvs, /* array of floats for uv texture coordinates [num_uvs*3]
*/
- int *face_uvs /* array of ints (indices into uvs array),
- * must have 3*num_faces entries
- */
+ size_t num_uvs, /**< number of uv texture coordinates in uvs array */
+ fastf_t *uvs, /**< array of floats for uv texture coordinates
[num_uvs*3] */
+ int *face_uvs /**< array of ints (indices into uvs array), must have
3*num_faces entries */
);
/**
Modified: brlcad/branches/swrast/misc/CMake/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/misc/CMake/CMakeLists.txt 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/CMake/CMakeLists.txt 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -28,6 +28,7 @@
FindIlmBase.cmake
FindLEMON.cmake
FindNETPBM.cmake
+ FindNSIS.cmake
FindOPENNURBS.cmake
FindOSL.cmake
FindOpenCL.cmake
@@ -46,6 +47,7 @@
FindUTAHRLE.cmake
FindUUID.cmake
FindVDS.cmake
+ FindWix.cmake
FindX11.cmake
FindXMLLINT.cmake
FindXSLTPROC.cmake
Copied: brlcad/branches/swrast/misc/CMake/FindNSIS.cmake (from rev 77083,
brlcad/trunk/misc/CMake/FindNSIS.cmake)
===================================================================
--- brlcad/branches/swrast/misc/CMake/FindNSIS.cmake
(rev 0)
+++ brlcad/branches/swrast/misc/CMake/FindNSIS.cmake 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -0,0 +1,32 @@
+#-------------------------------------------------------------------
+# This file is based on the Wix module from the CMake build system
+# for OGRE (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find Nullsoft Scriptable Install System (NSIS)
+# You can help this by defining NSIS_HOME in the environment / CMake
+# Once done, this will define
+#
+# NSIS_FOUND - system has NSIS
+# NSIS_BINARY_DIR - location of the NSIS binaries
+
+include(FindPkgMacros)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(NSIS_HOME)
+
+# construct search paths
+set(NSIS_PREFIX_PATH ${NSIS_HOME} ${ENV_NSIS_HOME}
+ "C:/Program Files (x86)/NSIS"
+)
+find_path(NSIS_BINARY_DIR NAMES makensis.exe HINTS ${NSIS_PREFIX_PATH}
PATH_SUFFIXES bin)
+
+if(NSIS_BINARY_DIR)
+ set (NSIS_FOUND TRUE)
+endif()
+
+mark_as_advanced(NSIS_BINARY_DIR NSIS_FOUND)
Copied: brlcad/branches/swrast/misc/CMake/FindWix.cmake (from rev 77083,
brlcad/trunk/misc/CMake/FindWix.cmake)
===================================================================
--- brlcad/branches/swrast/misc/CMake/FindWix.cmake
(rev 0)
+++ brlcad/branches/swrast/misc/CMake/FindWix.cmake 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -0,0 +1,34 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find Wix
+# You can help this by defining WIX_HOME in the environment / CMake
+# Once done, this will define
+#
+# Wix_FOUND - system has Wix
+# Wix_BINARY_DIR - location of the Wix binaries
+
+include(FindPkgMacros)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(WIX_HOME)
+
+# Find version specific paths
+file(GLOB WIX_PATHS LIST_DIRECTORIES TRUE "C:/Program Files*/WiX Toolset*")
+
+# construct search paths
+set(WIX_PREFIX_PATH ${WIX_HOME} ${ENV_WIX_HOME} ${WIX_PATHS})
+
+find_path(Wix_BINARY_DIR NAMES candle.exe HINTS ${WIX_PREFIX_PATH}
PATH_SUFFIXES bin)
+
+if(Wix_BINARY_DIR)
+ set (Wix_FOUND TRUE)
+endif()
+
+mark_as_advanced(Wix_BINARY_DIR Wix_FOUND)
Modified: brlcad/branches/swrast/misc/doxygen/Doxyfile.in
===================================================================
--- brlcad/branches/swrast/misc/doxygen/Doxyfile.in 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/doxygen/Doxyfile.in 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -1656,11 +1656,7 @@
EXTERNAL_PAGES = YES
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-PERL_PATH = /usr/bin/perl
-
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
@@ -1673,15 +1669,6 @@
CLASS_DIAGRAMS = NO
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
# If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented
# or is not a class.
@@ -1846,7 +1833,7 @@
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-DOT_GRAPH_MAX_NODES = 50
+DOT_GRAPH_MAX_NODES = 300
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable
Modified: brlcad/branches/swrast/misc/doxygen/libbg.dox
===================================================================
--- brlcad/branches/swrast/misc/doxygen/libbg.dox 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/doxygen/libbg.dox 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -2,22 +2,34 @@
/** @defgroup libbg libbg (Geometric Algorithms) */
/* Second tier groups */
- /** @ingroup libbg */
+/** @ingroup libbg */
/** @defgroup bg_defines Definitions*/
- /** @ingroup libbg */
- /** @defgroup tri Triangles */
-/** @ingroup tri */
- /** @defgroup tri_ray Triangle/Ray Intersection Tests */
-/** @ingroup tri */
- /** @defgroup tri_tri Triangle/Triangle Intersection Tests */
-/** @ingroup tri */
- /** @defgroup trimesh Triangle Mesh Algorithms */
- /** @ingroup libbg */
- /** @defgroup polygon Polygons */
- /** @ingroup libbg */
- /** @defgroup chull Convex Hulls */
- /** @ingroup libbg */
- /** @defgroup obr Oriented Bounding Rectangles/Rectangular Cuboids*/
- /** @ingroup libbg */
- /** @defgroup pointgen Point Generation*/
+/** @ingroup libbg */
+/** @defgroup bg_pointgen Point Generation*/
+/** @ingroup libbg */
+/** @defgroup bg_lseg Line Segments */
+/** @ingroup libbg */
+/** @defgroup bg_tri Triangles */
+/** @ingroup bg_tri */
+/** @defgroup bg_tri_pt Closest Point on Triangle */
+/** @ingroup bg_tri */
+/** @defgroup bg_tri_ray Triangle/Ray Intersection Tests */
+/** @ingroup bg_tri */
+/** @defgroup bg_tri_tri Triangle/Triangle Intersection Tests */
+/** @ingroup bg_tri */
+/** @defgroup bg_trimesh Triangle Mesh Algorithms */
+/** @ingroup libbg */
+/** @defgroup bg_obr Oriented Bounding Rectangles/Rectangular Cuboids*/
+/** @ingroup libbg */
+/** @defgroup bg_polygon Polygons */
+/** @ingroup libbg */
+/** @defgroup bg_aabb Axis Aligned Bounding Boxes */
+/** @ingroup bg_aabb */
+/** @defgroup bg_aabb_ray AABB/Ray Intersection Tests */
+/** @ingroup libbg */
+/** @defgroup bg_chull Convex Hulls */
+/** @ingroup libbg */
+/** @defgroup bg_surf_recon Surface Reconstruction */
+/** @ingroup bg_surf_recon */
+/** @defgroup bg_surf_recon_spsr Screened Poisson Surface Reconstruction */
Modified: brlcad/branches/swrast/misc/doxygen/libbn.dox
===================================================================
--- brlcad/branches/swrast/misc/doxygen/libbn.dox 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/doxygen/libbn.dox 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -38,6 +38,8 @@
/** @defgroup bn_rmt Mersenne Twister */
/** @ingroup bn_rand */
/** @defgroup bn_rnt Random Number Tables */
+ /** @ingroup bn_rand */
+ /** @defgroup bn_sobol Sobol quasi-random low-discrepancy sequences of
numbers */
/** @ingroup libbn */
/** @defgroup bn_plane Point/Line/Plane Geometry Math */
/** @ingroup libbn */
Modified: brlcad/branches/swrast/misc/doxygen/libbu.dox
===================================================================
--- brlcad/branches/swrast/misc/doxygen/libbu.dox 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/doxygen/libbu.dox 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -6,11 +6,26 @@
/** @defgroup bu_defines Definitions*/
/** @ingroup libbu */
+/** @defgroup bu_app Applications */
+/** @addtogroup bu_app
+ @brief Routines for application setup and supplying information to user
programs.
+ */
+/** @ingroup libbu */
+/** @defgroup bu_process Subprocess Management */
+/** @addtogroup bu_process
+ @brief Routines for launching and managing applications as subprocesses.
+ */
+/** @ingroup libbu */
/** @defgroup bu_container Data Containers */
/** @addtogroup bu_container
@brief Containers for holding various kinds of information.
*/
/** @ingroup libbu */
+/** @defgroup bu_dylib Dynamic Libraries*/
+/** @addtogroup bu_dylib
+ @brief Wrap platform-specific functionality for managing dynamic library
run-time loading, symbol access and unloading.
+ */
+/** @ingroup libbu */
/** @defgroup bu_memory Memory Management */
/** @addtogroup bu_memory
@brief Wrappers for memory allocation and release, and mapping.
@@ -50,6 +65,12 @@
/** @ingroup libbu */
/** @defgroup bu_version Version */
+/** @ingroup libbu */
+/** @defgroup bu_experimental EXPERIMENTAL */
+/** @addtogroup bu_experimental
+ @brief In-progress API, not ready for general use.
+ */
+
/* Data Containers */
/** @ingroup bu_container */
/** @defgroup bu_avs Attribute/Value Sets */
@@ -96,6 +117,8 @@
/** @ingroup bu_io */
/** @defgroup bu_log Logging */
/** @ingroup bu_io */
+/** @defgroup bu_tbl Tabular Printing */
+/** @ingroup bu_io */
/** @defgroup bu_observer Observer*/
/** @ingroup bu_io */
/** @defgroup bu_vfont Vector Fonts */
@@ -106,6 +129,8 @@
/** @ingroup bu_data */
/** @defgroup bu_conv Data Conversion */
/** @ingroup bu_data */
+/** @defgroup bu_mime Mime Types */
+/** @ingroup bu_data */
/** @defgroup bu_hist Histogram Handling */
/** @ingroup bu_data */
/** @defgroup bu_sort Sorting Algorithms */
Modified: brlcad/branches/swrast/misc/doxygen/libged.dox
===================================================================
--- brlcad/branches/swrast/misc/doxygen/libged.dox 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/doxygen/libged.dox 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -5,6 +5,8 @@
/** @ingroup libged */
/** @defgroup ged_defines Definitions*/
/** @ingroup libged */
+/** @defgroup ged_plugins Plugins */
+/** @ingroup libged */
/** @defgroup ged_database Database*/
/** @ingroup libged */
/** @defgroup ged_objects Database Objects*/
@@ -18,6 +20,8 @@
/** @defgroup ged_debug Debugging */
/** @ingroup libged */
/** @defgroup ged_raytrace Raytracing */
+/** @ingroup libged */
+/** @defgroup ged_misc Miscellaneous */
/* Third tier groups */
/** @ingroup ged_view */
Modified: brlcad/branches/swrast/misc/tools/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/misc/tools/CMakeLists.txt 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/tools/CMakeLists.txt 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -192,6 +192,10 @@
SetTargetFolder(debug2c "Compilation Utilities")
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/debug2c/Makefile)
+# inactvhdrs - utility that tries to find local headers unused by other
+# source code in a file hierarchy
+CMAKEFILES(inactvhdrs/inactvhdrs.cpp)
+
CMAKEFILES(README)
CMAKEFILES(CMakeLists.txt)
Modified: brlcad/branches/swrast/misc/tools/dom2dox/Doxyfile
===================================================================
--- brlcad/branches/swrast/misc/tools/dom2dox/Doxyfile 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/misc/tools/dom2dox/Doxyfile 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -1639,11 +1639,7 @@
EXTERNAL_GROUPS = YES
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-PERL_PATH = /usr/bin/perl
-
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
@@ -1656,15 +1652,6 @@
CLASS_DIAGRAMS = YES
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
# If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented
# or is not a class.
Modified: brlcad/branches/swrast/misc/wix/brlcad_banner.bmp
===================================================================
(Binary files differ)
Modified: brlcad/branches/swrast/misc/wix/brlcad_dialog.bmp
===================================================================
(Binary files differ)
Modified: brlcad/branches/swrast/src/archer/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/src/archer/CMakeLists.txt 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/src/archer/CMakeLists.txt 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -16,7 +16,14 @@
# If/when we add MGED's ability to work in "classic" mode, Archer will have
# to be built as a non-GUI application (or we'll have to build two executables)
if(BRLCAD_ENABLE_TK)
- BRLCAD_ADDEXEC(archer archer.c "${archer_libs}" GUI)
+ set(archer_srcs archer.c)
+ if (HAVE_WINDOWS_H)
+ # To associate an icon with the application for Windows (needed
+ # for the WiX installer) we must use an rc file.
+ enable_language(RC)
+ set(archer_srcs ${archer_srcs} archer.rc)
+ endif (HAVE_WINDOWS_H)
+ BRLCAD_ADDEXEC(archer "${archer_srcs}" "${archer_libs}" GUI)
add_dependencies(archer archer_launch_tcl_cp)
add_dependencies(archer rtwizard)
ADD_TARGET_DEPS(archer Tkhtml Tktable itcl_pkgIndex itk_pkgIndex dm_plugins)
@@ -24,6 +31,14 @@
foreach(item ${tclindex_target_list})
add_dependencies(archer ${item})
endforeach(item ${tclindex_target_list})
+
+ # Archer is one of the programs that gets a start menu entry
+ set_property(INSTALL "${BIN_DIR}/$<TARGET_FILE_NAME:archer>"
+ PROPERTY CPACK_START_MENU_SHORTCUTS "Archer ${BRLCAD_VERSION}"
+ )
+ set_property(INSTALL "${BIN_DIR}/$<TARGET_FILE_NAME:archer>"
+ PROPERTY CPACK_DESKTOP_SHORTCUTS "Archer ${BRLCAD_VERSION}"
+ )
endif(BRLCAD_ENABLE_TK)
@@ -65,6 +80,8 @@
CMakeLists.txt
TODO
archer.c
+ archer.rc
+ archer.ico
)
CMAKEFILES(${archer_ignore_files})
Copied: brlcad/branches/swrast/src/archer/archer.ico (from rev 77083,
brlcad/trunk/src/archer/archer.ico)
===================================================================
(Binary files differ)
Copied: brlcad/branches/swrast/src/archer/archer.rc (from rev 77083,
brlcad/trunk/src/archer/archer.rc)
===================================================================
--- brlcad/branches/swrast/src/archer/archer.rc (rev 0)
+++ brlcad/branches/swrast/src/archer/archer.rc 2020-09-08 19:25:40 UTC (rev
77084)
@@ -0,0 +1,11 @@
+#include <windows.h>
+
+//
+// Icon
+//
+// The icon whose name or resource ID is lexigraphically first, is used
+// as the application's icon.
+//
+
+app ICON DISCARDABLE "archer.ico"
+
Modified: brlcad/branches/swrast/src/external/Creo/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/src/external/Creo/CMakeLists.txt 2020-09-08
17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/src/external/Creo/CMakeLists.txt 2020-09-08
19:25:40 UTC (rev 77084)
@@ -81,12 +81,9 @@
endif(NOT "${CMAKE_GENERATOR_TOOLSET}" STREQUAL "v110_xp")
endif("${CREO_VERSION}" VERSION_GREATER "2.9999" AND "${CREO_VERSION}"
VERSION_LESS "4.0")
- # There will be a sub-directory that is specific to the installed
+ # There may be a sub-directory that is specific to the installed
# version of CREO - find it
file(GLOB MDIR RELATIVE "${CREO_ROOT_DIR}" "${CREO_ROOT_DIR}/M*" )
- if(NOT MDIR)
- message(FATAL_ERROR "No directory matching the pattern M* found in
${CREO_ROOT_DIR}. This may indicate the CREO installation directory
conventions have changed - if so, the CMakeLists.txt file will need to be
updated to reflect the new path structures.")
- endif(NOT MDIR)
# Define a variable for the current CREO platform
set(CREO_OS_VERSION x86e_win64)
@@ -207,17 +204,16 @@
libbn
libbrep
libbu
- libgdiam
- liblz4
libnmg
- libp2t
librt
- libvds
libwdb
+ SPSR
+ gdiam
openNURBS
- regex
- zlib1
- libSPSR
+ poly2tri
+ regex_brl
+ vds
+ z_brl1
)
set(BRLCAD_STATIC_LIBS)
set(brlcadlibs_notinstalled)
@@ -228,11 +224,11 @@
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
configure_file(${BRLCAD_ROOT_DIR}/bin/${blib}.dll
${CMAKE_CURRENT_BINARY_DIR}/${blib}.dll COPYONLY)
# Sigh - zlib doesn't follow the general pattern
- if("${blib}" STREQUAL "zlib1")
- set(BRLCAD_STATIC_LIBS ${BRLCAD_STATIC_LIBS}
"${BRLCAD_ROOT_DIR}/lib/zlib.lib")
- else("${blib}" STREQUAL "zlib1")
+ if("${blib}" STREQUAL "z_brl1")
+ set(BRLCAD_STATIC_LIBS ${BRLCAD_STATIC_LIBS}
"${BRLCAD_ROOT_DIR}/lib/z_brl.lib")
+ else("${blib}" STREQUAL "z_brl1")
set(BRLCAD_STATIC_LIBS ${BRLCAD_STATIC_LIBS}
"${BRLCAD_ROOT_DIR}/lib/${blib}.lib")
- endif("${blib}" STREQUAL "zlib1")
+ endif("${blib}" STREQUAL "z_brl1")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${blib}.dll DESTINATION
"${MDIR}/${CREO_OBJ_DIR}")
if(NOT EXISTS ${CREO_ROOT_DIR}/${MDIR}/${CREO_OBJ_DIR}/${blib}.dll)
set(brlcadlibs_notinstalled "${brlcadlibs_notinstalled}\n
${blib}.dll")
Index: brlcad/branches/swrast/src/libbu
===================================================================
--- brlcad/branches/swrast/src/libbu 2020-09-08 17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/src/libbu 2020-09-08 19:25:40 UTC (rev 77084)
Property changes on: brlcad/branches/swrast/src/libbu
___________________________________________________________________
Modified: svn:mergeinfo
## -2,4 +2,5 ##
/brlcad/branches/bioh/src/libbu:75720-75736,75860-75891,75894-75986,76088-76153
/brlcad/branches/brep-debug/src/libbu:69168,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
/brlcad/branches/dm-fb-merge/src/libbu:75426-76198
-/brlcad/branches/tcltk86/src/libbu:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86/src/libbu:68300-75257
+/brlcad/trunk/src/libbu:76973-77083
\ No newline at end of property
Modified: brlcad/branches/swrast/src/libbu/realpath_bsd.c
===================================================================
--- brlcad/branches/swrast/src/libbu/realpath_bsd.c 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/src/libbu/realpath_bsd.c 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -60,7 +60,7 @@
unsigned symlinks;
int serrno, mem_allocated;
ssize_t slen;
- char left[PATH_MAX], next_token[PATH_MAX], symlink[PATH_MAX];
+ char left[MAXPATHLEN], next_token[MAXPATHLEN], symlink[MAXPATHLEN];
if (path == NULL) {
errno = EINVAL;
@@ -75,7 +75,7 @@
serrno = errno;
if (resolved == NULL) {
- resolved = (char *)bu_malloc(PATH_MAX, "alloc PATH_MAX");
+ resolved = (char *)bu_malloc(MAXPATHLEN, "alloc MAXPATHLEN");
if (resolved == NULL)
return (NULL);
mem_allocated = 1;
@@ -91,11 +91,11 @@
resolved_len = 1;
left_len = bu_strlcpy(left, path + 1, sizeof(left));
} else {
- if (getcwd(resolved, PATH_MAX) == NULL) {
+ if (getcwd(resolved, MAXPATHLEN) == NULL) {
if (mem_allocated)
free(resolved);
else
- bu_strlcpy(resolved, ".", PATH_MAX);
+ bu_strlcpy(resolved, ".", MAXPATHLEN);
return (NULL);
}
resolved_len = strlen(resolved);
@@ -129,7 +129,7 @@
}
if (resolved[resolved_len - 1] != '/') {
- if (resolved_len + 1 >= PATH_MAX) {
+ if (resolved_len + 1 >= MAXPATHLEN) {
errno = ENAMETOOLONG;
goto err;
}
@@ -160,8 +160,8 @@
* it exists but isn't a symlink, or if there are no more
* path components left.
*/
- resolved_len = bu_strlcat(resolved, next_token, PATH_MAX);
- if (resolved_len >= PATH_MAX) {
+ resolved_len = bu_strlcat(resolved, next_token, MAXPATHLEN);
+ if (resolved_len >= MAXPATHLEN) {
errno = ENAMETOOLONG;
goto err;
}
Modified: brlcad/branches/swrast/src/libbu/whereami.c
===================================================================
--- brlcad/branches/swrast/src/libbu/whereami.c 2020-09-08 17:46:02 UTC (rev
77083)
+++ brlcad/branches/swrast/src/libbu/whereami.c 2020-09-08 19:25:40 UTC (rev
77084)
@@ -275,13 +275,13 @@
WAI_FUNCSPEC
int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
{
- char buffer[PATH_MAX];
+ char buffer[MAXPATHLEN];
char* resolved = NULL;
int length = -1;
for (;;)
{
- resolved = realpath(WAI_PROC_SELF_EXE, buffer);
+ resolved = bu_file_realpath(WAI_PROC_SELF_EXE, buffer);
if (!resolved)
break;
@@ -347,12 +347,12 @@
for (;;)
{
- char buffer[PATH_MAX < 1024 ? 1024 : PATH_MAX];
+ char buffer[MAXPATHLEN < 1024 ? 1024 : MAXPATHLEN];
uint64_t low, high;
char perms[5];
uint64_t offset;
uint32_t major, minor;
- char path[PATH_MAX];
+ char path[MAXPATHLEN];
uint32_t inode;
if (!bu_fgets(buffer, sizeof(buffer), maps))
@@ -366,7 +366,7 @@
{
char* resolved;
- resolved = realpath(path, buffer);
+ resolved = bu_file_realpath(path, buffer);
if (!resolved)
break;
@@ -458,8 +458,8 @@
WAI_FUNCSPEC
int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
{
- char buffer1[PATH_MAX];
- char buffer2[PATH_MAX];
+ char buffer1[MAXPATHLEN];
+ char buffer2[MAXPATHLEN];
char* path = buffer1;
char* resolved = NULL;
int length = -1;
@@ -474,7 +474,7 @@
break;
}
- resolved = realpath(path, buffer2);
+ resolved = bu_file_realpath(path, buffer2);
if (!resolved)
break;
@@ -514,7 +514,7 @@
WAI_NOINLINE WAI_FUNCSPEC
int WAI_PREFIX(getModulePath)(char* out, int capacity, int* dirname_length)
{
- char buffer[PATH_MAX];
+ char buffer[MAXPATHLEN];
char* resolved = NULL;
int length = -1;
@@ -524,7 +524,7 @@
if (dladdr(WAI_RETURN_ADDRESS(), &info))
{
- resolved = realpath(info.dli_fname, buffer);
+ resolved = bu_file_realpath(info.dli_fname, buffer);
if (!resolved)
break;
@@ -570,8 +570,8 @@
WAI_FUNCSPEC
int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
{
- char buffer1[PATH_MAX];
- char buffer2[PATH_MAX];
+ char buffer1[MAXPATHLEN];
+ char buffer2[MAXPATHLEN];
char* resolved = NULL;
FILE* self_exe = NULL;
int length = -1;
@@ -585,7 +585,7 @@
if (!bu_fgets(buffer1, sizeof(buffer1), self_exe))
break;
- resolved = realpath(buffer1, buffer2);
+ resolved = bu_file_realpath(buffer1, buffer2);
if (!resolved)
break;
@@ -624,7 +624,7 @@
WAI_FUNCSPEC
int WAI_PREFIX(getModulePath)(char* out, int capacity, int* dirname_length)
{
- char buffer[PATH_MAX];
+ char buffer[MAXPATHLEN];
char* resolved = NULL;
int length = -1;
@@ -634,7 +634,7 @@
if (dladdr(WAI_RETURN_ADDRESS(), &info))
{
- resolved = realpath(info.dli_fname, buffer);
+ resolved = bu_file_realpath(info.dli_fname, buffer);
if (!resolved)
break;
@@ -678,8 +678,8 @@
WAI_FUNCSPEC
int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
{
- char buffer1[PATH_MAX];
- char buffer2[PATH_MAX];
+ char buffer1[MAXPATHLEN];
+ char buffer2[MAXPATHLEN];
char* path = buffer1;
char* resolved = NULL;
int length = -1;
@@ -696,7 +696,7 @@
if (sysctl(mib, (u_int)(sizeof(mib) / sizeof(mib[0])), path, &size, NULL,
0) != 0)
break;
- resolved = realpath(path, buffer2);
+ resolved = bu_file_realpath(path, buffer2);
if (!resolved)
break;
@@ -736,7 +736,7 @@
WAI_NOINLINE WAI_FUNCSPEC
int WAI_PREFIX(getModulePath)(char* out, int capacity, int* dirname_length)
{
- char buffer[PATH_MAX];
+ char buffer[MAXPATHLEN];
char* resolved = NULL;
int length = -1;
@@ -746,7 +746,7 @@
if (dladdr(WAI_RETURN_ADDRESS(), &info))
{
- resolved = realpath(info.dli_fname, buffer);
+ resolved = bu_file_realpath(info.dli_fname, buffer);
if (!resolved)
break;
Modified: brlcad/branches/swrast/src/libdm/glx/dm-ogl.c
===================================================================
--- brlcad/branches/swrast/src/libdm/glx/dm-ogl.c 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/src/libdm/glx/dm-ogl.c 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -523,8 +523,7 @@
/* Try to satisfy the above desires with a color visual of the
* greatest depth */
- vibase = XGetVisualInfo(pubvars->dpy,
- 0, &vitemp, &num);
+ vibase = XGetVisualInfo(pubvars->dpy, 0, &vitemp, &num);
screen = DefaultScreen(pubvars->dpy);
good = (int *)bu_malloc(sizeof(int)*num, "alloc good visuals");
Modified: brlcad/branches/swrast/src/libgcv/CMakeLists.txt
===================================================================
--- brlcad/branches/swrast/src/libgcv/CMakeLists.txt 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/src/libgcv/CMakeLists.txt 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -33,14 +33,8 @@
set_property(SOURCE gcv.c APPEND PROPERTY COMPILE_DEFINITIONS
"LIBGCV_PLUGINS_PATH=\"${LIBGCV_PLUGINS_PATH}\"")
set_property(SOURCE gcv.c APPEND PROPERTY COMPILE_DEFINITIONS
"LIBGCV_PLUGIN_SUFFIX=\"${CMAKE_SHARED_LIBRARY_SUFFIX}\"")
-enable_testing()
-BRLCAD_ADDEXEC(test_bottess test_bottess.c libgcv NO_INSTALL)
-if(HIDE_INTERNAL_SYMBOLS)
- set_property(TARGET test_bottess APPEND PROPERTY COMPILE_DEFINITIONS
"BOTTESS_DLL_IMPORTS")
-endif(HIDE_INTERNAL_SYMBOLS)
-add_test(NAME bottess_test COMMAND test_bottess)
+add_subdirectory(tests)
-
set(GCV_IGNORE_FILES
CMakeLists.txt
NOTES
Modified: brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal.cpp
===================================================================
--- brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal.cpp 2020-09-08
17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal.cpp 2020-09-08
19:25:40 UTC (rev 77084)
@@ -97,7 +97,8 @@
get_dataset_info(GDALDatasetH hDataset)
{
char *gdal_info = GDALInfo(hDataset, NULL);
- if (gdal_info) bu_log("%s", gdal_info);
+ if (gdal_info)
+ bu_log("%s", gdal_info);
CPLFree(gdal_info);
return 0;
}
@@ -108,13 +109,16 @@
GDALDatasetH hDataset;
GDALAllRegister();
- if (!data) return 0;
+ if (!data)
+ return 0;
- if (!bu_file_exists(data,NULL)) return 0;
+ if (!bu_file_exists(data,NULL))
+ return 0;
hDataset = GDALOpenEx(data, GDAL_OF_READONLY | GDAL_OF_RASTER , NULL,
NULL, NULL);
- if (!hDataset) return 0;
+ if (!hDataset)
+ return 0;
GDALClose(hDataset);
@@ -129,7 +133,8 @@
GDALRasterBandH band = GDALGetRasterBand(ds, 1);
mm[0] = GDALGetRasterMinimum(band, &bmin);
mm[1] = GDALGetRasterMaximum(band, &bmin);
- if (!bmin || !bmax) GDALComputeRasterMinMax(band, TRUE, mm);
+ if (!bmin || !bmax)
+ GDALComputeRasterMinMax(band, TRUE, mm);
bu_log("Elevation Minimum/Maximum: %f, %f\n", mm[0], mm[1]);
}
@@ -203,17 +208,20 @@
(void)get_dataset_info(state->hDataset);
gdal_elev_minmax(state->hDataset);
- /* Stash the original Spatial Reference System as a PROJ.4 string for
later assignment */
+ /* Stash the original Spatial Reference System as a PROJ.4 string
+ * for later assignment
+ */
char *orig_proj4_str = NULL;
OGRSpatialReference iSRS(GDALGetProjectionRef(state->hDataset));
iSRS.exportToProj4(&orig_proj4_str);
- /* Use the information in the data set to deduce the EPSG number
corresponding
- * to the correct UTM projection zone, define a spatial reference, and
generate
- * the "Well Known Text" to use as the argument to the warping function*/
+ /* Use the information in the data set to deduce the EPSG number
+ * corresponding to the correct UTM projection zone, define a
+ * spatial reference, and generate the "Well Known Text" to use as
+ * the argument to the warping function*/
GDALDatasetH hOutDS;
int zone = (state->ops->zone == INT_MAX) ? gdal_utm_zone(state) :
state->ops->zone;
- char *dunit;
+ char *dunit = NULL;
const char *dunit_default = "m";
struct bu_vls new_proj4_str = BU_VLS_INIT_ZERO;
if (zone != INT_MAX) {
@@ -224,22 +232,26 @@
char *dst_Wkt = NULL;
oSRS.exportToWkt(&dst_Wkt);
- /* Perform the UTM data warp. At this point the data is not yet in the
- * form needed by the DSP primitive */
+ /* Perform the UTM data warp. At this point the data is not
+ * yet in the form needed by the DSP primitive */
hOutDS = GDALAutoCreateWarpedVRT(state->hDataset, NULL, dst_Wkt,
GRA_CubicSpline, 0.0, NULL);
CPLFree(dst_Wkt);
- dunit = bu_strdup(GDALGetRasterUnitType(((GDALDataset
*)hOutDS)->GetRasterBand(1)));
- bu_log("\nTransformed dataset info:\n");
- (void)get_dataset_info(hOutDS);
- gdal_elev_minmax(hOutDS);
+
+ if (hOutDS) {
+ dunit = bu_strdup(GDALGetRasterUnitType(((GDALDataset
*)hOutDS)->GetRasterBand(1)));
+ bu_log("\nTransformed dataset info:\n");
+ (void)get_dataset_info(hOutDS);
+ gdal_elev_minmax(hOutDS);
+ }
} else {
hOutDS = state->hDataset;
dunit = bu_strdup(GDALGetRasterUnitType(((GDALDataset
*)hOutDS)->GetRasterBand(1)));
}
- if (!dunit || strlen(dunit) == 0) dunit = (char *)dunit_default;
+ if (!dunit || strlen(dunit) == 0)
+ dunit = (char *)dunit_default;
- /* Do the translate step (a.l.a gdal_translate) that puts the data in a
- * form we can use */
+ /* Do the translate step (a.l.a gdal_translate) that puts the data
+ * in a form we can use */
char *img_opts[3];
img_opts[0] = bu_strdup("-of");
img_opts[1] = bu_strdup("MEM");
@@ -247,12 +259,15 @@
GDALTranslateOptions *gdalt_opts = GDALTranslateOptionsNew(img_opts, NULL);
GDALDatasetH flatDS = GDALTranslate("", hOutDS, gdalt_opts, NULL);
GDALTranslateOptionsFree(gdalt_opts);
- if (hOutDS != state->hDataset) GDALClose(hOutDS);
+ if (hOutDS != state->hDataset)
+ GDALClose(hOutDS);
for(int i = 0; i < 3; i++) {
- if(img_opts[i]) bu_free(img_opts[i], "imgopt");
+ if(img_opts[i])
+ bu_free(img_opts[i], "imgopt");
}
- /* Stash the flat Spatial Reference System as a PROJ.4 string for later
assignment */
+ /* Stash the flat Spatial Reference System as a PROJ.4 string for
+ * later assignment */
char *flat_proj4_str = NULL;
OGRSpatialReference fSRS(GDALGetProjectionRef(flatDS));
fSRS.exportToProj4(&flat_proj4_str);
@@ -278,7 +293,8 @@
}
}
- /* Convert the data before writing it so the DSP get_obj_data routine sees
what it expects */
+ /* Convert the data before writing it so the DSP get_obj_data
+ * routine sees what it expects */
int in_cookie = bu_cv_cookie("hus");
int out_cookie = bu_cv_cookie("nus"); /* data is network unsigned short */
if (bu_cv_optimize(in_cookie) != bu_cv_optimize(out_cookie)) {
@@ -316,10 +332,11 @@
GDALClose(flatDS);
GDALClose(state->hDataset);
- /* TODO: if we're going to BoT (3-space mesh, will depend on the transform
requested) we will need different logic... */
+ /* TODO: if we're going to BoT (3-space mesh, will depend on the
+ * transform requested) we will need different logic... */
- /* Write out the dsp. Since we're using a data object, instead of a file,
- * do the setup by hand. */
+ /* Write out the dsp. Since we're using a data object, instead of
+ * a file, do the setup by hand. */
struct rt_dsp_internal *dsp;
BU_ALLOC(dsp, struct rt_dsp_internal);
dsp->magic = RT_DSP_INTERNAL_MAGIC;
@@ -346,8 +363,8 @@
wdb_export(state->wdbp, bu_vls_addr(&name_dsp), (void *)dsp, ID_DSP, 1);
- /* Write out the original and current Spatial Reference Systems and other
dimensional
- * information to attributes on the dsp */
+ /* Write out the original and current Spatial Reference Systems
+ * and other dimensional information to attributes on the dsp */
struct bu_attribute_value_set avs;
bu_avs_init_empty(&avs);
struct directory *dp = db_lookup(state->wdbp->dbip,
bu_vls_addr(&name_dsp), LOOKUP_QUIET);
@@ -370,9 +387,12 @@
(void)db5_update_attributes(dp, &avs, state->wdbp->dbip);
}
- if (dunit != dunit_default) bu_free(dunit, "free dunit");
- if (orig_proj4_str) CPLFree(orig_proj4_str);
- if (flat_proj4_str) CPLFree(flat_proj4_str);
+ if (dunit != dunit_default)
+ bu_free(dunit, "free dunit");
+ if (orig_proj4_str)
+ CPLFree(orig_proj4_str);
+ if (flat_proj4_str)
+ CPLFree(flat_proj4_str);
bu_vls_free(&new_proj4_str);
bu_vls_free(&name_root);
Modified: brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal_ll.cpp
===================================================================
--- brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal_ll.cpp 2020-09-08
17:46:02 UTC (rev 77083)
+++ brlcad/branches/swrast/src/libgcv/plugins/gdal/gdal_ll.cpp 2020-09-08
19:25:40 UTC (rev 77084)
@@ -66,19 +66,24 @@
CPLPopErrorHandler();
OSRDestroySpatialReference(hll);
}
- if(hpj != NULL) OSRDestroySpatialReference(hpj);
+ if (hpj != NULL)
+ OSRDestroySpatialReference(hpj);
}
if(htfm != NULL) {
if (OCTTransform(htfm,1,&longitude,&latitude,NULL)) {
- if (lat_center) (*lat_center) = latitude;
- if (long_center) (*long_center) = longitude;
+ if (lat_center)
+ *lat_center = latitude;
+ if (long_center)
+ *long_center = longitude;
} else {
return 0;
}
} else {
- if (lat_center) (*lat_center) = latitude;
- if (long_center) (*long_center) = longitude;
+ if (lat_center)
+ *lat_center = latitude;
+ if (long_center)
+ *long_center = longitude;
}
bu_log("lat: %f, long: %f\n", latitude, longitude);
Deleted: brlcad/branches/swrast/src/libgcv/test_bottess.c
===================================================================
--- brlcad/branches/swrast/src/libgcv/test_bottess.c 2020-09-08 17:46:02 UTC
(rev 77083)
+++ brlcad/branches/swrast/src/libgcv/test_bottess.c 2020-09-08 19:25:40 UTC
(rev 77084)
@@ -1,343 +0,0 @@
-/* T E S T _ B O T T E S S . C
- * BRL-CAD
- *
- * Copyright (c) 2011-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libgcv/bottess_tester.c
- *
- * Test things in the bottess routines...
- */
-
-#include "common.h"
-
-#include "vmath.h"
-#include "bu/app.h"
-#include "bn.h"
-#include "raytrace.h"
-#include "nmg.h"
-#include "gcv.h"
-
-#include "./soup.h"
-#include "./tri_intersect.h"
-
-int
-test_intersection(int should, point_t *t1, point_t *t2, point_t p1, point_t p2)
-{
- int coplanar = 0;
- point_t i[2] = {VINIT_ZERO, VINIT_ZERO};
- vect_t tmp[2] = {VINIT_ZERO, VINIT_ZERO};
- struct face_s f[2];
- struct bn_tol tol;
-
- BN_TOL_INIT(&tol);
- tol.dist = 0.005;
- tol.dist_sq = tol.dist*tol.dist;
-
- VMOVE(f[0].vert[0], t1[0]);
- VMOVE(f[0].vert[1], t1[1]);
- VMOVE(f[0].vert[2], t1[2]);
- VSUB2(tmp[0], t1[1], t1[0]);
- VSUB2(tmp[1], t1[2], t1[0]);
- VCROSS(f[0].plane, tmp[0], tmp[1]);
- f[0].foo = 0;
-
- VMOVE(f[1].vert[0], t2[0]);
- VMOVE(f[1].vert[1], t2[1]);
- VMOVE(f[1].vert[2], t2[2]);
- VSUB2(tmp[0], t2[1], t2[0]);
- VSUB2(tmp[1], t2[2], t2[0]);
- VCROSS(f[1].plane, tmp[0], tmp[1]);
- f[1].foo = 0;
-
- if (gcv_tri_tri_intersect_with_isectline(NULL, NULL, f, f+1, &coplanar, i,
&tol) == 0 && should == 0)
- return 0;
- return !(VNEAR_EQUAL(i[0], p1, tol.dist) && VNEAR_EQUAL(i[1], p2,
tol.dist));
-}
-
-
-int
-test_tri_intersections()
-{
- int count = 0;
-#define TRY(suc, t00x, t00y, t00z, t01x, t01y, t01z, t02x, t02y, t02z, t10x,
t10y, t10z, t11x, t11y, t11z, t12x, t12y, t12z, p0x, p0y, p0z, p1x, p1y, p1z) {
\
- point_t t0[3], t1[3], p0, p1; \
- VSET(t0[0], t00x, t00y, t00z); VSET(t0[1], t01x, t01y, t01z);
VSET(t0[2], t02x, t02y, t02z); \
- VSET(t1[0], t10x, t10y, t10z); VSET(t1[1], t11x, t11y, t11z);
VSET(t1[2], t12x, t12y, t12z); \
- VSET(p0, p0x, p0y, p0z); VSET(p1, p1x, p1y, p1z); \
- count += test_intersection(suc, t0, t1, p0, p1); }
-
- TRY(1, 0, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0.5, 0, 1, 0.5, 1, 0, 0.5, 0, 0,
.5, 0, .5, .5); /* ep ef */
- TRY(0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -1, 2, 0.5, 0, 3, 0.5, 1, 2, 0.5, 0, 0,
.5, 0, .5, .5); /* no intersect */
-
-#undef TRY
- return count;
-}
-
-
-static int
-find_tri(struct soup_s *s, struct face_s *f, struct bn_tol *t) {
- unsigned int i, j, k;
- for (i=0;i<s->nfaces;i++) {
- int found[3] = {0, 0, 0};
- struct face_s *wf = s->faces+i;
-
- for (j=0;j<3;j++) for (k=0;k<3;k++) if (VNEAR_EQUAL(wf->vert[j],
f->vert[k], t->dist)) found[j] = 1;
- if (found[0] == 1 && found[1] == 1 && found[2] == 1) return i;
- }
- return -1;
-}
-
-
-int
-test_face_split_single()
-{
- unsigned long int i, tcount = 0, count = 0, nsplt;
- struct soup_s s;
- struct face_s f;
- struct bn_tol t;
-
- BN_TOL_INIT(&t);
- t.dist = 0.005;
- t.dist_sq = t.dist * t.dist;
-
- /* evil macros to do a lot of scaffolding, setup, execution, etc... */
- /* prep take: the triangle to split (9 fastf_t), the intersection line (6
- * fastf_t), and the number of expected resulting triangles. */
-
- /* NOTE THE "PREP" AND "POST" MACROS MUST BE USED IN PAIRS DUE TO THE
SPLIT ENCLOSING CURLY BRACES */
-#define PREP(t00, t01, t02, t10, t11, t12, t20, t21, t22,
\
- ispt00, ispt01, ispt02, ispt10, ispt11, ispt12, _nsplt) \
- { \
- point_t isectpt[2]; \
- int urf[_nsplt+1]; \
- unsigned long int failure = 0, numsplit = _nsplt; \
- for (i = 0; i < _nsplt + 1; ++i) urf[i] = 0; \
- tcount++; \
- VSET(isectpt[0], ispt00, ispt01, ispt02); \
- VSET(isectpt[1], ispt10, ispt11, ispt12); \
- s.magic = SOUP_MAGIC; \
- s.faces = NULL; \
- s.maxfaces = 0; \
- s.nfaces = 0; \
- VSET(f.vert[0], t00, t01, t02); \
- VSET(f.vert[1], t10, t11, t12); \
- VSET(f.vert[2], t20, t21, t22); \
- soup_add_face(&s, V3ARGS(f.vert), &t); \
- VSET(f.plane, 0, 0, 1); \
- nsplt = split_face_single(&s, 0, isectpt, &f, &t); \
- if (nsplt != s.nfaces) { \
- printf("Error, nsplit %lu != s.nfaces %lu ?\n", numsplit,
s.nfaces); \
- }
-
- /* the _splits is an array of expected triangles, as 9 fastf_t tuples */
- /* fastf_t _splits[nsplt][9] = {{...}, {...}} */
- /* post tests to see if the resulting triangles match and cleans up */
-#define POST(name) \
- for (i = 0; i < numsplit; i++) { \
- VSET(f.vert[0], _splits[i][0], _splits[i][1], _splits[i][2]); \
- VSET(f.vert[1], _splits[i][3], _splits[i][4], _splits[i][5]); \
- VSET(f.vert[2], _splits[i][6], _splits[i][7], _splits[i][8]); \
- urf[i] = find_tri(&s, &f, &t); \
- if (urf[i] == -1) failure++; \
- } \
- if (nsplt != 2 && urf[0] == -1 && urf[1] == -1) { \
- printf("\033[1;31mFAILURE "name"\033[m\n"); \
- printf("%lu faces now\n", s.nfaces); \
- for (i = 0; i < s.nfaces; i++) \
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits