1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-24 13:50:49 +03:00

Compare commits

..

8 Commits

Author SHA1 Message Date
ifv
cd65cebc0d 0032811: Bad result of sweep operation due to Surface Surface Intersect Bug 2022-02-21 12:10:46 +03:00
jgv
600ee85631 0032814: Modeling algorithms - Unifysamedom produces invalid result
Minor correction in ShapeUpgrade_UnifySameDomain::IntUnifyFaces: correct collecting splitting vertices in the new wire
2022-02-18 18:29:10 +03:00
vro
8dee83b0f3 0032840: Application Framework, copying of a scaled shape fails
A flag not to raise an exception is set for a copying shape. A reason: if a shape is already in the model, the user should have an opportunity to copy it.

Modified files:
TNaming_CopyShape.cxx, the method Translate(). A false-flag is used on copying of location of the shape.
2022-02-18 18:27:59 +03:00
jgv
2d0dd76414 0032715: Modelling Algorithms - UnifySameDomain does incomplete union
Add the case of closed, smooth but not periodic surface (unification of faces lying on it if the flag "myConcatBSplines" is true - modify the underlying surface to make it periodic).
2022-02-17 21:45:44 +03:00
aml
08984eda3d 0032838: Coding - get rid of unused forward declarations (misc) 2022-02-17 21:42:56 +03:00
aml
b66cf6dae5 0032832: Coding - get rid of unused headers [FairCurve to GeomAPI] 2022-02-14 22:07:15 +03:00
Chris Hennes
f91202f3ee 0031585: Access Violation while creating fillet - ChiFi3d_Builder::PerformIntersectionAtEnd
There is one case in PerformIntersectionAtEnd that did not test whether
an array access exceeded the length of the array, in rare cases
resulting in a segmentation fault. That error-handling behavior is
replaced by the exception code used elsewhere in the function. For
consistency, the code is copied exactly as implemented elsewhere. This
code has the same effect as that proposed by the bug submitter.
2022-02-14 22:02:07 +03:00
kgv
072b4d382d 0032831: Documentation - drop misleading "FreeType 2.4.10 - 2.5.3" version range
Removed duplicating information about supported versions of 3rdparty libraries from `building_3rdparty.md`.
2022-02-14 22:00:32 +03:00
418 changed files with 798 additions and 1338 deletions

View File

