cvs2git conversion of the FreeSOLID library https://sourceforge.net/projects/freesolid/
Find a file
Xavier Del Campo Romero 208c6e2031
Synchronise with 2.1.2 release
A 2.1.2 release was pushed 10 years after the last modification
timestamp on CVS [1]. Unfortunately, that means these changes were
effectively untracked by CVS. What's even worse, while some of the
changes are stylistic, others are non-trivial and there is no rationale
behind them.

This commit attempts to match this 2.1.2 release, while removing
trailing whitespaces and newlines in order to keep Git (and also myself)
happy.

Trailing whitespaces have been removed with:

while read f
do
    sed -Ei 's/[[:space:]]+$//g' "$f"
done <<EOF
$(find . -iname '*.cpp' -o -iname '*.h')
EOF

Trailing newlines have been removed with:

while read f
do
    sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' -- "$f"
done <<EOF
$(find . -iname '*.cpp' -o -iname '*.h')
EOF

[1]: https://sourceforge.net/projects/freesolid/files/FreeSOLID-2.1.2.zip/download
2025-01-31 00:27:02 +01:00
doc Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
include Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
libbroad Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
libmoto Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
libsolid Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
qhull Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
sample Synchronise with 2.1.2 release 2025-01-31 00:27:02 +01:00
acinclude.m4 Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
AUTHORS Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
bootstrap.sh Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
ChangeLog Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
CMakeLists.txt Set up CMake-based build system 2025-01-27 00:24:02 +01:00
configure.in Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
COPYING Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
COPYING.LIB Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
freesolid-config.in Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
FreeSOLID.sln Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
FreeSOLID.spec.in Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
FreeSOLID.vcproj Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
INSTALL Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
ltmain.sh Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
Makefile.am Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
NEWS Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
README Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
solid.dsw Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
TODO Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00
Walk.vcproj Move contents to root directory after cvs2git 2025-01-26 23:01:03 +01:00

		FreeSOLID - Interference Detection Library
		Copyright (C) 1997, 1998  Gino van den Bergen


NOTE: FreeSOLID is the LGPL version of SOLID. SOLID is further
	  developed and licensed commercially by Dtecta. See
	  www.libsolid.com for terms of licensing SOLID.  



Introduction
	
FreeSOLID is a library for collision detection of three-dimensional objects
undergoing rigid motion and deformation. FreeSOLID is designed to be used in
interactive 3D graphics applications, and is especially suited for
collision detection of objects and worlds described in VRML.

The objects can be modeled as primitives, such as boxes, cones, cylinders,
and spheres, or as complex shapes composed of polytopes. The placement of
an object is given either as a sequence of translations, rotations, and
nonuniform scalings, or as a 4x4 column-major matrix, that represents an
affine transformation, as used in OpenGL.   


Requirements

The library is written in ANSI/ISO C++ and relies heavily on STL. Currently
it compiles under GNU g++ version 2.8.1 and Visual C++ 5.0. The library has
a standard C API and can be linked to both C and C++ applications. Note
that in order to use in C applications, you need to explicitly include the
libstdc++ library in the linkage.  

For fast intersection tests and distance computations between convex
polyhedra, FreeSOLID relies on the Qhull library for convex hull computations.
Qhull is a free software library and is available for most platforms. 
The Qhull source code can be downloaded from URL: 

	http://www.geom.umn.edu/software/qhull/

Note that a properly operating FreeSOLID library  can be compiled without using
Qhull. However, it is recommended to incorporate Qhull for a better
performance, when polyhedra are used.  


License

The FreeSOLID library and accompanying C++ classes for 3D geometry are
released under the terms of the GNU Library General Public License. 
See the file COPYING.LIB for details. 


Installation

In case you have a recent GNU developers environment installed, simply
typing `make' in the root of the distribution directory will build the
library, a sample client and documentation.

If you want to use another compiler, you should make the necessary changes
to the `Make-config' file in the root directory. FreeSolid now autodetects
the presence of Qhull library when you build using the configure script. 
The Qhull header files are assumed to be under '$INCLUDE_PATH/qhull/'
If your Qhull installation is under a non-standard directory. Then you need
to put all the Qhull header files under a directory named 'qhull'. Then
you may need to set the env variables CXXFLAGS, CPPFLAGS to point to those
directories. Under bash if qhull is under the directory $HOME/packages, you type

$ export CPPFLAGS="-I$HOME/packages"
$ export CXXFLAGS="-I$HOME/packages"

under csh you type

% setenv CPPFLAGS "-I$HOME/packages"
% setenv CXXFLAGS "-I$HOME/packages"

before doing a ./configure .

The auxiliary C++ classes in `include/3D' may be used for performing 3D
transformations.  The classes have all their code inlined, so you do not
need to link a library in order to use them.  

If you've checked out a fresh CVS sandbox, the following steps are
required to generate a proper 'configure' file.

    aclocal
    automake -a
    autoconf
    autoheader


Documentation

The FreeSOLID manual is available as: (i) an Emacs info file, (ii) a DVI file
(use dvips to print as postscript), and (iii) a set of HTML files.  

The HTML files are also made available on the FreeSOLID web page located at

http://www.win.tue.nl/~gino/solid/


Contact Info

Please send remarks, questions and bug reports to gino@dtecta.com
or write to:
          Gino van den Bergen
		  Sterkenstraatje 4
		  5708 ZC Helmond
		  The Netherlands