qtCircles - Getting Started

qtCircles is a libray (.lib) containing procedures to solve some simple mathematical problems related to circles, such as

• calculating the y-coordinates of a circle, or the values of the first or second derivatives for given x-coordinates
• calculating the intersection points of a circle intersecting with a line or another circle
• to obtain the determining parameters of a circle (radius and origin coordinates) when either just three points are given, or if a couple of sample points are given that shall form a circle ("curve fitting")
• calculating the circle's segment area determined by a secant

Online-Help / Documentation

qtCircles' procedures are programmed in a Fortran 95 MODULE, and the documentation is created inline (by comments) according to syntax specifications of a documentation tool named doxygen. doxygen can generate diverse online-help file formats. Here HTML is used. And thus the qtCircles online-help can be viewed in an Internet browser. The idea was not only to provide some functions that help programmers to avoid some own work, and thus saving time, qtCircles shall also be a demonstration project for working with doxygen. Therefore the source code of qtCircles can also be purchased, such that programmers interested in how it is done can learn from it.

doxygen interprets Fortran source code procedures CONTAINed in a MODULE as "data types", because it is treating Fortran MODULEs similar to what generally is called a "class". And so, FUNCTIONs and SUBROUTINEs CONTAINed in a MODULE are seen as members of a class. So, at the beginning the online-help may be a bit confusing and you have to click through the navigation bar (left part of the documentation area) a bit until you find what you are looking for. To make it a bit easier a link is set here:

Start qtCircles' online-help

The qtCircles HTML online-help uses mathematical formulas. These are displayed correctly only if the display engine MathJax is available (either by being online or if you have installed MathJax on your own sever). See the MathJax website (http://www.mathjax.org/) for details.

Bindings & Example Programs

To use qtCircles easily with your Fortran compiler system the following is provided:

• bindings consisting of the qtCircles library (.lib) and .mod files (you will find them in subdirectories designated to the compilers being supported; for example "Bindings\IVF\Win32")
• sample programs in Fortran 95 source code (T_Circles.f90, T_FitCircle.f90) that demonstrate some usage of qtCircles procedures
• sample projects that show the compiler and linker settings to build executables (.exe) from the sample programs
• a dummy licence file named qtSetLicence_QTCIRCLES.f90 which is to be replaced by a licence file (named similar to qtSetLicence_2890_123456.f90) that you will receive on purchase of qtCircles

Using qtCircles with Intel Visual Fortran (IVF)

In the subdirectory "Examples\IVF" of your qtCircles installation you will find a Microsoft Visual Studio 2008 solution file named IVF.sln. Load this in Visual Studio 2008 or higher. When you use a or more recent version of Visual Studio (for example 2010) the projects contained in IVF.sln should be converted automatically.
Then select a platform (either "Win32" or "x64") and a configuration (either "Debug" or "Release"), and run "Build" to create the executables.
Inspect the settings of the compiler and the linker to see what is changed from the default settings such that the .mod files and the library file (.lib) are found. In particular have a look at:
Fortran | Preprocessor: Additional Include Directories = ..\..\..\Bindings\IVF\$(PlatformName) Linker | General: Additional Library Directories = ..\..\..\Bindings\IVF\$(PlatformName)

When having received a licence file (e.g.: qtSetLicence_2890_123456.f90) add this file to the sample projects and remove the dummy licence file named qtSetLicence_QTCIRCLES.f90. Change the sample source code such that your licence is being used. For example:

!xxx iRet = qtCircles_Initialize('evaluation')
iRet = qtCircles_Initialize('L2890-123456')

Run "Build" to obtain an .exe that does not run in demo mode.

Using qtCircles with Silverfrost FTN95 (FTN95)

In the subdirectory "Examples\FTN95" of your qtCircles installation you will find two subdirectories (T_Circles, T_FitCircle). Each contains a Plato project file (.ftn95p). Load this in the Plato IDE. Then select a configuration (for examle "Debug Win32"), and run "Build" to create the executable.
Inspect the settings of the compiler and the linker to see what is changed from the default settings such that the .mod files are found. In particular have a look at:
Compiler Options | Source: Specify Module paths = ..\..\..\Bindings\FTN95
To link the library file qtCirclesFTN95.lib, you should notice that it is listed in "References".

When having received a licence file (e.g.: qtSetLicence_2890_123456.f90) add this file to the sample projects and remove the dummy licence file named qtSetLicence_QTCIRCLES.f90. Change the sample source code such that your licence is being used. For example:

!xxx iRet = qtCircles_Initialize('evaluation')
iRet = qtCircles_Initialize('L2890-123456')

Run "Build" to obtain an .exe that does not run in demo mode.

Licence Agreement - Usage Rights, Limitation of Liability, Copyright

§1 Property and Ownership
The software described in this document and this document itself is called qtCircles in the following. The qtCircles software consists of files whose names start with the letters "qt" as they are found in the subdirectories of the qtCircles installation. In particular these are library files ending on .lib, pre-compiled MODULE files (ending on .mod), Fortran source code files (ending on .f90). All these files are property of the author Jörg Kuthe. The author is represented by QT software GmbH, called QT hereafter, which is authorized to allocate use rights to qtCircles. The copyright at the qtCircles software and this documentation remains with the author.

The licensee is the user of the qtCircles software, which he/she has obtained from QT in the course of the purchase of the qtCircles licence.

§3 Licence and Passing on of Components of the qtCircles Software
The licence consists of the right of the licensee to use the qtCircles software for the development of programs, i.e. thus to create executable files whose name ends on .exe. The executable file created with qtCircles may neither have the function of a compiler nor that one of a linker. The passing on of any other file of qtCircles is not allowed.

§4 Transfer and Assignment of the Licence
The licensee cannot be represented by another person. This excludes particularly the rental of the qtCircles software. The licensee may sell the use licence if he reports the disposal or assignment of the licence to another licensee to QT in writing. The assignment must include the confirmation, that the selling licensee gives up his rights at the qtCircles. The new licensee must agree to these licence conditions in writing.

§5 Warranty
QT ensures the function ability of the qtCircles software for the period of 2 years after acquisition of the licence. In the fault case it is up to QT either to refund the paid price to the licensee or to fix the reported error in the qtCircles software. If the money paid for qtCircles is refunded, the licensee looses the right to use the software qtCircles. Complaints or faults have to be verified by the licensee by a program he provides.

§6 Use Risk and Limitations of Liability
The licensee uses the software qtCircles on risk of his own. QT is liable in maximum amount of the paid price for a single qtCircles licence.

§7 Declaration of Consent
The licensee gives his agreement to these conditions by the acquisition of the licence.

Other Notes

The author and QT software GmbH acknowledge the rights of the owners at the brand names, trademarks and products named in this document:
Windows is a trademark of Microsoft Corporation, U.S.A.
“ProFortran for Windows” is a product of Absoft Corporation, U.S.A..
“Intel Visual Fortran” is a product of Intel Corporation, U.S.A..
“Lahey/Fujitsu Fortran 95 for Windows” is a product of Lahey Computer Systems, Inc., U.S.A..
“Salford FTN95” is a product of Salford Software Ltd., U.K..
“Silverfrost FTN95” is a product of Salford Software Ltd., U.K..
“Visual Studio 2008”, “Visual Studio 2010”,
“Visual Studio 2012”, “Visual Studio 2013”,are products of Microsoft Corporation, U.S.A.