@@ -2,60 +2,48 @@
============================================== ==============================================
@tableofcontents @tableofcontents
On Windows, the easiest way to install third-party libraries is to download archive with pre-built binaries from https://opencascade.com/content/3rd-party-components. On Windows, the easiest way to install third-party libraries is to download archive with pre-built binaries from https://dev.opencascade.org/resources/download/3rd-party-components.
On Linux and OS X, it is recommended to use the version installed in the system natively. On Linux and macOS, it is recommended to use the version installed in the system natively.
@section dev_guides__building_3rdparty_win_1 Windows @section dev_guides__building_3rdparty_win_1 Windows
This document presents guidelines for building third-party products used by Open CASCADE Technology (OCCT) and samples on Windows platform. It is assumed that you are already familiar with MS Visual Studio / Visual C++. This section presents guidelines for building third-party products used by Open CASCADE Technology (OCCT) and samples on Windows platform.
It is assumed that you are already familiar with MS Visual Studio / Visual C++.
You need to use the same version of MS Visual Studio for building all third-party products and OCCT itself, in order to receive a consistent set of run-time binaries. You need to use the same version of MS Visual Studio for building all third-party products and OCCT itself, in order to receive a consistent set of runtime binaries.
The links for downloading the third-party products are available at https://opencascade.com/content/3rd-party-components. It is recommended to create a separate new folder on your workstation, where you will unpack the downloaded archives of the third-party products, and where you will build these products (for example, `c:/occ3rdparty`).
Further in this document, this folder is referred to as `3rdparty`.
There are two types of third-party products used by OCCT:
* Mandatory products:
* Tcl/Tk 8.5 -- 8.6;
* FreeType 2.4.10 -- 2.5.3.
* Optional products:
* TBB 3.x -- 4.x;
* FreeImage 3.14.1 -- 3.16.0;
* VTK 6.1.0.
It is recommended to create a separate new folder on your workstation, where you will unpack the downloaded archives of the third-party products, and where you will build these products (for example, *c:\\occ3rdparty*).
Further in this document, this folder is referred to as *3rdparty*.
@subsection dev_guides__building_3rdparty_win_2 Tcl/Tk @subsection dev_guides__building_3rdparty_win_2 Tcl/Tk
Tcl/Tk is required for DRAW test harness. Tcl/Tk is required for DRAW test harness.
**Installation from sources: Tcl** **Installation from sources: Tcl**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
1. In the *win* sub-directory, edit file *buildall.vc.bat*: 1. In the `win` sub-directory, edit file `buildall.vc.bat`:
* Edit the line "call ... vcvars32.bat" to have correct path to the version of Visual Studio to be used for building, for instance: * Edit the line `"call ... vcvars32.bat"` to have correct path to the version of Visual Studio to be used for building, for instance:
call "%VS80COMNTOOLS%\vsvars32.bat" call "%VS80COMNTOOLS%\vsvars32.bat"
If you are building 64-bit version, set environment accordingly, e.g.: If you are building 64-bit version, set environment accordingly, e.g.:
call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64 call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64
* Define variable *INSTALLDIR* pointing to directory where Tcl/Tk will be installed, e.g.: * Define variable `INSTALLDIR` pointing to directory where Tcl/Tk will be installed, e.g.:
set INSTALLDIR=D:\OCCT\3rdparty\tcltk-86-32 set INSTALLDIR=D:\OCCT\3rdparty\tcltk-86-32
* Add option *install* to the first command line calling *nmake*: * Add option `install` to the first command line calling `nmake`:
nmake -nologo -f makefile.vc release htmlhelp install %1 nmake -nologo -f makefile.vc release htmlhelp install %1
* Remove second call to *nmake* (building statically linked executable) * Remove second call to `nmake` (building statically linked executable)
2. Edit file *rules.vc* replacing line 2. Edit file `rules.vc` replacing line
SUFX = tsgx SUFX = tsgx
@@ -65,21 +53,18 @@ Download the necessary archive from https://www.tcl.tk/software/tcltk/download.h
This is to avoid extra prefix 't' in the library name, which is not recognized by default by OCCT build tools. This is to avoid extra prefix 't' in the library name, which is not recognized by default by OCCT build tools.
3. By default, Tcl uses dynamic version of run-time library (MSVCRT), which must be installed on the system where Tcl will be used. 3. By default, Tcl uses dynamic version of run-time library (MSVCRT), which must be installed on the system where Tcl will be used.
You may wish to link Tcl library with static version of run-time to avoid this dependency. You may wish to link Tcl library with static version of run-time to avoid this dependency.
For that: For that:
* Edit file *makefile.vc* replacing strings "crt = -MD" by "crt = -MT" * Edit file `makefile.vc` replacing strings `"crt = -MD"` by `"crt = -MT"`
* Edit source file *tclMain.c* (located in folder *generic*) commenting out forward declaration of function *isatty()*. * Edit source file `tclMain.c` (located in folder `generic`) commenting out forward declaration of function `isatty()`.
4. In the command prompt, run `buildall.vc.bat`<br>
You might need to run this script twice to have `tclsh` executable installed; check subfolder `bin` of specified installation path to verify this.
4. In the command prompt, run *buildall.vc.bat* 5. For convenience of use, we recommend making a copy of `tclsh` executable created in subfolder `bin` of `INSTALLDIR` and named with Tcl version number suffix, as `tclsh.exe` (with no suffix)
You might need to run this script twice to have *tclsh* executable installed; check subfolder *bin* of specified installation path to verify this.
5. For convenience of use, we recommend making a copy of *tclsh* executable created in subfolder *bin* of *INSTALLDIR* and named with Tcl version number suffix, as *tclsh.exe* (with no suffix)
> cd D:\OCCT\3rdparty\tcltk-86-32\bin > cd D:\OCCT\3rdparty\tcltk-86-32\bin
> cp tclsh86.exe tclsh.exe > cp tclsh86.exe tclsh.exe
@@ -87,190 +72,153 @@ Download the necessary archive from https://www.tcl.tk/software/tcltk/download.h
**Installation from sources: Tk** **Installation from sources: Tk**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
Apply the same steps as described for building Tcl above, with the same `INSTALLDIR`.
Note that Tk produces its own executable, called `wish`.
Apply the same steps as described for building Tcl above, with the same INSTALLDIR. You might need to edit default value of `TCLDIR` variable defined in `buildall.vc.bat` (should be not necessary if you unpack both Tcl and Tk sources in the same folder).
Note that Tk produces its own executable, called *wish*.
You might need to edit default value of *TCLDIR* variable defined in *buildall.vc.bat* (should be not necessary if you unpack both Tcl and Tk sources in the same folder).
@subsection dev_guides__building_3rdparty_win_2_2 FreeType @subsection dev_guides__building_3rdparty_win_2_2 FreeType
FreeType is required for text display in a 3D viewer. You can download its sources from https://sourceforge.net/projects/freetype/files/ FreeType is required for text display in a 3D viewer.
You can download its sources from https://freetype.org/
### The building procedure 1. Unpack the downloaded archive of FreeType product into the `3rdparty` folder.
As a result, you will get a folder named, for example, `3rdparty/freetype-2.4.10`.
Further in this document, this folder is referred to as `freetype`.
1. Unpack the downloaded archive of FreeType product into the *3rdparty* folder. As a result, you will get a folder named, for example, *3rdparty\\freetype-2.4.10*. Further in this document, this folder is referred to as *freetype*. 2. Open the solution file `freetype/builds/win32/vc20xx/freetype.sln` in Visual Studio.
Here `vc20xx` stands for your version of Visual Studio.
2. Open the solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln* in Visual Studio. Here *vc20xx* stands for your version of Visual Studio.
3. Select the configuration to build: either Debug or Release. 3. Select the configuration to build: either `Debug` or `Release`.
4. Build the *freetype* project. 4. Build the `freetype` project.<br>
As a result, you will get a `freetype` import library (`.lib`) in the `freetype/obj/win32/vc20xx` folder.
As a result, you will get a freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx* folder. 5. If you build FreeType for a 64 bit platform, select in the main menu `Build - Configuration Manager`
and add `x64` platform to the solution configuration by copying the settings from `Win32` platform:
5. If you build FreeType for a 64 bit platform, select in the main menu **Build - Configuration Manager** and add *x64* platform to the solution configuration by copying the settings from Win32 platform:
@figure{/build/build_3rdparty/images/3rdparty_image001.png} @figure{/build/build_3rdparty/images/3rdparty_image001.png}
Update the value of the Output File for x64 configuration: Update the value of the Output File for `x64` configuration:
@figure{/build/build_3rdparty/images/3rdparty_image003.png} @figure{/build/build_3rdparty/images/3rdparty_image003.png}
Build the *freetype* project. Build the `freetype` project.<br>
As a result, you will obtain a 64 bit import library (`.lib`) file in the `freetype/x64/vc20xx` folder.
To build FreeType as a dynamic library (`.dll`) follow steps 6, 7 and 8 of this procedure.
As a result, you will obtain a 64 bit import library (.lib) file in the *freetype\\x64\\vc20xx* folder. 6. Open menu Project-> Properties-> Configuration Properties-> General and change option `Configuration Type` to `Dynamic Library (.dll)`.
7. Edit file `freetype/include/freetype/config/ftoption.h`:<br>
in line 255, uncomment the definition of macro `FT_EXPORT` and change it as follows:
To build FreeType as a dynamic library (.dll) follow steps 6, 7 and 8 of this procedure. #define FT_EXPORT(x) __declspec(dllexport) x
6. Open menu Project-> Properties-> Configuration Properties-> General and change option **Configuration Type** to *Dynamic Library (.dll)*. 8. Build the `freetype` project.<br>
7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*: As a result, you will obtain the files of the import library (`.lib`) and the dynamic library (`.dll`) in folders `freetype/objs/release` or `freetype/objs/debug`.
If you build for a 64 bit platform, follow step 5 of the procedure.
in line 255, uncomment the definition of macro *FT_EXPORT* and change it as follows:
#define FT_EXPORT(x) __declspec(dllexport) x To facilitate the use of FreeType libraries in OCCT with minimal adjustment of build procedures,
it is recommended to copy the include files and libraries of FreeType into a separate folder, named according to the pattern `freetype-compiler-bitness-building mode`, where:
8. Build the *freetype* project. * `compiler` is `vc8` or `vc9` or `vc10` or `vc11`;
* `bitness` is `32` or `64`;
As a result, you will obtain the files of the import library (.lib) and the dynamic library (.dll) in folders <i>freetype \\objs\\release</i> or <i>\\objs\\debug </i>. * `building mode` is `opt` (for `Release`) or `deb` (for `Debug`).
If you build for a 64 bit platform, follow step 5 of the procedure.
To facilitate the use of FreeType libraries in OCCT with minimal adjustment of build procedures, it is recommended to copy the include files and libraries of FreeType into a separate folder, named according to the pattern: *freetype-compiler-bitness-building mode*, where:
* **compiler** is *vc8* or *vc9* or *vc10* or *vc11*;
* **bitness** is *32* or *64*;
* **building mode** is *opt* (for Release) or *deb* (for Debug).
The *include* subfolder should be copied as is, while libraries should be renamed to *freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories *lib *and *bin*, respectively. If the Debug configuration is built, the Debug libraries should be put into subdirectories *libd* and *bind*.
The `include` subfolder should be copied as is, while libraries should be renamed to `freetype.lib` and `freetype.dll` (suffixes removed) and placed to subdirectories `lib` and `bin`, respectively.
If the `Debug` configuration is built, the Debug libraries should be put into subdirectories `libd` and `bind`.
@subsection dev_guides__building_3rdparty_win_3_1 TBB @subsection dev_guides__building_3rdparty_win_3_1 TBB
This third-party product is installed with binaries This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb.
from the archive that can be downloaded from https://github.com/intel/tbb. Go to the **Download** page, find the release version you need (e.g. `tbb30_018oss`) and pick the archive for Windows platform.
Go to the **Download** page, find the release version you need (e.g. *tbb30_018oss*) and pick the archive for Windows platform.
Unpack the downloaded archive of TBB product into the *3rdparty* folder. Unpack the downloaded archive of TBB product into the `3rdparty` folder.
Further in this document, this folder is referred to as *tbb*. Further in this document, this folder is referred to as `tbb`.
@subsection dev_guides__building_3rdparty_win_3_3 FreeImage @subsection dev_guides__building_3rdparty_win_3_3 FreeImage
This third-party product should be built as a dynamically loadable library (.dll file). This third-party product should be built as a dynamically loadable library (`.dll` file).
You can download its sources from You can download its sources from
https://sourceforge.net/projects/freeimage/files/Source%20Distribution/ https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
### The building procedure: 1. Unpack the downloaded archive of FreeImage product into `3rdparty` folder.<br>
As a result, you should have a folder named `3rdparty/FreeImage`.
Rename it according to the rule: `freeimage-platform-compiler-building mode`, where
1. Unpack the downloaded archive of FreeImage product into *3rdparty* folder. * `platform` is `win32` or `win64`;
* `compiler` is `vc8` or `vc9` or `vc10` or `vc11`;
As a result, you should have a folder named *3rdparty\\FreeImage*. * `building mode` is *opt* (for release) or `deb` (for debug)
Rename it according to the rule: *freeimage-platform-compiler-building mode*, where
* **platform** is *win32* or *win64*;
* **compiler** is *vc8* or *vc9* or *vc10* or *vc11*;
* **building mode** is *opt* (for release) or *deb* (for debug)
Further in this document, this folder is referred to as *freeimage*. Further in this document, this folder is referred to as `freeimage`.
2. Open the solution file *freeimage\\FreeImage.*.sln* in your Visual Studio. 2. Open the solution file `freeimage/FreeImage.*.sln` in your Visual Studio.<br>
If you use a Visual Studio version higher than VC++ 2008, apply conversion of the workspace.
If you use a Visual Studio version higher than VC++ 2008, apply conversion of the workspace. Such conversion should be suggested automatically by Visual Studio.
Such conversion should be suggested automatically by Visual Studio.
3. Select a configuration to build.
- Choose **Release** if you are building Release binaries. 3. Select a configuration to build.
- Choose **Debug** if you are building Debug binaries. - Choose `Release` if you are building Release binaries.
- Choose `Debug` if you are building Debug binaries.
*Note:* *Note:*
If you want to build a debug version of FreeImage binaries then you need to rename the following files in FreeImage projects:
If you want to build a debug version of FreeImage binaries then you need to rename the following files in FreeImage and FreeimagePlus projects:
Project -> Properties -> Configuration Properties -> Linker -> General -> Output File Project -> Properties -> Configuration Properties -> Linker -> General -> Output File
FreeImage*d*.dll to FreeImage.dll FreeImage*d*.dll to FreeImage.dll
FreeImagePlus*d*.dll to FreeImagePlus.dll
Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File
FreeImage*d*.pdb to FreeImage.pdb FreeImage*d*.pdb to FreeImage.pdb
FreeImagePlus*d*.pdb to FreeImagePlus.pdb
Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library
FreeImage*d*.lib to FreeImage.lib FreeImage*d*.lib to FreeImage.lib
FreeImagePlus*d*.lib to FreeImagePlus.lib
Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line
FreeImage*d*.dll to FreeImage.dll FreeImage*d*.dll to FreeImage.dll
FreeImage*d*.lib to FreeImage.lib FreeImage*d*.lib to FreeImage.lib
FreeImagePlus*d*.dll to FreeImagePlus.dll
FreeImagePlus*d*.lib to FreeImagePlus.lib
Additionally, rename in project FreeImagePlus Additionally, rename in project FreeImagePlus
Project -> Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies
from FreeImage*d*.lib to FreeImage.lib Project -> Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies
4. Select a platform to build. from FreeImage*d*.lib to FreeImage.lib
- Choose *Win32* if you are building for a 32 bit platform. 4. Select a platform to build.
- Choose *x64* if you are building for a 64 bit platform. - Choose `Win32` if you are building for a 32 bit platform.
- Choose `x64` if you are building for a 64 bit platform.
5. Start the building process. 5. Start the building process.<br>
As a result, you should have the library files of FreeImage product in `freeimage/Dist` folder (`FreeImage.dll` and `FreeImage.lib`).
As a result, you should have the library files of FreeImage product in *freeimage\\Dist* folder (*FreeImage.dll* and *FreeImage.lib*) and in *freeimage\\Wrapper\\FreeImagePlus\\dist* folder (*FreeImagePlus.dll* and *FreeImagePlus.lib*).
@subsection dev_guides__building_3rdparty_win_3_4 VTK @subsection dev_guides__building_3rdparty_win_3_4 VTK
VTK is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK Integration Services component provides adaptation functionality for visualization of OCCT topological shapes by means of VTK library. VTK Integration Services component provides adaptation functionality for visualization of OCCT topological shapes by means of VTK library.
### The building procedure: 1. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it into `3rdparty` folder.<br>
As a result, you will get a folder named, for example, `3rdparty/VTK-6.1.0`.
1. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it into *3rdparty* folder. Further in this document, this folder is referred to as `VTK`.
As a result, you will get a folder named, for example, <i>3rdparty\VTK-6.1.0.</i>
Further in this document, this folder is referred to as *VTK*.
2. Use CMake to generate VS projects for building the library: 2. Use CMake to generate VS projects for building the library:
- Start CMake-GUI and select VTK folder as source path, and the folder of your choice for VS project and intermediate build data. - Start CMake-GUI and select `VTK` folder as source path, and the folder of your choice for VS project and intermediate build data.
- Click **Configure**. - Click **Configure**.
- Select the VS version to be used from the ones you have installed (we recommend using VS 2015) and the architecture (32 or 64-bit). - Select the VS version to be used from the ones you have installed (we recommend using VS 2015) and the architecture (32 or 64-bit).
- Generate VS projects with default CMake options. The open solution *VTK.sln* will be generated in the build folder. - Generate VS projects with default CMake options. The open solution `VTK.sln` will be generated in the build folder.
3. Build project VTK in Release mode. 3. Build project VTK in Release mode.
@section build_3rdparty_linux Linux @section build_3rdparty_linux Linux
This document presents additional guidelines for building third-party This section presents additional guidelines for building third-party products used by Open CASCADE Technology and samples on Linux platform.
products used by Open CASCADE Technology and samples on Linux platform.
The links for downloading the third-party products are available on the web site at
https://opencascade.com/content/3rd-party-components.
There are two types of third-party products, which are necessary to build OCCT:
* Mandatory products:
* Tcl/Tk 8.5 - 8.6;  
* FreeType 2.4.10 - 2.5.3;
* Optional products:
* TBB 3.x - 4.x;
* FreeImage 3.14.1 - 3.16.0;
* VTK 6.1.0.
@subsection dev_guides__building_3rdparty_linux_4 Installation From Official Repositories @subsection dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
**Debian-based distributives** **Debian-based distributives**
All 3rd-party products required for building of OCCT could be installed All 3rd-party products required for building of OCCT could be installed from official repositories.
from official repositories. You may install them from console using apt-get utility: You may install them from console using apt-get utility:
sudo apt-get install tcllib tklib tcl-dev tk-dev libfreetype-dev libx11-dev libgl1-mesa-dev libfreeimage-dev sudo apt-get install tcllib tklib tcl-dev tk-dev libfreetype-dev libx11-dev libgl1-mesa-dev libfreeimage-dev
sudo apt-get install rapidjson-dev libdraco-dev sudo apt-get install rapidjson-dev libdraco-dev
@@ -279,148 +227,148 @@ Building is possible with C++ compliant compiler:
sudo apt-get install g++ sudo apt-get install g++
@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk @subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk
Tcl/Tk is required for DRAW test harness. Tcl/Tk is required for DRAW test harness.
**Installation from sources: Tcl** **Installation from sources: Tcl**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
1. Enter the unix sub-directory of the directory where the Tcl source files are located <i>(TCL_SRC_DIR)</i>.
cd TCL_SRC_DIR/unix 1. Enter the `unix` sub-directory of the directory where the Tcl source files are located (`TCL_SRC_DIR`).
2. Run the *configure* command: cd TCL_SRC_DIR/unix
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR 2. Run the `configure` command:
For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
3. If the configure command has finished successfully, start the building process:
make
4. If building is finished successfully, start the installation of Tcl. For a 64 bit platform also add `--enable-64bit` option to the command line.
All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR*
make install 3. If the configure command has finished successfully, start the building process:
make
4. If building is finished successfully, start the installation of Tcl.
All binary and service files of the product will be copied to the directory defined by `TCL_INSTALL_DIR`
make install
**Installation from sources: Tk** **Installation from sources: Tk**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
1. Enter the unix sub-directory of the directory where the Tk source files are located <i>(TK_SRC_DIR)</i> 1. Enter the `unix` sub-directory of the directory where the Tk source files are located (`TK_SRC_DIR`)
cd TK_SRC_DIR/unix cd TK_SRC_DIR/unix
2. Run the configure command, where <i>TCL_LIB_DIR</i> is *TCL_INSTALL_DIR/lib*. 2. Run the `configure` command, where `TCL_LIB_DIR` is `TCL_INSTALL_DIR/lib`.
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. For a 64 bit platform also add `--enable-64bit` option to the command line.
3. If the configure command has finished successfully, start the building process: 3. If the configure command has finished successfully, start the building process:
make make
4. If the building has finished successfully, start the installation of Tk. 4. If the building has finished successfully, start the installation of Tk.
All binary and service files of the product will be copied All binary and service files of the product will be copied
to the directory defined by *TK_INSTALL_DIR* (usually it is *TCL_INSTALL_DIR*) to the directory defined by `TK_INSTALL_DIR` (usually it is `TCL_INSTALL_DIR`)
make install make install
@subsection dev_guides__building_3rdparty_linux_2_2 FreeType @subsection dev_guides__building_3rdparty_linux_2_2 FreeType
FreeType is required for text display in the 3D viewer. FreeType is required for text display in the 3D viewer.
Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it. Download the necessary archive from https://freetype.org/ and unpack it.
1. Enter the directory where the source files of FreeType are located <i>(FREETYPE_SRC_DIR)</i>. 1. Enter the directory where the source files of FreeType are located (`FREETYPE_SRC_DIR`).
cd FREETYPE_SRC_DIR cd FREETYPE_SRC_DIR
2. Run the *configure* command: 2. Run the `configure` command:
configure --prefix=FREETYPE_INSTALL_DIR
For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'</i> option to the command line. configure --prefix=FREETYPE_INSTALL_DIR
3. If the *configure* command has finished successfully, start the building process:
make For a 64 bit platform also add `CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'` option to the command line.
4. If the building has finished successfully, start the installation of FreeType. 3. If the `configure` command has finished successfully, start the building process:
All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR*
make
make install
4. If the building has finished successfully, start the installation of FreeType.
All binary and service files of the product will be copied to the directory defined by `FREETYPE_INSTALL_DIR`
make install
@subsection dev_guides__building_3rdparty_linux_3_1 TBB @subsection dev_guides__building_3rdparty_linux_3_1 TBB
This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb. This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb.
Go to the **Download** page, find the release version you need and pick the archive for Linux platform. Go to the **Download** page, find the release version you need and pick the archive for Linux platform.
To install, unpack the downloaded archive of TBB product. To install, unpack the downloaded archive of TBB product.
@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage @subsection dev_guides__building_3rdparty_linux_3_3 FreeImage
Download the necessary archive from https://sourceforge.net/projects/freeimage/files/Source%20Distribution/ Download the necessary archive from https://sourceforge.net/projects/freeimage/files/Source%20Distribution/ and unpack it.
and unpack it. The directory with unpacked sources is further referred to as *FREEIMAGE_SRC_DIR*. The directory with unpacked sources is further referred to as `FREEIMAGE_SRC_DIR`.
1. Modify *FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h*:
In line 60 insert the following:
#include string.h 1. Modify `FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h`:<br>
In line 60 insert the following:
2. Enter the directory where the source files of FreeImage are located <i>(FREEIMAGE_SRC_DIR)</i>. #include string.h
cd FREEIMAGE_SRC_DIR
3. Run the building process 2. Enter the directory where the source files of FreeImage are located (`FREEIMAGE_SRC_DIR`).
make
4. Run the installation process cd FREEIMAGE_SRC_DIR
a. If you have the permission to write into directories <i>/usr/include</i> and <i>/usr/lib</i>, run the following command: 3. Run the building process
make
4. Run the installation process
a. If you have the permission to write into directories `/usr/include` and `/usr/lib`, run the following command:
make install
b. If you do not have this permission, you need to modify file `FREEIMAGE_SRC_DIR/Makefile.gnu`:
make install
b. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.gnu*:
Change lines 7-9 from: Change lines 7-9 from:
DESTDIR ?= /
INCDIR ?= $(DESTDIR)/usr/include
INSTALLDIR ?= $(DESTDIR)/usr/lib
to: DESTDIR ?= /
INCDIR ?= $(DESTDIR)/usr/include
INSTALLDIR ?= $(DESTDIR)/usr/lib
DESTDIR ?= $(DESTDIR)
INCDIR ?= $(DESTDIR)/include
INSTALLDIR ?= $(DESTDIR)/lib
Change lines 65-67 from:
install -m 644 -o root -g root $(HEADER) $(INCDIR)
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
to: to:
install -m 755 $(HEADER) $(INCDIR) DESTDIR ?= $(DESTDIR)
install -m 755 $(STATICLIB) $(INSTALLDIR) INCDIR ?= $(DESTDIR)/include
INSTALLDIR ?= $(DESTDIR)/lib
Change lines 65-67 from:
install -m 644 -o root -g root $(HEADER) $(INCDIR)
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
to:
install -m 755 $(HEADER) $(INCDIR)
install -m 755 $(STATICLIB) $(INSTALLDIR)
install -m 755 $(SHAREDLIB) $(INSTALLDIR) install -m 755 $(SHAREDLIB) $(INSTALLDIR)
Change line 70 from:  Change line 70 from:
ldconfig ldconfig
to: to:
\#ldconfig \#ldconfig
Then run the installation process by the following command:
make DESTDIR=FREEIMAGE_INSTALL_DIR install Then run the installation process by the following command:
make DESTDIR=FREEIMAGE_INSTALL_DIR install
5. Clean temporary files 5. Clean temporary files
@@ -428,201 +376,180 @@ and unpack it. The directory with unpacked sources is further referred to as *F
@subsection dev_guides__building_3rdparty_linux_3_4 VTK @subsection dev_guides__building_3rdparty_linux_3_4 VTK
You can download VTK sources from https://www.vtk.org/VTK/resources/software.html
### The building procedure:
Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it.
1. Install or build *cmake* product from the source file. 1. Install or build `cmake` product from the source file.
2. Start *cmake* in GUI mode with the directory where the source files of *VTK* are located: 2. Start `cmake` in GUI mode with the directory where the source files of *VTK* are located:
ccmake VTK_SRC_DIR ccmake VTK_SRC_DIR
* Press <i>[c]</i> to make the initial configuration * Press `[c]` to make the initial configuration
* Define the necessary options in *VTK_INSTALL_PREFIX* * Define the necessary options in `VTK_INSTALL_PREFIX`
* Press <i>[c]</i> to make the final configuration * Press `[c]` to make the final configuration
* Press <i>[g]</i> to generate Makefile and exit * Press `[g]` to generate `Makefile` and exit
3. Start the building of VTK: 3. Start the building of VTK:
make make
4. Start the installation of VTK. Binaries will be installed according to the *VTK_INSTALL_PREFIX* option. 4. Start the installation of VTK. Binaries will be installed according to the `VTK_INSTALL_PREFIX` option.
make install make install
@section build_3rdparty_macos Mac OS X @section build_3rdparty_macos Mac OS X
This document presents additional guidelines for building third-party products This section presents additional guidelines for building third-party products
used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4 and later). used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4 and later).
The links for downloading the third-party products are available at https://opencascade.com/content/3rd-party-components. @subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk
There are two types of third-party products, which are necessary to build OCCT: Tcl/Tk is required for DRAW test harness.
* Mandatory products:
* Tcl/Tk 8.5 - 8.6;
* FreeType 2.4.10 - 2.5.3.
* Optional products:
* TBB 3.x - 4.x;
* FreeImage 3.14.1 - 3.16.0
@subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5 **Installation from sources: Tcl**
Tcl/Tk is required for DRAW test harness. Version 8.5 or 8.6 can be used with OCCT.
**Installation from sources: Tcl 8.5**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
1. Enter the *macosx* sub-directory of the directory where the Tcl source files are located <i>(TCL_SRC_DIR)</i>. 1. Enter the `macosx` sub-directory of the directory where the Tcl source files are located (`TCL_SRC_DIR`).
cd TCL_SRC_DIR/macosx cd TCL_SRC_DIR/macosx
2. Run the *configure* command 2. Run the `configure` command
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. For a 64 bit platform also add `--enable-64bit` option to the command line.
3. If the *configure* command has finished successfully, start the building process 3. If the `configure` command has finished successfully, start the building process
make make
4. If building is finished successfully, start the installation of Tcl.
All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR*.
make install 4. If building is finished successfully, start the installation of Tcl.
All binary and service files of the product will be copied to the directory defined by `TCL_INSTALL_DIR`.
**Installation from sources: Tk 8.5** make install
**Installation from sources: Tk**
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it. Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
1. Enter the *macosx* sub-directory of the directory where the source files of Tk are located <i>(TK_SRC_DIR)</i>. 1. Enter the `macosx` sub-directory of the directory where the source files of Tk are located (`TK_SRC_DIR`).
cd TK_SRC_DIR/macosx cd TK_SRC_DIR/macosx
2. Run the *configure* command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib 2. Run the `configure` command, where `TCL_LIB_DIR` is `TCL_INSTALL_DIR/lib`
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. For a 64 bit platform also add `--enable-64bit` option to the command line.
3. If the *configure* command has finished successfully, start the building process: 3. If the `configure` command has finished successfully, start the building process:
make make
4. If the building has finished successfully, start the installation of Tk. All binary and service files of the product will be copied to the directory defined by *TK_INSTALL_DIR* (usually it is TCL_INSTALL_DIR) 4. If the building has finished successfully, start the installation of Tk.
All binary and service files of the product will be copied to the directory defined by `TK_INSTALL_DIR` (usually it is `TCL_INSTALL_DIR`).
make install make install
@subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10 @subsection dev_guides__building_3rdparty_osx_2_2 FreeType
FreeType is required for text display in the 3D viewer.
Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it. FreeType is required for text display in the 3D viewer.
Download the necessary archive from https://freetype.org/ and unpack it.
1. Enter the directory where the source files of FreeType are located <i>(FREETYPE_SRC_DIR)</i>. 1. Enter the directory where the source files of FreeType are located (`FREETYPE_SRC_DIR`).
cd FREETYPE_SRC_DIR cd FREETYPE_SRC_DIR
2. Run the *configure* command 2. Run the `configure` command
configure --prefix=FREETYPE_INSTALL_DIR
For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'</i> option to the command line. configure --prefix=FREETYPE_INSTALL_DIR
3. If the *configure* command has finished successfully, start the building process For a 64 bit platform also add `CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'` option to the command line.
make 3. If the `configure` command has finished successfully, start the building process
4. If building has finished successfully, start the installation of FreeType. make
All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR*.
make install 4. If building has finished successfully, start the installation of FreeType.
All binary and service files of the product will be copied to the directory defined by `FREETYPE_INSTALL_DIR`.
@subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
This third-party product is installed with binaries from the archive make install
that can be downloaded from https://github.com/intel/tbb.
Go to the **Download** page, find the release version you need (e.g. *tbb30_018oss*)
and pick the archive for Mac OS X platform.
To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
@subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x @subsection dev_guides__building_3rdparty_osx_3_1 TBB
Download the necessary archive from This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb.
Go to the **Download** page, find the release version you need (e.g. `tbb30_018oss`) and pick the archive for Mac OS X platform.
To install, unpack the downloaded archive of TBB product (`tbb30_018oss_osx.tgz`).
@subsection dev_guides__building_3rdparty_osx_3_3 FreeImage
Download the necessary archive from
https://sourceforge.net/projects/freeimage/files/Source%20Distribution/ https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
and unpack it. The directory with unpacked sources is further referred to as *FREEIMAGE_SRC_DIR*. and unpack it. The directory with unpacked sources is further referred to as `FREEIMAGE_SRC_DIR`.
Note that for building FreeImage on Mac OS X 10.7 you should replace *Makefile.osx* Note that for building FreeImage on Mac OS X 10.7 you should replace `Makefile.osx`
in *FREEIMAGE_SRC_DIR* by the corrected file, which you can find in attachment to issue #22811 in OCCT Mantis bug tracker in `FREEIMAGE_SRC_DIR` by the corrected file, which you can find in attachment to issue [`#22811`](https://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) in OCCT Mantis bug tracker.
(https://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug).
1. If you build FreeImage 3.15.x you can skip this step. 1. If you build FreeImage 3.15.x you can skip this step.
Modify <i>FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:</i>
In line 60 insert the following:
#include string.h Modify `FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:`<br>
In line 60 insert the following:
Modify <i>FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:</i> #include string.h
In line 320 replace:
SwapShort(value); Modify `FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp`:<br>
In line 320 replace:
with: SwapShort(value);
SwapShort(&value); with:
2. Enter the directory where the source files of FreeImage are located <i>(FREEIMAGE_SRC_DIR)</i>. SwapShort(&value);
cd FREEIMAGE_SRC_DIR 2. Enter the directory where the source files of FreeImage are located (`FREEIMAGE_SRC_DIR`).
cd FREEIMAGE_SRC_DIR
3. Run the building process 3. Run the building process
make make
4. Run the installation process 4. Run the installation process
1. If you have the permission to write into <i>/usr/local/include</i> and <i>/usr/local/lib</i> directories, run the following command:
make install 1. If you have the permission to write into `/usr/local/include` and `/usr/local/lib` directories, run the following command:
2. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.osx*: make install
Change line 49 from:    2. If you do not have this permission, you need to modify file `FREEIMAGE_SRC_DIR/Makefile.osx`:<br>
Change line 49 from:
PREFIX ?= /usr/local PREFIX ?= /usr/local
to: to:
PREFIX ?= $(PREFIX)
  Change lines 65-69 from: PREFIX ?= $(PREFIX)
install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)   Change lines 65-69 from:
install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
ranlib -sf $(INSTALLDIR)/$(STATICLIB)
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
to:
install -d $(INCDIR) $(INSTALLDIR) install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)
install -m 755 $(HEADER) $(INCDIR) install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
install -m 755 $(STATICLIB) $(INSTALLDIR) install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
install -m 755 $(SHAREDLIB) $(INSTALLDIR) ranlib -sf $(INSTALLDIR)/$(STATICLIB)
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
to:
install -d $(INCDIR) $(INSTALLDIR)
install -m 755 $(HEADER) $(INCDIR)
install -m 755 $(STATICLIB) $(INSTALLDIR)
install -m 755 $(SHAREDLIB) $(INSTALLDIR)
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
Then run the installation process by the following command: Then run the installation process by the following command:
make PREFIX=FREEIMAGE_INSTALL_DIR install make PREFIX=FREEIMAGE_INSTALL_DIR install
5. Clean temporary files 5. Clean temporary files
make clean make clean

