| File | Date | Author | Commit | 
|---|---|---|---|
| core | 2025-04-22 |  Pierre SMARS | [6c9a6c] cmake: set all policies to new | 
| structure | 2025-04-22 |  Pierre SMARS | [0df525] structure: added a cupola example | 
| survey | 2025-09-13 |  Pierre SMARS | [34a18a] changes to allow compilation on debian trixie | 
| utils | 2024-02-23 |  Pierre SMARS | [306ac5] improvement to the producion of html versions o... | 
| .gitignore | 2020-07-16 |  Pierre SMARS | [717651] exclude more file types in gitignore | 
| NEWS | 2022-09-06 |  Pierre SMARS | [751d92] typo | 
| README.md | 2025-09-13 |  Pierre SMARS | [34a18a] changes to allow compilation on debian trixie | 
a list of tools with a short description can be found on:
http://smars.yuntech.edu.tw/projects/survey/standalone.php
keywords: total stations, digital photogrammetry, laser scanner, point clouds
background about the developments of the tools can be found in:
You may consider using the docker image absps/points_forces
(if you are on Windows, that is certainly easier)
I use the port <math/vtk9>
> cd /usr/ports/devel/cmake; make install clean
> cd /usr/ports/math/vtk9; make install clean
> cd /usr/ports/devel/swig; make install clean
VxL is not in the ports (see below)
https://sourceforge.net/projects/vxl/
Take a look at the Dockerfile on github 
for inspiration if something goes wrong.
> apt-get install cmake cmake-curses-gui
> apt-get install libvtk9-dev libvtk9
> apt-get install swig
I compile VxL from the source (there is a package available but it is not complete)
Use git
> git clone https://github.com/vxl/vxl.git
> cd vxl
> ccmake . (answer the questions, see also below)
> make
> make install
> ccmake .
press 'c' (configure), answer the questions, possibly press 'c' again, 
until a 'g' option appears, press 'g' to generate the Makefile.
CMAKE_BUILD_TYPE: 'Release'
EXECUTABLE_OUTPUT_PATH: keep empty (unless you know what you are doing)
LIBRARY_OUTPUT_PATH: keep empty (unless you know what you are doing)
CMAKE_INSTALL_PREFIX: keep default, most likely /usr/local (unless you know what you are doing)
> make
(you will need first to copy core/script/man2cxx to /usr/local/bin)
> make install
> ccmake .
> make
> make install (as root)
note: core_DIR is the <core> lib directory that you just installed.
> ccmake .
> make
> cd scripts
> wget https://sourceforge.net/projects/pointsforces/files/calipous.png/download -O calipous.png
  (or use a browser and save the file in the script directory)
> cd ..
> make install (as root)
again, note: core_DIR is the <core> lib directory that you just installed.
> export TCLLIBPATH=/usr/local/lib/points_forces 
when CMAKE\_INSTALL\_PREFIX is `/usr/local`
create pkgIndex.tcl in TCLLIBPATH
running `pkg_mkIndex` **as root** in a tcl shell; 
example:
> tclsh
% pkg_mkIndex /usr/local/lib/points_forces 
        the file should be readable by everybody
> ln -s /usr/local/share/points_forces/examples/core/points_forcesrc ~/.points_forcesrc
> ln -s /usr/local/share/points_forces/scripts ~/.points_forces
at this stage, most of the programs have an option '-h' to return some help
> a_program -h
I also started to work on man pages, but there is still a lot to do...
From tcl, it is also possible to get help about some of the classes of the project. 
'a_point_help' gives for instance information about the class 'a_point'. 
Work in progress... 
Some example files illustrating the use of classes can also be found in the source directories (most start with "test_").
the tools are developed and tested under FreeBSD (14.2) and Debian (trixie) (both amd64).