HTTPS SSH
===============================================================================
#########           ########  ####  ##########  ####    ####   ########
#########          ########   ####  ##########  ####    ####  ########
###  ####          ###        ####     ####     ####    ####  ###
###  ####  ######   #####     ####     ####     ####    ####   #####
#########  ######     #####   ####     ####     ####    ####     #####
###  ####              ####   ####     ####     ####    ####      ####
###  ####          #######    ####     ####      ##########   #######
###  ####         #######     ####     ####       ########   #######
===============================================================================

Debug your B-Rep.

===============================================================================
Release notes
-------------------------------------------------------------------------------
v0.1.8, 20 September 2017
-------------------------------------------------------------------------------
- Fix visualization problem with false-positive invalid faces.
- Let user change background color via context menu in part viewer.
-------------------------------------------------------------------------------
v0.1.7, 19 September 2017
-------------------------------------------------------------------------------
- Improve visualization tools for meshes (SDK only).
- Extend API of imperative plotter (SDK only).
- Introduce button to add B-Reps to existing part.
- Introduce Tcl scripting.
- Introduce error-resistant visualization based on face validity analysis.
- Enhance topology graph visualization with information on orientations.
- Implement topologicall killer (kill-edge and kill-face commands).
- Bugfix and tiny improvements in ergonomics.
-------------------------------------------------------------------------------
v0.1.6, 20 July 2017
-------------------------------------------------------------------------------
- License under MIT license conditions.
- Add CMake build system.
- Set dark color scheme.
- Add controls for projection views (top, left, front, etc.).
- Add visualization facilities for OpenCascade's triangulation.
- Bugfix and tiny improvements.
-------------------------------------------------------------------------------
v0.1.5, 15 April 2017
-------------------------------------------------------------------------------
- Get rid of OpenCascade visualization modules. Everything is now based on
  in-house VTK integration code and conventional VTK interactive services.
- Add face inversion function (context menu in the viewer).
- Add visualization of face normals (context menu in the viewer).
- Add tessellation refinement controls (Ctrl+T hotkey).
- Add gap filling function (button at main controls panel).
- General bugfix and tiny improvements are also there.
-------------------------------------------------------------------------------
v0.1.4, 02 February 2017
-------------------------------------------------------------------------------
- Make AAG the driving container for all sub-shapes. AAG is now used to get
  the indices of faces and edges. This allows to cache all those indices only
  once (when the model is loaded) and reuse whenever necessary.
- Introduce many cosmetic changes: version in the title bar, different
  visualization properties, different highlighting/selection colors, etc.
- Add status bar, logger, and progress indication widgets (draft).
- Fix weird errors on edge picking.
- Add border trihedron concept at algorithmic level.
- Add VTK pipeline for visualization of normal vectors associated with point
  clouds.
- Add tolerance setting for smooth edge detection.
-------------------------------------------------------------------------------
v0.1.3, 19 December 2016
-------------------------------------------------------------------------------
- Add possibility to save selected faces and edges to BREP-file.
-------------------------------------------------------------------------------
v0.1.2, 16 December 2016
-------------------------------------------------------------------------------
- Add AAG and topology graphs with visualization.
- Add dihedral angle checker.
- Add non-manifold edges checker.
- Add tools to detach (break sharing info) and kill faces.
- Fix visualization bug with incorrect feeding of face selection pipeline.
-------------------------------------------------------------------------------
v0.1.1, 14 December 2016
-------------------------------------------------------------------------------
- Experimental version of adaptive center of rotation (there is a problem with
  discontinuity at rotation start). Center of rotation is changed by overriding
  the focal point of the camera and repositioning window center.
- Cosmetic changes in UI: reordering buttons.
- Porting to VTK 7.1.

===============================================================================

Analysis Situs is the former name for Topology. Henri Poincare wrote an
original paper on the subject in 1895 where he introduced the fundamental
concepts of the new branch of mathematics. The topological language has appeared
to be extremely useful in Computer-Aided Design field. Tons of research papers
ever published on the subject took advantage of the topological formalism to
construct the mathematical models of the studied subjects.

We think that Analysis Situs is a good name for a software which dives into
low-level details of geometric modeling. You load a model to inquire what is
inside. You can study it face-by-face in a CAD-neutral environment. You can look
at your model as a composition of surface patches trimmed by contours. And you
can also extend the software with your tools as the architecture is incredibly
simple.

The software relies on the following essential components:

- Active Data for organizing the data of the application hierarchically.
- Quaoar for some CAGD primitives and algorithms.
- Eigen for linear algebra.
- Qt for user interfaces.
- VTK for visualization.
- OpenCascade for CAD geometry.

Analysis Situs allows working with the CAD geometry approximately at the same level
as the OpenCascade's DRAW tool does. However, Analysis Situs is not designed to
substitute DRAW even in plain geometric workflows. DRAW is an entry point to OpenCascade.
Analysis Situs is not. Either it is not a CAD system (heaven forbid). It is a tool for
geometric modeling developers, learners, and researchers.

Several decades ago there was a CAD system PADL connecting the academia with industry.
Practice shows that such a combination of the academic roots playing on the industrial
ground is somewhat very fruitful. Pioneer researchers like A. Requicha who participated
in PADL brought a lot of new seminal concepts to the field (for this A. Requicha and
H. Voelcker got Pierre Bezier Award). So we have a good story to tell and a good
example of how things can work. Analysis Situs has nothing to do with PADL and all
these brilliant researchers. But there is still the same idea to have a link between
the academia and the real life. In such setting, Analysis Situs serves as a prototyping tool.