View File

@@ -1960,6 +1960,12 @@ public:
return aDeriv.Transformed(mySurfaceTrsf); return aDeriv.Transformed(mySurfaceTrsf);
} }
gp_Dir Normal()
{
gp_Dir aNormal = mySurfaceProps.Normal();
return aNormal.Transformed(mySurfaceTrsf);
}
// Calculate principal curvatures, which consist of minimal and maximal normal curvatures and // Calculate principal curvatures, which consist of minimal and maximal normal curvatures and
// the directions on the tangent plane (principal direction) where the extremums are reached // the directions on the tangent plane (principal direction) where the extremums are reached
void Curvature(gp_Dir& thePrincipalDir1, Standard_Real& theCurvature1, void Curvature(gp_Dir& thePrincipalDir1, Standard_Real& theCurvature1,
@@ -1998,32 +2004,63 @@ private:
//purpose : check the angle at the border between two squares. //purpose : check the angle at the border between two squares.
// Two shares should have a shared front edge. // Two shares should have a shared front edge.
//======================================================================= //=======================================================================
static GeomAbs_Shape tgtfaces(const TopoDS_Edge& Ed, GeomAbs_Shape BRepLib::ContinuityOfFaces(const TopoDS_Edge& theEdge,
const TopoDS_Face& F1, const TopoDS_Face& theFace1,
const TopoDS_Face& F2, const TopoDS_Face& theFace2,
const Standard_Real theAngleTol) const Standard_Real theAngleTol)
{ {
Standard_Boolean isSeam = F1.IsEqual(F2); Standard_Boolean isSeam = theFace1.IsEqual(theFace2);
TopoDS_Edge E = Ed; TopoDS_Edge anEdgeInFace1, anEdgeInFace2;
Handle(Geom2d_Curve) aCurve1, aCurve2;
Standard_Real aFirst, aLast;
if (!theFace1.IsSame (theFace2) &&
BRep_Tool::IsClosed (theEdge, theFace1) &&
BRep_Tool::IsClosed (theEdge, theFace2))
{
//Find the edge in the face 1: this edge will have correct orientation
TopoDS_Face aFace1 = theFace1;
aFace1.Orientation (TopAbs_FORWARD);
TopExp_Explorer anExplo (aFace1, TopAbs_EDGE);
for (; anExplo.More(); anExplo.Next())
{
const TopoDS_Edge& anEdge = TopoDS::Edge (anExplo.Current());
if (anEdge.IsSame (theEdge))
{
anEdgeInFace1 = anEdge;
break;
}
}
if (anEdgeInFace1.IsNull())
return GeomAbs_C0;
aCurve1 = BRep_Tool::CurveOnSurface (anEdgeInFace1, aFace1, aFirst, aLast);
TopoDS_Face aFace2 = theFace2;
aFace2.Orientation (TopAbs_FORWARD);
anEdgeInFace2 = anEdgeInFace1;
anEdgeInFace2.Reverse();
aCurve2 = BRep_Tool::CurveOnSurface (anEdgeInFace2, aFace2, aFirst, aLast);
}
else
{
// Obtaining of pcurves of edge on two faces.
anEdgeInFace1 = anEdgeInFace2 = theEdge;
aCurve1 = BRep_Tool::CurveOnSurface (anEdgeInFace1, theFace1, aFirst, aLast);
//For the case of seam edge
if (theFace1.IsSame(theFace2))
anEdgeInFace2.Reverse();
aCurve2 = BRep_Tool::CurveOnSurface (anEdgeInFace2, theFace2, aFirst, aLast);
}
// Check if pcurves exist on both faces of edge if (aCurve1.IsNull() || aCurve2.IsNull())
Standard_Real aFirst,aLast;
E.Orientation(TopAbs_FORWARD);
Handle(Geom2d_Curve) aCurve1 = BRep_Tool::CurveOnSurface(E, F1, aFirst, aLast);
if(aCurve1.IsNull())
return GeomAbs_C0;
if (isSeam)
E.Orientation(TopAbs_REVERSED);
Handle(Geom2d_Curve) aCurve2 = BRep_Tool::CurveOnSurface(E, F2, aFirst, aLast);
if(aCurve2.IsNull())
return GeomAbs_C0; return GeomAbs_C0;
TopLoc_Location aLoc1, aLoc2; TopLoc_Location aLoc1, aLoc2;
Handle(Geom_Surface) aSurface1 = BRep_Tool::Surface(F1, aLoc1); Handle(Geom_Surface) aSurface1 = BRep_Tool::Surface (theFace1, aLoc1);
const gp_Trsf& aSurf1Trsf = aLoc1.Transformation(); const gp_Trsf& aSurf1Trsf = aLoc1.Transformation();
Handle(Geom_Surface) aSurface2 = BRep_Tool::Surface(F2, aLoc2); Handle(Geom_Surface) aSurface2 = BRep_Tool::Surface (theFace2, aLoc2);
const gp_Trsf& aSurf2Trsf = aLoc2.Transformation(); const gp_Trsf& aSurf2Trsf = aLoc2.Transformation();
if (aSurface1->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) if (aSurface1->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface)))
@@ -2040,11 +2077,11 @@ static GeomAbs_Shape tgtfaces(const TopoDS_Edge& Ed,
return GeomAbs_CN; return GeomAbs_CN;
} }
SurfaceProperties aSP1(aSurface1, aSurf1Trsf, aCurve1, F1.Orientation() == TopAbs_REVERSED); SurfaceProperties aSP1(aSurface1, aSurf1Trsf, aCurve1, theFace1.Orientation() == TopAbs_REVERSED);
SurfaceProperties aSP2(aSurface2, aSurf2Trsf, aCurve2, F2.Orientation() == TopAbs_REVERSED); SurfaceProperties aSP2(aSurface2, aSurf2Trsf, aCurve2, theFace2.Orientation() == TopAbs_REVERSED);
Standard_Real f, l, eps; Standard_Real f, l, eps;
BRep_Tool::Range(E,f,l); BRep_Tool::Range (theEdge,f,l);
Extrema_LocateExtPC ext; Extrema_LocateExtPC ext;
Handle(BRepAdaptor_Curve) aHC2; Handle(BRepAdaptor_Curve) aHC2;
@@ -2055,7 +2092,6 @@ static GeomAbs_Shape tgtfaces(const TopoDS_Edge& Ed,
const Standard_Real anAngleTol2 = theAngleTol * theAngleTol; const Standard_Real anAngleTol2 = theAngleTol * theAngleTol;
gp_Vec aDer1, aDer2; gp_Vec aDer1, aDer2;
gp_Vec aNorm1;
Standard_Real aSqLen1, aSqLen2; Standard_Real aSqLen1, aSqLen2;
gp_Dir aCrvDir1[2], aCrvDir2[2]; gp_Dir aCrvDir1[2], aCrvDir2[2];
Standard_Real aCrvLen1[2], aCrvLen2[2]; Standard_Real aCrvLen1[2], aCrvLen2[2];
@@ -2083,13 +2119,26 @@ static GeomAbs_Shape tgtfaces(const TopoDS_Edge& Ed,
aDer2 = aSP2.Derivative(); aDer2 = aSP2.Derivative();
aSqLen2 = aDer2.SquareMagnitude(); aSqLen2 = aDer2.SquareMagnitude();
Standard_Boolean isSmoothSuspect = (aDer1.CrossSquareMagnitude(aDer2) <= anAngleTol2 * aSqLen1 * aSqLen2); Standard_Boolean isSmoothSuspect = (aDer1.CrossSquareMagnitude(aDer2) <= anAngleTol2 * aSqLen1 * aSqLen2);
if (isSmoothSuspect)
{
gp_Dir aNormal1 = aSP1.Normal();
if (theFace1.Orientation() == TopAbs_REVERSED)
aNormal1.Reverse();
gp_Dir aNormal2 = aSP2.Normal();
if (theFace2.Orientation() == TopAbs_REVERSED)
aNormal2.Reverse();
if (aNormal1 * aNormal2 < 0.)
return GeomAbs_C0;
}
if (!isSmoothSuspect) if (!isSmoothSuspect)
{ {
// Refine by projection // Refine by projection
if (aHC2.IsNull()) if (aHC2.IsNull())
{ {
// adaptor for pcurve on the second surface // adaptor for pcurve on the second surface
aHC2 = new BRepAdaptor_Curve (E, F2); aHC2 = new BRepAdaptor_Curve (anEdgeInFace2, theFace2);
ext.Initialize(*aHC2, f, l, Precision::PConfusion()); ext.Initialize(*aHC2, f, l, Precision::PConfusion());
} }
ext.Perform(aSP1.Value(), u); ext.Perform(aSP1.Value(), u);
@@ -2285,9 +2334,8 @@ void BRepLib::EncodeRegularity(TopoDS_Edge& E,
BRep_Builder B; BRep_Builder B;
if(BRep_Tool::Continuity(E,F1,F2)<=GeomAbs_C0){ if(BRep_Tool::Continuity(E,F1,F2)<=GeomAbs_C0){
try { try {
GeomAbs_Shape aCont = tgtfaces(E, F1, F2, TolAng); GeomAbs_Shape aCont = ContinuityOfFaces(E, F1, F2, TolAng);
B.Continuity(E,F1,F2,aCont); B.Continuity(E,F1,F2,aCont);
} }
catch(Standard_Failure const&) catch(Standard_Failure const&)
{ {

View File

@@ -202,7 +202,14 @@ public:
//! orientation to have matter in the solid. Returns //! orientation to have matter in the solid. Returns
//! False if the solid is unOrientable (open or incoherent) //! False if the solid is unOrientable (open or incoherent)
Standard_EXPORT static Standard_Boolean OrientClosedSolid (TopoDS_Solid& solid); Standard_EXPORT static Standard_Boolean OrientClosedSolid (TopoDS_Solid& solid);
//! Returns the order of continuity between two faces
//! connected by an edge
Standard_EXPORT static GeomAbs_Shape ContinuityOfFaces(const TopoDS_Edge& theEdge,
const TopoDS_Face& theFace1,
const TopoDS_Face& theFace2,
const Standard_Real theAngleTol);
//! Encodes the Regularity of edges on a Shape. //! Encodes the Regularity of edges on a Shape.
//! Warning: <TolAng> is an angular tolerance, expressed in Rad. //! Warning: <TolAng> is an angular tolerance, expressed in Rad.
//! Warning: If the edges's regularity are coded before, nothing //! Warning: If the edges's regularity are coded before, nothing

View File

@@ -48,8 +48,7 @@ BRepMesh_IncrementalMesh::BRepMesh_IncrementalMesh( const TopoDS_Shape& theSh
const Standard_Real theLinDeflection, const Standard_Real theLinDeflection,
const Standard_Boolean isRelative, const Standard_Boolean isRelative,
const Standard_Real theAngDeflection, const Standard_Real theAngDeflection,
const Standard_Boolean isInParallel, const Standard_Boolean isInParallel)
const Message_ProgressRange& theRange)
: myModified(Standard_False), : myModified(Standard_False),
myStatus(IMeshData_NoError) myStatus(IMeshData_NoError)
{ {
@@ -59,7 +58,7 @@ BRepMesh_IncrementalMesh::BRepMesh_IncrementalMesh( const TopoDS_Shape& theSh
myParameters.InParallel = isInParallel; myParameters.InParallel = isInParallel;
myShape = theShape; myShape = theShape;
Perform(theRange); Perform();
} }
//======================================================================= //=======================================================================

View File

@@ -43,8 +43,7 @@ public: //! @name mesher API
const Standard_Real theLinDeflection, const Standard_Real theLinDeflection,
const Standard_Boolean isRelative = Standard_False, const Standard_Boolean isRelative = Standard_False,
const Standard_Real theAngDeflection = 0.5, const Standard_Real theAngDeflection = 0.5,
const Standard_Boolean isInParallel = Standard_False, const Standard_Boolean isInParallel = Standard_False);
const Message_ProgressRange& theRange = Message_ProgressRange());
//! Constructor. //! Constructor.
//! Automatically calls method Perform. //! Automatically calls method Perform.

View File

@@ -217,7 +217,7 @@ void BndLib_Add3dCurve::Add( const Adaptor3d_Curve& C,
if(Bsaux->LastParameter() < U2 ) u2 = Bsaux->LastParameter(); if(Bsaux->LastParameter() < U2 ) u2 = Bsaux->LastParameter();
// modified by NIZHNY-EAP Fri Dec 3 14:29:18 1999 ___END___ // modified by NIZHNY-EAP Fri Dec 3 14:29:18 1999 ___END___
} }
Standard_Real aSegmentTol = Precision::PConfusion(); Standard_Real aSegmentTol = 2. * Precision::PConfusion();
if (Abs(u2 - u1) < aSegmentTol) if (Abs(u2 - u1) < aSegmentTol)
aSegmentTol = Abs(u2 - u1) * 0.01; aSegmentTol = Abs(u2 - u1) * 0.01;
Bsaux->Segment(u1, u2, aSegmentTol); Bsaux->Segment(u1, u2, aSegmentTol);

View File

@@ -134,12 +134,12 @@ ChFiDS_TypeOfConcavity ChFi3d::DefineConnectType(const TopoDS_Edge& E,
//function : IsTangentFaces //function : IsTangentFaces
//purpose : //purpose :
//======================================================================= //=======================================================================
Standard_Boolean ChFi3d::IsTangentFaces(const TopoDS_Edge& theEdge, Standard_Boolean ChFi3d::IsTangentFaces(const TopoDS_Edge& theEdge,
const TopoDS_Face& theFace1, const TopoDS_Face& theFace1,
const TopoDS_Face& theFace2, const TopoDS_Face& theFace2,
const GeomAbs_Shape Order) const GeomAbs_Shape theOrder)
{ {
if (Order == GeomAbs_G1 && BRep_Tool::Continuity(theEdge, theFace1, theFace2) != GeomAbs_C0) if (theOrder == GeomAbs_G1 && BRep_Tool::Continuity(theEdge, theFace1, theFace2) != GeomAbs_C0)
return Standard_True; return Standard_True;
Standard_Real TolC0 = Max(0.001, 1.5*BRep_Tool::Tolerance(theEdge)); Standard_Real TolC0 = Max(0.001, 1.5*BRep_Tool::Tolerance(theEdge));
@@ -147,15 +147,46 @@ Standard_Boolean ChFi3d::IsTangentFaces(const TopoDS_Edge& theEdge,
Standard_Real aFirst; Standard_Real aFirst;
Standard_Real aLast; Standard_Real aLast;
// Obtaining of pcurves of edge on two faces. Handle(Geom2d_Curve) aC2d1, aC2d2;
const Handle(Geom2d_Curve) aC2d1 = BRep_Tool::CurveOnSurface
(theEdge, theFace1, aFirst, aLast); if (!theFace1.IsSame (theFace2) &&
//For the case of seam edge BRep_Tool::IsClosed (theEdge, theFace1) &&
TopoDS_Edge EE = theEdge; BRep_Tool::IsClosed (theEdge, theFace2))
if (theFace1.IsSame(theFace2)) {
EE.Reverse(); //Find the edge in the face 1: this edge will have correct orientation
const Handle(Geom2d_Curve) aC2d2 = BRep_Tool::CurveOnSurface TopoDS_Edge anEdgeInFace1;
(EE, theFace2, aFirst, aLast); TopoDS_Face aFace1 = theFace1;
aFace1.Orientation (TopAbs_FORWARD);
TopExp_Explorer anExplo (aFace1, TopAbs_EDGE);
for (; anExplo.More(); anExplo.Next())
{
const TopoDS_Edge& anEdge = TopoDS::Edge (anExplo.Current());
if (anEdge.IsSame (theEdge))
{
anEdgeInFace1 = anEdge;
break;
}
}
if (anEdgeInFace1.IsNull())
return Standard_False;
aC2d1 = BRep_Tool::CurveOnSurface (anEdgeInFace1, aFace1, aFirst, aLast);
TopoDS_Face aFace2 = theFace2;
aFace2.Orientation (TopAbs_FORWARD);
anEdgeInFace1.Reverse();
aC2d2 = BRep_Tool::CurveOnSurface (anEdgeInFace1, aFace2, aFirst, aLast);
}
else
{
// Obtaining of pcurves of edge on two faces.
aC2d1 = BRep_Tool::CurveOnSurface (theEdge, theFace1, aFirst, aLast);
//For the case of seam edge
TopoDS_Edge EE = theEdge;
if (theFace1.IsSame(theFace2))
EE.Reverse();
aC2d2 = BRep_Tool::CurveOnSurface (EE, theFace2, aFirst, aLast);
}
if (aC2d1.IsNull() || aC2d2.IsNull()) if (aC2d1.IsNull() || aC2d2.IsNull())
return Standard_False; return Standard_False;
@@ -186,15 +217,19 @@ Standard_Boolean ChFi3d::IsTangentFaces(const TopoDS_Edge& theEdge,
if (i == aNbSamples) aPar = aLast; if (i == aNbSamples) aPar = aLast;
LocalAnalysis_SurfaceContinuity aCont(aC2d1, aC2d2, aPar, LocalAnalysis_SurfaceContinuity aCont(aC2d1, aC2d2, aPar,
aSurf1, aSurf2, Order, aSurf1, aSurf2, theOrder,
0.001, TolC0, 0.1, 0.1, 0.1); 0.001, TolC0, 0.1, 0.1, 0.1);
if (!aCont.IsDone()) if (!aCont.IsDone())
{ {
if (theOrder == GeomAbs_C2 &&
aCont.StatusError() == LocalAnalysis_NullSecondDerivative)
continue;
nbNotDone++; nbNotDone++;
continue; continue;
} }
if (Order == GeomAbs_G1) if (theOrder == GeomAbs_G1)
{ {
if (!aCont.IsG1()) if (!aCont.IsG1())
return Standard_False; return Standard_False;

View File

@@ -1997,6 +1997,7 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
if ((possible1 && possible2) || (!possible1 && !possible2) || (nbarete > 4)) { if ((possible1 && possible2) || (!possible1 && !possible2) || (nbarete > 4)) {
while (!trouve) { while (!trouve) {
nb++; nb++;
if (nb>=nn) throw Standard_Failure("IntersectionAtEnd : the max number of faces reached");
if (nb!=1) F3=Face[nb-2]; if (nb!=1) F3=Face[nb-2];
Face[nb-1]=F3; Face[nb-1]=F3;
if (CV1.Arc().IsSame(edgelibre1)) if (CV1.Arc().IsSame(edgelibre1))

View File

@@ -16,11 +16,9 @@
#include <FEmTool_Assembly.hxx> #include <FEmTool_Assembly.hxx>
#include <FEmTool_ListIteratorOfListOfVectors.hxx>
#include <FEmTool_ListOfVectors.hxx> #include <FEmTool_ListOfVectors.hxx>
#include <FEmTool_ProfileMatrix.hxx> #include <FEmTool_ProfileMatrix.hxx>
#include <math_Matrix.hxx> #include <math_Matrix.hxx>
#include <Standard_DimensionError.hxx>
#include <Standard_DomainError.hxx> #include <Standard_DomainError.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>

View File

@@ -23,7 +23,6 @@
#include <TColStd_Array2OfInteger.hxx> #include <TColStd_Array2OfInteger.hxx>
#include <FEmTool_HAssemblyTable.hxx> #include <FEmTool_HAssemblyTable.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>
#include <FEmTool_SeqOfLinConstr.hxx> #include <FEmTool_SeqOfLinConstr.hxx>
#include <TColStd_SequenceOfReal.hxx> #include <TColStd_SequenceOfReal.hxx>

View File

@@ -20,10 +20,8 @@
#include <FEmTool_Curve.hxx> #include <FEmTool_Curve.hxx>
#include <PLib.hxx> #include <PLib.hxx>
#include <PLib_Base.hxx>
#include <PLib_HermitJacobi.hxx> #include <PLib_HermitJacobi.hxx>
#include <PLib_JacobiPolynomial.hxx> #include <PLib_JacobiPolynomial.hxx>
#include <Standard_DimensionError.hxx>
#include <Standard_Type.hxx> #include <Standard_Type.hxx>
IMPLEMENT_STANDARD_RTTIEXT(FEmTool_Curve,Standard_Transient) IMPLEMENT_STANDARD_RTTIEXT(FEmTool_Curve,Standard_Transient)

View File

@@ -17,8 +17,6 @@
#include <FEmTool_ElementaryCriterion.hxx> #include <FEmTool_ElementaryCriterion.hxx>
#include <math_Matrix.hxx> #include <math_Matrix.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx>
#include <Standard_Type.hxx> #include <Standard_Type.hxx>
IMPLEMENT_STANDARD_RTTIEXT(FEmTool_ElementaryCriterion,Standard_Transient) IMPLEMENT_STANDARD_RTTIEXT(FEmTool_ElementaryCriterion,Standard_Transient)

View File

@@ -18,7 +18,6 @@
#define _FEmTool_ElementaryCriterion_HeaderFile #define _FEmTool_ElementaryCriterion_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TColStd_HArray2OfReal.hxx> #include <TColStd_HArray2OfReal.hxx>
#include <Standard_Real.hxx> #include <Standard_Real.hxx>

View File

@@ -23,7 +23,6 @@
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <math_FunctionSet.hxx> #include <math_FunctionSet.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>
class PLib_Base; class PLib_Base;

View File

@@ -24,7 +24,6 @@
#include <math_Vector.hxx> #include <math_Vector.hxx>
#include <PLib.hxx> #include <PLib.hxx>
#include <PLib_HermitJacobi.hxx> #include <PLib_HermitJacobi.hxx>
#include <PLib_JacobiPolynomial.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx> #include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx> #include <Standard_NotImplemented.hxx>

View File

@@ -25,7 +25,6 @@
#include <FEmTool_ElementaryCriterion.hxx> #include <FEmTool_ElementaryCriterion.hxx>
#include <GeomAbs_Shape.hxx> #include <GeomAbs_Shape.hxx>
#include <TColStd_HArray2OfInteger.hxx> #include <TColStd_HArray2OfInteger.hxx>
#include <Standard_Real.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -24,7 +24,6 @@
#include <math_Vector.hxx> #include <math_Vector.hxx>
#include <PLib.hxx> #include <PLib.hxx>
#include <PLib_HermitJacobi.hxx> #include <PLib_HermitJacobi.hxx>
#include <PLib_JacobiPolynomial.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx> #include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx> #include <Standard_NotImplemented.hxx>

View File

@@ -25,7 +25,6 @@
#include <FEmTool_ElementaryCriterion.hxx> #include <FEmTool_ElementaryCriterion.hxx>
#include <GeomAbs_Shape.hxx> #include <GeomAbs_Shape.hxx>
#include <TColStd_HArray2OfInteger.hxx> #include <TColStd_HArray2OfInteger.hxx>
#include <Standard_Real.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -24,7 +24,6 @@
#include <math_Vector.hxx> #include <math_Vector.hxx>
#include <PLib.hxx> #include <PLib.hxx>
#include <PLib_HermitJacobi.hxx> #include <PLib_HermitJacobi.hxx>
#include <PLib_JacobiPolynomial.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx> #include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx> #include <Standard_NotImplemented.hxx>

View File

@@ -25,7 +25,6 @@
#include <FEmTool_ElementaryCriterion.hxx> #include <FEmTool_ElementaryCriterion.hxx>
#include <GeomAbs_Shape.hxx> #include <GeomAbs_Shape.hxx>
#include <TColStd_HArray2OfInteger.hxx> #include <TColStd_HArray2OfInteger.hxx>
#include <Standard_Real.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -18,12 +18,10 @@
#define _FEmTool_ProfileMatrix_HeaderFile #define _FEmTool_ProfileMatrix_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TColStd_Array2OfInteger.hxx> #include <TColStd_Array2OfInteger.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>
#include <TColStd_HArray1OfInteger.hxx> #include <TColStd_HArray1OfInteger.hxx>
#include <Standard_Boolean.hxx>
#include <FEmTool_SparseMatrix.hxx> #include <FEmTool_SparseMatrix.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <Standard_Real.hxx> #include <Standard_Real.hxx>

View File

@@ -17,6 +17,5 @@
#include <FEmTool_SparseMatrix.hxx> #include <FEmTool_SparseMatrix.hxx>
#include <Standard_Type.hxx> #include <Standard_Type.hxx>
#include <StdFail_NotDone.hxx>
IMPLEMENT_STANDARD_RTTIEXT(FEmTool_SparseMatrix,Standard_Transient) IMPLEMENT_STANDARD_RTTIEXT(FEmTool_SparseMatrix,Standard_Transient)

View File

@@ -18,12 +18,10 @@
#define _FEmTool_SparseMatrix_HeaderFile #define _FEmTool_SparseMatrix_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Transient.hxx> #include <Standard_Transient.hxx>
#include <Standard_Real.hxx> #include <Standard_Real.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -23,7 +23,6 @@
#include <Storage_Error.hxx> #include <Storage_Error.hxx>
#include <Storage_OpenMode.hxx> #include <Storage_OpenMode.hxx>
#include <Storage_Data.hxx> #include <Storage_Data.hxx>
#include <Standard_Boolean.hxx>
#include <Storage_Position.hxx> #include <Storage_Position.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColStd_SequenceOfAsciiString.hxx> #include <TColStd_SequenceOfAsciiString.hxx>

View File

@@ -15,7 +15,6 @@
#ifndef _FSD_FStream_HeaderFile #ifndef _FSD_FStream_HeaderFile
#define _FSD_FStream_HeaderFile #define _FSD_FStream_HeaderFile
#include <stdio.h>
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>
typedef std::fstream FSD_FStream; typedef std::fstream FSD_FStream;

View File

@@ -22,7 +22,6 @@
#include <BSplCLib.hxx> #include <BSplCLib.hxx>
#include <FairCurve_Batten.hxx> #include <FairCurve_Batten.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_EnergyOfBatten.hxx> #include <FairCurve_EnergyOfBatten.hxx>
#include <FairCurve_Newton.hxx> #include <FairCurve_Newton.hxx>
#include <Geom2d_BSplineCurve.hxx> #include <Geom2d_BSplineCurve.hxx>

View File

@@ -23,8 +23,6 @@
#include <FairCurve_AnalysisCode.hxx> #include <FairCurve_AnalysisCode.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>

View File

@@ -23,7 +23,6 @@
#include <BSplCLib.hxx> #include <BSplCLib.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfJerk.hxx> #include <FairCurve_DistributionOfJerk.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <gp_XY.hxx> #include <gp_XY.hxx>

View File

@@ -26,7 +26,6 @@
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -20,7 +20,6 @@
#include <BSplCLib.hxx> #include <BSplCLib.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfSagging.hxx> #include <FairCurve_DistributionOfSagging.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <gp_XY.hxx> #include <gp_XY.hxx>

View File

@@ -26,7 +26,6 @@
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -20,7 +20,6 @@
#include <BSplCLib.hxx> #include <BSplCLib.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfTension.hxx> #include <FairCurve_DistributionOfTension.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <gp_XY.hxx> #include <gp_XY.hxx>

View File

@@ -21,13 +21,11 @@
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx> #include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <FairCurve_BattenLaw.hxx> #include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfEnergy.hxx> #include <FairCurve_DistributionOfEnergy.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>

View File

@@ -23,9 +23,7 @@
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <TColgp_Array1OfXY.hxx> #include <TColgp_Array1OfXY.hxx>
#include <math_Vector.hxx>
#include <math_MultipleVarFunctionWithHessian.hxx> #include <math_MultipleVarFunctionWithHessian.hxx>
#include <Standard_Real.hxx> #include <Standard_Real.hxx>
class math_Matrix; class math_Matrix;

View File

@@ -20,7 +20,6 @@
#endif #endif
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_EnergyOfBatten.hxx> #include <FairCurve_EnergyOfBatten.hxx>
#include <math_GaussSetIntegration.hxx> #include <math_GaussSetIntegration.hxx>
#include <math_IntegerVector.hxx> #include <math_IntegerVector.hxx>

View File

@@ -22,7 +22,6 @@
#include <Standard_Handle.hxx> #include <Standard_Handle.hxx>
#include <Standard_Real.hxx> #include <Standard_Real.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfTension.hxx> #include <FairCurve_DistributionOfTension.hxx>
#include <FairCurve_DistributionOfSagging.hxx> #include <FairCurve_DistributionOfSagging.hxx>
#include <FairCurve_AnalysisCode.hxx> #include <FairCurve_AnalysisCode.hxx>

View File

@@ -21,7 +21,6 @@
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx> #include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <FairCurve_BattenLaw.hxx> #include <FairCurve_BattenLaw.hxx>
#include <FairCurve_DistributionOfTension.hxx> #include <FairCurve_DistributionOfTension.hxx>
#include <FairCurve_DistributionOfSagging.hxx> #include <FairCurve_DistributionOfSagging.hxx>
@@ -31,7 +30,6 @@
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColStd_HArray1OfReal.hxx> #include <TColStd_HArray1OfReal.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <Standard_Boolean.hxx>
#include <math_Vector.hxx> #include <math_Vector.hxx>
// resolve name collisions with X11 headers // resolve name collisions with X11 headers

View File

@@ -21,7 +21,6 @@
#include <BSplCLib.hxx> #include <BSplCLib.hxx>
#include <FairCurve_BattenLaw.hxx>
#include <FairCurve_EnergyOfMVC.hxx> #include <FairCurve_EnergyOfMVC.hxx>
#include <FairCurve_MinimalVariation.hxx> #include <FairCurve_MinimalVariation.hxx>
#include <FairCurve_Newton.hxx> #include <FairCurve_Newton.hxx>
@@ -30,9 +29,6 @@
#include <gp_Vec2d.hxx> #include <gp_Vec2d.hxx>
#include <math_Matrix.hxx> #include <math_Matrix.hxx>
#include <PLib.hxx> #include <PLib.hxx>
#include <Precision.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NegativeValue.hxx>
#include <Standard_NullValue.hxx> #include <Standard_NullValue.hxx>
#include <TColgp_HArray1OfPnt2d.hxx> #include <TColgp_HArray1OfPnt2d.hxx>
#include <TColStd_HArray1OfInteger.hxx> #include <TColStd_HArray1OfInteger.hxx>

View File

@@ -19,13 +19,9 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <FairCurve_Batten.hxx> #include <FairCurve_Batten.hxx>
#include <Standard_Boolean.hxx>
#include <FairCurve_AnalysisCode.hxx> #include <FairCurve_AnalysisCode.hxx>
#include <Standard_Integer.hxx>
#include <Standard_OStream.hxx> #include <Standard_OStream.hxx>
class gp_Pnt2d; class gp_Pnt2d;
class gp_Vec2d; class gp_Vec2d;

View File

@@ -21,10 +21,7 @@
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx> #include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <math_NewtonMinimum.hxx> #include <math_NewtonMinimum.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class math_MultipleVarFunctionWithHessian; class math_MultipleVarFunctionWithHessian;

View File

@@ -14,7 +14,6 @@
// Modified: Portage NT 7-5-97 DPF (return) // Modified: Portage NT 7-5-97 DPF (return)
#include <ChFi3d_FilletShape.hxx>
#include <FilletSurf_Builder.hxx> #include <FilletSurf_Builder.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx> #include <FilletSurf_ErrorTypeStatus.hxx>
#include <FilletSurf_InternalBuilder.hxx> #include <FilletSurf_InternalBuilder.hxx>

View File

@@ -16,7 +16,6 @@
#include <Adaptor3d_TopolTool.hxx> #include <Adaptor3d_TopolTool.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepAdaptor_Curve2d.hxx> #include <BRepAdaptor_Curve2d.hxx>
#include <BRepAdaptor_Surface.hxx> #include <BRepAdaptor_Surface.hxx>
#include <BRepBlend_ConstRad.hxx> #include <BRepBlend_ConstRad.hxx>
@@ -31,16 +30,12 @@
#include <ChFiDS_FilSpine.hxx> #include <ChFiDS_FilSpine.hxx>
#include <ChFiDS_HData.hxx> #include <ChFiDS_HData.hxx>
#include <ChFiDS_ElSpine.hxx> #include <ChFiDS_ElSpine.hxx>
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
#include <ChFiDS_ListOfStripe.hxx>
#include <ChFiDS_SecHArray1.hxx> #include <ChFiDS_SecHArray1.hxx>
#include <ChFiDS_SequenceOfSurfData.hxx> #include <ChFiDS_SequenceOfSurfData.hxx>
#include <ChFiDS_Spine.hxx> #include <ChFiDS_Spine.hxx>
#include <ChFiDS_Stripe.hxx> #include <ChFiDS_Stripe.hxx>
#include <ChFiDS_SurfData.hxx> #include <ChFiDS_SurfData.hxx>
#include <ElSLib.hxx> #include <ElSLib.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx>
#include <FilletSurf_StatusDone.hxx>
#include <FilletSurf_StatusType.hxx> #include <FilletSurf_StatusType.hxx>
#include <Geom2d_Curve.hxx> #include <Geom2d_Curve.hxx>
#include <Geom_Circle.hxx> #include <Geom_Circle.hxx>
@@ -49,22 +44,19 @@
#include <Geom_Surface.hxx> #include <Geom_Surface.hxx>
#include <Geom_TrimmedCurve.hxx> #include <Geom_TrimmedCurve.hxx>
#include <GeomAbs_Shape.hxx> #include <GeomAbs_Shape.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <GeomAdaptor_Surface.hxx> #include <GeomAdaptor_Surface.hxx>
#include <gp_Circ.hxx> #include <gp_Circ.hxx>
#include <gp_Pln.hxx> #include <gp_Pln.hxx>
#include <IntCurveSurface_HInter.hxx> #include <IntCurveSurface_HInter.hxx>
#include <IntCurveSurface_IntersectionPoint.hxx> #include <IntCurveSurface_IntersectionPoint.hxx>
#include <Precision.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <TopoDS.hxx> #include <TopoDS.hxx>
#include <TopoDS_Face.hxx> #include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx> #include <TopoDS_Shape.hxx>
#include <TopOpeBRepDS_HDataStructure.hxx> #include <TopOpeBRepDS_HDataStructure.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
static Standard_Boolean isinlist(const TopoDS_Shape& E, static Standard_Boolean isinlist(const TopoDS_Shape& E,
const TopTools_ListOfShape& L){ const TopTools_ListOfShape& L){
TopTools_ListIteratorOfListOfShape It; TopTools_ListIteratorOfListOfShape It;
for (It.Initialize(L); It.More(); It.Next()){ for (It.Initialize(L); It.More(); It.Next()){
if(E.IsSame(It.Value())) return 1; if(E.IsSame(It.Value())) return 1;

View File

@@ -18,8 +18,6 @@
#define _FilletSurf_InternalBuilder_HeaderFile #define _FilletSurf_InternalBuilder_HeaderFile
#include <BRepAdaptor_Curve2d.hxx> #include <BRepAdaptor_Curve2d.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <ChFiDS_ElSpine.hxx>
#include <ChFi3d_FilBuilder.hxx> #include <ChFi3d_FilBuilder.hxx>
#include <ChFi3d_FilletShape.hxx> #include <ChFi3d_FilletShape.hxx>
#include <TopTools_ListOfShape.hxx> #include <TopTools_ListOfShape.hxx>

View File

@@ -21,7 +21,6 @@
#include <Message.hxx> #include <Message.hxx>
#include <Message_Messenger.hxx> #include <Message_Messenger.hxx>
#include <NCollection_Buffer.hxx> #include <NCollection_Buffer.hxx>
#include <NCollection_List.hxx>
#include <NCollection_Map.hxx> #include <NCollection_Map.hxx>
#include <OSD_Environment.hxx> #include <OSD_Environment.hxx>
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>

View File

@@ -18,8 +18,6 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_Transient.hxx> #include <Standard_Transient.hxx>
#include <Standard_Type.hxx>
#include <Font_FontAspect.hxx>
#include <Font_NListOfSystemFont.hxx> #include <Font_NListOfSystemFont.hxx>
#include <Font_StrictLevel.hxx> #include <Font_StrictLevel.hxx>
#include <Font_UnicodeSubset.hxx> #include <Font_UnicodeSubset.hxx>

View File

@@ -18,7 +18,6 @@
#include <Font_FontAspect.hxx> #include <Font_FontAspect.hxx>
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Transient.hxx> #include <Standard_Transient.hxx>
#include <TCollection_AsciiString.hxx> #include <TCollection_AsciiString.hxx>

View File

@@ -19,7 +19,6 @@
#include <gce_MakeCone.hxx> #include <gce_MakeCone.hxx>
#include <Geom_ConicalSurface.hxx> #include <Geom_ConicalSurface.hxx>
#include <gp.hxx> #include <gp.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx> #include <gp_Ax2.hxx>
#include <gp_Cone.hxx> #include <gp_Cone.hxx>
#include <gp_Lin.hxx> #include <gp_Lin.hxx>

View File

@@ -17,11 +17,7 @@
#include <GC_MakeMirror.hxx> #include <GC_MakeMirror.hxx>
#include <Geom_Transformation.hxx> #include <Geom_Transformation.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Ax3.hxx>
#include <gp_Dir.hxx> #include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pln.hxx> #include <gp_Pln.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>

View File

@@ -20,8 +20,6 @@
#include <Geom_Plane.hxx> #include <Geom_Plane.hxx>
#include <gp.hxx> #include <gp.hxx>
#include <gp_Ax1.hxx> #include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Ax3.hxx>
#include <gp_Dir.hxx> #include <gp_Dir.hxx>
#include <gp_Pln.hxx> #include <gp_Pln.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>

View File

@@ -17,7 +17,6 @@
#include <GC_MakeRotation.hxx> #include <GC_MakeRotation.hxx>
#include <Geom_Transformation.hxx> #include <Geom_Transformation.hxx>
#include <gp_Ax1.hxx>
#include <gp_Dir.hxx> #include <gp_Dir.hxx>
#include <gp_Lin.hxx> #include <gp_Lin.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>

View File

@@ -21,7 +21,6 @@
#include <Geom_RectangularTrimmedSurface.hxx> #include <Geom_RectangularTrimmedSurface.hxx>
#include <gp_Ax1.hxx> #include <gp_Ax1.hxx>
#include <gp_Circ.hxx> #include <gp_Circ.hxx>
#include <gp_Cylinder.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>
#include <Standard_NotImplemented.hxx> #include <Standard_NotImplemented.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>

View File

@@ -19,10 +19,8 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <gce_ErrorType.hxx> #include <gce_ErrorType.hxx>
#include <Standard_Boolean.hxx>
// resolve name collisions with X11 headers // resolve name collisions with X11 headers
#ifdef Status #ifdef Status

View File

@@ -19,10 +19,8 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <gce_ErrorType.hxx> #include <gce_ErrorType.hxx>
#include <Standard_Boolean.hxx>
// resolve name collisions with X11 headers // resolve name collisions with X11 headers
#ifdef Status #ifdef Status

View File

@@ -14,7 +14,6 @@
#ifndef _GCPnts_DistFunction_HeaderFile #ifndef _GCPnts_DistFunction_HeaderFile
#define _GCPnts_DistFunction_HeaderFile #define _GCPnts_DistFunction_HeaderFile
#include <gp_Lin.hxx>
#include <math_Function.hxx> #include <math_Function.hxx>
#include <math_MultipleVarFunction.hxx> #include <math_MultipleVarFunction.hxx>
#include <Adaptor3d_Curve.hxx> #include <Adaptor3d_Curve.hxx>

View File

@@ -14,7 +14,6 @@
#ifndef _GCPnts_DistFunction2d_HeaderFile #ifndef _GCPnts_DistFunction2d_HeaderFile
#define _GCPnts_DistFunction2d_HeaderFile #define _GCPnts_DistFunction2d_HeaderFile
#include <gp_Lin2d.hxx>
#include <math_Function.hxx> #include <math_Function.hxx>
#include <math_MultipleVarFunction.hxx> #include <math_MultipleVarFunction.hxx>
#include <Adaptor2d_Curve2d.hxx> #include <Adaptor2d_Curve2d.hxx>

View File

@@ -16,11 +16,9 @@
#include <GCPnts_TCurveTypes.hxx> #include <GCPnts_TCurveTypes.hxx>
#include <GCPnts_UniformAbscissa.hxx> #include <GCPnts_UniformAbscissa.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColgp_Array1OfPnt.hxx>
//======================================================================= //=======================================================================
//function : GCPnts_QuasiUniformAbscissa //function : GCPnts_QuasiUniformAbscissa

View File

@@ -23,13 +23,10 @@
#include <gp_Vec.hxx> #include <gp_Vec.hxx>
#include <gp_Vec2d.hxx> #include <gp_Vec2d.hxx>
#include <gp_XYZ.hxx> #include <gp_XYZ.hxx>
#include <gp_Circ.hxx>
#include <gp_Circ2d.hxx>
#include <math_BrentMinimum.hxx> #include <math_BrentMinimum.hxx>
#include <math_PSO.hxx> #include <math_PSO.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_ConstructionError.hxx> #include <Standard_ConstructionError.hxx>
#include <Standard_OutOfRange.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
namespace namespace

View File

@@ -20,7 +20,6 @@
#include <TColgp_SequenceOfPnt.hxx> #include <TColgp_SequenceOfPnt.hxx>
#include <TColStd_SequenceOfReal.hxx> #include <TColStd_SequenceOfReal.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>
#include <gp_Lin.hxx>
#include <math_Function.hxx> #include <math_Function.hxx>
#include <math_MultipleVarFunction.hxx> #include <math_MultipleVarFunction.hxx>
#include <Adaptor3d_Curve.hxx> #include <Adaptor3d_Curve.hxx>

View File

@@ -19,10 +19,7 @@
#include <GCPnts_TCurveTypes.hxx> #include <GCPnts_TCurveTypes.hxx>
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx> #include <Standard_NotImplemented.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>
// mask the return of a Adaptor2d_Curve2d as a gp_Pnt // mask the return of a Adaptor2d_Curve2d as a gp_Pnt

View File

@@ -18,8 +18,6 @@
#include <GccAna_Circ2dBisec.hxx> #include <GccAna_Circ2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_BLine.hxx> #include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>

View File

@@ -19,16 +19,13 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_Array1OfCirc2d.hxx> #include <TColgp_Array1OfCirc2d.hxx>
#include <GccEnt_Array1OfPosition.hxx> #include <GccEnt_Array1OfPosition.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <Standard_Real.hxx>
#include <GccEnt_Position.hxx> #include <GccEnt_Position.hxx>
class GccEnt_QualifiedCirc; class GccEnt_QualifiedCirc;
class gp_Lin2d; class gp_Lin2d;

View File

@@ -31,8 +31,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle tangent to Circle C1 and a straight line L2. + // Creation of a circle tangent to Circle C1 and a straight line L2. +

View File

@@ -19,9 +19,7 @@
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccAna_LinPnt2dBisec.hxx> #include <GccAna_LinPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_Bisec.hxx>
#include <GccInt_BLine.hxx> #include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
@@ -32,8 +30,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle tangent to straight line L1 and a point Point2. + // Creation of a circle tangent to straight line L1 and a point Point2. +

View File

@@ -24,10 +24,7 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccAna_Lin2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -35,8 +32,6 @@
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle passing by : 2 points Point1 and Point2. + // Creation of a circle passing by : 2 points Point1 and Point2. +

View File

@@ -19,9 +19,7 @@
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccAna_Lin2dBisec.hxx> #include <GccAna_Lin2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -29,8 +27,6 @@
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
GccAna_Circ2d2TanOn:: GccAna_Circ2d2TanOn::
GccAna_Circ2d2TanOn (const GccEnt_QualifiedLin& Qualified1 , GccAna_Circ2d2TanOn (const GccEnt_QualifiedLin& Qualified1 ,

View File

@@ -20,10 +20,7 @@
#include <GccAna_CircPnt2dBisec.hxx> #include <GccAna_CircPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_Bisec.hxx> #include <GccInt_Bisec.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -33,8 +30,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//========================================================================= //=========================================================================

View File

@@ -19,11 +19,8 @@
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccAna_LinPnt2dBisec.hxx> #include <GccAna_LinPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_Bisec.hxx> #include <GccInt_Bisec.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -34,8 +31,6 @@
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle Tangent to : 1 straight line L1. + // Creation of a circle Tangent to : 1 straight line L1. +

View File

@@ -18,8 +18,6 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -27,8 +25,6 @@
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle passing by : 2 points Point1 and Point2. + // Creation of a circle passing by : 2 points Point1 and Point2. +

View File

@@ -20,20 +20,15 @@
#include <GccAna_Circ2dBisec.hxx> #include <GccAna_Circ2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_BLine.hxx> #include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//========================================================================= //=========================================================================

View File

@@ -31,8 +31,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
GccAna_Circ2d2TanOn:: GccAna_Circ2d2TanOn::

View File

@@ -27,23 +27,16 @@
#include <GccAna_CircPnt2dBisec.hxx> #include <GccAna_CircPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_Bisec.hxx> #include <GccInt_Bisec.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
GccAna_Circ2d2TanOn:: GccAna_Circ2d2TanOn::

View File

@@ -19,7 +19,6 @@
#include <GccAna_Circ2d2TanOn.hxx> #include <GccAna_Circ2d2TanOn.hxx>
#include <GccAna_Lin2dBisec.hxx> #include <GccAna_Lin2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp.hxx> #include <gp.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
@@ -29,8 +28,6 @@
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
GccAna_Circ2d2TanOn:: GccAna_Circ2d2TanOn::
GccAna_Circ2d2TanOn (const GccEnt_QualifiedLin& Qualified1 , GccAna_Circ2d2TanOn (const GccEnt_QualifiedLin& Qualified1 ,

View File

@@ -17,10 +17,8 @@
#include <GccAna_Circ2d2TanRad.hxx> #include <GccAna_Circ2d2TanRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>

View File

@@ -19,16 +19,13 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <GccEnt_Array1OfPosition.hxx> #include <GccEnt_Array1OfPosition.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_Array1OfCirc2d.hxx> #include <TColgp_Array1OfCirc2d.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <Standard_Real.hxx>
#include <GccEnt_Position.hxx> #include <GccEnt_Position.hxx>
class GccEnt_QualifiedCirc; class GccEnt_QualifiedCirc;
class GccEnt_QualifiedLin; class GccEnt_QualifiedLin;

View File

@@ -27,8 +27,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
// circular tangent to a circle, a line and a given radius // circular tangent to a circle, a line and a given radius

View File

@@ -19,7 +19,6 @@
#include <GccAna_Circ2d2TanRad.hxx> #include <GccAna_Circ2d2TanRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
@@ -27,8 +26,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
// circulare tangent to a circle a point and a given radius // circulare tangent to a circle a point and a given radius
//============================================================= //=============================================================

View File

@@ -20,7 +20,6 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d2TanRad.hxx> #include <GccAna_Circ2d2TanRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -29,8 +28,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
// circular tangent to a line and a point and a given radius // circular tangent to a line and a point and a given radius

View File

@@ -18,9 +18,7 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d2TanRad.hxx> #include <GccAna_Circ2d2TanRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
@@ -29,8 +27,6 @@
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
// circular tangent to two lines of given radius // circular tangent to two lines of given radius

View File

@@ -18,17 +18,12 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d2TanRad.hxx> #include <GccAna_Circ2d2TanRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Ax2d.hxx> #include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
// Circle passing by two points of given radius. // Circle passing by two points of given radius.
// ============================================== // ==============================================

View File

@@ -15,22 +15,12 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d3Tan.hxx> #include <GccAna_Circ2d3Tan.hxx>
#include <GccAna_Circ2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_BElips.hxx>
#include <GccInt_BHyper.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx>
#include <math_DirectPolynomialRoots.hxx> #include <math_DirectPolynomialRoots.hxx>
#include <Standard_OutOfRange.hxx> #include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>

View File

@@ -19,16 +19,13 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_Array1OfCirc2d.hxx> #include <TColgp_Array1OfCirc2d.hxx>
#include <GccEnt_Array1OfPosition.hxx> #include <GccEnt_Array1OfPosition.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <Standard_Real.hxx>
#include <GccEnt_Position.hxx> #include <GccEnt_Position.hxx>
class GccEnt_QualifiedCirc; class GccEnt_QualifiedCirc;
class GccEnt_QualifiedLin; class GccEnt_QualifiedLin;

View File

@@ -19,7 +19,6 @@
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_BParab.hxx> #include <GccInt_BParab.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -30,8 +29,6 @@
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//========================================================================= //=========================================================================

View File

@@ -20,7 +20,6 @@
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_BParab.hxx> #include <GccInt_BParab.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -30,8 +29,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//========================================================================= //=========================================================================

View File

@@ -17,7 +17,6 @@
#include <GccAna_Circ2d3Tan.hxx> #include <GccAna_Circ2d3Tan.hxx>
#include <GccAna_Lin2dBisec.hxx> #include <GccAna_Lin2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -25,8 +24,6 @@
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//========================================================================= //=========================================================================

View File

@@ -20,11 +20,7 @@
#include <GccAna_CircPnt2dBisec.hxx> #include <GccAna_CircPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_BElips.hxx> #include <GccInt_BElips.hxx>
#include <GccInt_BHyper.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -33,8 +29,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
static Standard_Integer MaxSol = 20; static Standard_Integer MaxSol = 20;

View File

@@ -21,7 +21,6 @@
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_BParab.hxx> #include <GccInt_BParab.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -31,8 +30,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//=========================================================================== //===========================================================================

View File

@@ -18,9 +18,7 @@
#include <GccAna_Lin2dBisec.hxx> #include <GccAna_Lin2dBisec.hxx>
#include <GccAna_LinPnt2dBisec.hxx> #include <GccAna_LinPnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_BParab.hxx> #include <GccInt_BParab.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
@@ -30,8 +28,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle tangent to two straight lines and a point. + // Creation of a circle tangent to two straight lines and a point. +

View File

@@ -19,11 +19,7 @@
#include <GccAna_Pnt2dBisec.hxx> #include <GccAna_Pnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <GccInt_BCirc.hxx>
#include <GccInt_BElips.hxx> #include <GccInt_BElips.hxx>
#include <GccInt_BHyper.hxx>
#include <GccInt_BLine.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -33,8 +29,6 @@
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
//======================================================================= //=======================================================================

View File

@@ -15,11 +15,9 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d3Tan.hxx> #include <GccAna_Circ2d3Tan.hxx>
#include <GccAna_Lin2dBisec.hxx>
#include <GccAna_LinPnt2dBisec.hxx> #include <GccAna_LinPnt2dBisec.hxx>
#include <GccAna_Pnt2dBisec.hxx> #include <GccAna_Pnt2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <GccInt_Bisec.hxx> #include <GccInt_Bisec.hxx>
#include <GccInt_IType.hxx> #include <GccInt_IType.hxx>
@@ -31,8 +29,6 @@
#include <IntAna2d_Conic.hxx> #include <IntAna2d_Conic.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle tangent to a straight line and two points. + // Creation of a circle tangent to a straight line and two points. +

View File

@@ -15,18 +15,13 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2d3Tan.hxx> #include <GccAna_Circ2d3Tan.hxx>
#include <GccAna_Lin2dBisec.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Creation of a circle passing by three points. + // Creation of a circle passing by three points. +

View File

@@ -25,16 +25,11 @@
#include <GccInt_BHyper.hxx> #include <GccInt_BHyper.hxx>
#include <GccInt_Bisec.hxx> #include <GccInt_Bisec.hxx>
#include <GccInt_BLine.hxx> #include <GccInt_BLine.hxx>
#include <GccInt_BParab.hxx>
#include <gp.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Hypr2d.hxx> #include <gp_Hypr2d.hxx>
#include <gp_Vec2d.hxx>
#include <gp_XY.hxx>
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_OutOfRange.hxx> #include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>

View File

@@ -25,7 +25,6 @@
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx> #include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>

View File

@@ -19,16 +19,13 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_Array1OfCirc2d.hxx> #include <TColgp_Array1OfCirc2d.hxx>
#include <GccEnt_Array1OfPosition.hxx> #include <GccEnt_Array1OfPosition.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <Standard_Real.hxx>
#include <GccEnt_Position.hxx> #include <GccEnt_Position.hxx>
class GccEnt_QualifiedCirc; class GccEnt_QualifiedCirc;
class gp_Pnt2d; class gp_Pnt2d;

View File

@@ -26,7 +26,6 @@
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>

View File

@@ -19,16 +19,13 @@
#include <Standard.hxx> #include <Standard.hxx>
#include <Standard_DefineAlloc.hxx> #include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx> #include <Standard_Integer.hxx>
#include <TColgp_Array1OfCirc2d.hxx> #include <TColgp_Array1OfCirc2d.hxx>
#include <GccEnt_Array1OfPosition.hxx> #include <GccEnt_Array1OfPosition.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
#include <TColgp_Array1OfPnt2d.hxx> #include <TColgp_Array1OfPnt2d.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <Standard_Real.hxx>
#include <GccEnt_Position.hxx> #include <GccEnt_Position.hxx>
class GccEnt_QualifiedCirc; class GccEnt_QualifiedCirc;
class gp_Lin2d; class gp_Lin2d;

View File

@@ -16,7 +16,6 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -25,8 +24,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColStd_Array1OfInteger.hxx> #include <TColStd_Array1OfInteger.hxx>
//========================================================================= //=========================================================================

View File

@@ -16,16 +16,12 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
#include <math_DirectPolynomialRoots.hxx> #include <math_DirectPolynomialRoots.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// typedef of handled objects : + // typedef of handled objects : +

View File

@@ -17,7 +17,6 @@
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx> #include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
@@ -25,8 +24,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TColgp_Array1OfDir2d.hxx> #include <TColgp_Array1OfDir2d.hxx>
//========================================================================= //=========================================================================

View File

@@ -16,7 +16,6 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx> #include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
@@ -25,8 +24,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Circle tangent to straight line Qualified1 (L1). + // Circle tangent to straight line Qualified1 (L1). +

View File

@@ -16,8 +16,6 @@
#include <ElCLib.hxx> #include <ElCLib.hxx>
#include <GccAna_Circ2dTanOnRad.hxx> #include <GccAna_Circ2dTanOnRad.hxx>
#include <GccEnt_BadQualifier.hxx> #include <GccEnt_BadQualifier.hxx>
#include <GccEnt_QualifiedCirc.hxx>
#include <GccEnt_QualifiedLin.hxx>
#include <gp_Circ2d.hxx> #include <gp_Circ2d.hxx>
#include <gp_Dir2d.hxx> #include <gp_Dir2d.hxx>
#include <gp_Lin2d.hxx> #include <gp_Lin2d.hxx>
@@ -25,8 +23,6 @@
#include <IntAna2d_AnaIntersection.hxx> #include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx> #include <IntAna2d_IntPoint.hxx>
#include <Standard_NegativeValue.hxx> #include <Standard_NegativeValue.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
//========================================================================= //=========================================================================
// Circle tangent to a point Point1. + // Circle tangent to a point Point1. +

Some files were not shown because too many files have changed in this diff Show More