Menu

Tree [427fe6] master /
 History

HTTPS access


File Date Author Commit
 core 2025-04-22 Pierre SMARS Pierre SMARS [6c9a6c] cmake: set all policies to new
 structure 2025-04-22 Pierre SMARS Pierre SMARS [0df525] structure: added a cupola example
 survey 14 hours ago Pierre SMARS Pierre SMARS [427fe6] tridist: check of file existence is now automatic
 utils 2024-02-23 Pierre SMARS Pierre SMARS [306ac5] improvement to the producion of html versions o...
 .gitignore 2020-07-16 Pierre SMARS Pierre SMARS [717651] exclude more file types in gitignore
 NEWS 2022-09-06 Pierre SMARS Pierre SMARS [751d92] typo
 README.md 2025-11-12 Pierre SMARS Pierre SMARS [69fab1] update README to prepare CLI11 transition

Read Me

POINTS&FORCES

BACKGROUND INFORMATION

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)

INSTALL

required software/libraries to build and run the project tools:

required software/libraries to build project:

some of the tools offer hooks to:

Note for FreeBSD:

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
> cd /usr/ports/devel/cli11; make install clean

VxL is not in the ports (see below)
https://sourceforge.net/projects/vxl/

Note for Debian or Ubuntu:

Take a look at the Dockerfile on github
for inspiration if something goes wrong.

> apt install cmake cmake-curses-gui
> apt install libvtk9-dev libvtk9
> apt install swig
> apt install libcli11-dev

I compile VxL from the source (there is a package available but it is not complete)

Notes for Unix-like OS

a. to install VXL

Use git

> git clone https://github.com/vxl/vxl.git
> cd vxl
> ccmake . (answer the questions, see also below)
> make
> make install

b. to install Points&Forces

  • Use GIT (or untar the file but you will often get an old version)
  • Go to the <core> directory [common files used by this and other projects]
  • prepare the Makefile, using cmake:
    the idea (in two words) is to go to the directory, type:
> 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)

  • build the <core> library:
> make

(you will need first to copy core/script/man2cxx to /usr/local/bin)

  • install the library (as 'root' if the library is installed in its standard position):
> make install
  • go to the the <survey> directory.
  • do as for <core>
> ccmake .
> make
> make install (as root)
note: core_DIR is the <core> lib directory that you just installed.
  • go to the the <structure> directory (not needed if you are just interested in visualisation and geometrical data manipulation).
  • do as for <core> and <survey>
> 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.
  • insure that tcl can find the 'points & forces' packages:
    add an environment variable
> 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
  • copy or simlink the configuration files in your home directory
> ln -s /usr/local/share/points_forces/examples/core/points_forcesrc ~/.points_forcesrc
> ln -s /usr/local/share/points_forces/scripts ~/.points_forces

DOCUMENTATION

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).