1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-04 18:06:22 +03:00

205 Commits

Author SHA1 Message Date
kgv
e31a8e52bb 0027056: Configuration, genproj.tcl - fix generation of project files for Products
Script genproj.bat is improved to be usable for building OCC products depending on OCCT.

Search of VTK is corrected (broken in master)
2016-01-12 01:55:31 +03:00
kgv
ea991a6ef3 0027055: Configuration, genconf.tcl - reduce window height to fit into smaller screens 2016-01-12 01:55:29 +03:00
abv
13c7b7a395 0027041: CMake - CLang 3.6.2 fails to link DRAWEXE on Ubuntu 15.10
"stdc++" is added to CSF_ThreadLibs in CMake script to make DRAWEXE built well.

In addition, TKVCAF added in CMake script for OCAF MFC sample, and Yacc and Lex files added in src/StepFile/FILES to make it consistent with actual contents of the package.
2016-01-03 15:17:04 +03:00
abv
155408bf59 0027054: Upgrade procedure corrupts files with DOS line endings
Treatment of files in DOS encoding corrected to avoid duplication of CR symbols
2016-01-01 18:43:48 +03:00
ibs
096ef695e1 0026916: Configuration, CMake - configure variables to customize installation path separately for executables, libraries and resources
change the structure of binaries for unix
OCCT_RESOURCE_PATH env variable is used
2015-12-25 10:29:12 +03:00
myn
7ed7467da3 0026961: Recover possibility to read files in old persistence format -- preparation
Added basic support for possibility to read filed in old persistent format.
Toolkits TKStd, TKStdL, TKShape added to provide necessary tools (to be done).
Obsolete interfaces are removed from classes in PCDM and Storage.
2015-12-25 10:28:46 +03:00
ibs
8f1f5a45cb 0027025: Configuration, CMake - do not get properties from non-VTK targets 2015-12-22 14:57:36 +03:00
ibs
109aa56ebe 0027022: Configuration, CMake - rename ungrouped variables to include them to the existing groups
APPLY_OCCT_PATCH_DIR renamed with BUILD_PATCH
OCCT_ALGO_EXTENDED_OUTPUT renamed with BUILD_WITH_DEBUG
REBUILD_PLATFORM_DEPENDENT_CODE renamed with BUILD_YACCLEX

3RDPARTY_DOXYGEN_DOT_EXECUTABLE renamed with 3RDPARTY_DOT_EXECUTABLE
2015-12-22 14:57:19 +03:00
ibs
a687470889 0026993: Configuration, CMake - use the abstraction level of VTK instead CSF_VTK for their libraries
CSF_VTK removed from CMake meta-projects (this variable is left in EXTERNLIB because it is used by genproj.tcl)
USE_VTK shown if toolkits using VTK involved in the solution
VTK_DIR removed from the advanced variables

Warning messages 'Warning. .../a.hxx~ is not involved into .../FILES' renamed with 'Warning: File .../a.hxx~ is not listed in .../FILES'
2015-12-22 14:57:15 +03:00
ibs
dfadf64138 0026878: CMake - encode properly version of OCCT in Windows binaries
.rc file has been added to each toolkit project for msvc
2015-12-22 14:47:10 +03:00
szy
f47afe531d 0026290: It is neccessary to separate visualization part from TKCAF
- Package TPrsStd is moved into new toolkit TKVCAF. This is the only toolkit in OCAF that depends on visualization libraries.

- All persistent data stored in TPrsStd_AISPresentation attribute are moved to new attribute TDataXtd_Presentation, which is maintained automatically on the same label as TPrsStd_AISPresentation.
All parameters used by TPrsStd_AISPresentation are stored in corresponding TDataXtd_Presentation attribute.

- TPrsStd_AISPresentation is not stored in file any more; when OCAF document is loaded from a file, these attributes are created at all labels where TDataXtd_Presentation attribute is located, by TPrsStd_AISViewer::New().

- File src/StdResources/MigrationSheet.txt necessary for reading files written by previous versions of OCCT (lost in one of previous integrations) is restored and updated as necessary to handle this change (defines replacement of TPrsStd_AISPresentation by TDataXtd_Presentation). Environment variable CSF_MIGRATION_TYPES should be defined, pointing to this file.

- Packages BinMPrsStd and XmlMPrsStd are removed; their drivers are moved into BinMDataXtd and XmlMDataXtd respectively.

- Version numbers of BinOCAF and XmlOCAF formats are increased, new files cannot be read by previous versions of OCCT

- New tests added

- Adding new TKVCAF toolkit in sample projects

- Restore IsDisplayed(false) in TPrsStd_AISPresentation::Erase()
2015-12-10 15:55:00 +03:00
abv
f5f4ebd07b 0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- manual
Restored possibility to have out-of-line implementation of DynamicCast() and STANDART_TYPE():
- Macro STANDARD_TYPE() now resolves to function get_type_descriptor() of the class
- Macro DEFINE_STANDARD_RTTI is replaced by two variants:
  - DEFINE_STANDARD_RTTI_INLINE works as before, defining DynamicCast() and get_type_descriptor() as inline functions
  - DEFINE_STANDARD_RTTIEXT declares DynamicCast() and get_type_descriptor() as exported
- Macro IMPLEMENT_STANDARD_RTTIEXT provides definition of DynamicCast() and get_type_descriptor() for a class

Upgrade script amended to replace DEFINE_STANDARD_RTTI by pair of DEFINE_STANDARD_RTTIEXT / IMPLEMENT_STANDARD_RTTIEXT if source file with the same name as header is found in the same folder, and by DEFINE_STANDARD_RTTI_INLINE if either source is not found or class is defined in the source (i.e. not in header)

Upgrade tool improved to recognize include statements with path prefix, like #include <occt/gp_Pnt.hxx>
Code corrected to eliminate warnings reported by upgrade tool.
Template of CXX file for testing upgrade tool added.

Documentation of upgrade procedure updated.
2015-12-04 13:57:58 +03:00
ski
0e617b05e7 0026902: Configuration, CMake - tests is not installed after definition INSTALL_OCCT_TEST_CASES option
Variables responsible for installation of tests and samples were renamed
2015-12-04 13:03:47 +03:00
azv
d660a72aca 0026838: Using GeomEvaluators for calculation of values of curves
1. Implemented evaluators for 2D and 3D offset curves
2. Removed obsolete namespace CSLib_Offset

Update of UDLIST (adding no-cdl-pack Geom2dEvaluator)

Update TKG2d/CMakeLists.txt after rebase

Correction compilation in debug mode
2015-11-27 11:49:40 +03:00
bugmaster
bd485d9691 Redirection of generation reference documentation from source files 2015-11-24 16:36:34 +03:00
ibs
4d8eca1dce 0026911: Configuration, CMake - strips symbol information from the binary in release configuration if the compiler is a variant of gcc
add strip flag when the compiler is a variant of gcc
2015-11-23 14:48:20 +03:00
ibs
a082e7d07b 0026861: Configuration, CMake - enable -Wall warnings when using CLang
-Wall warning option added for CLang compiler
2015-11-23 13:40:49 +03:00
ibs
e713baee32 0026903: Configuration, CMake - 3rdparty search algorithms should have the same logic
the search algorithms fitted with one logic.

3rdparty_dir is not specified by-default
3rdparty_<name>_dir has higher priority than 3rdparty_dir

frameworks are considered on Mac OS;

CMake - continue method (cmake version >= 3.2) removed

vtk installation disabled

Mac OS X - link /usr/X11/lib if X11 library is linked

FILES parsing optimized

search X11 package for every time when it used on MAC

CSF_XwLibs used by a toolkit using Tk

break a package processing if all the files from FILES file have been processed
2015-11-23 13:40:43 +03:00
ibs
d94d80e529 0026865: Configuration, CMake - ensure consistency between FILES and actual content of inc and src folders
headers from inc folder are being checked for using in further building process
parse FILES file to collect header files for inc folder

during cleaning inc folder, do not remove the headers with name not containing their package name

FILES is parsed not only for headers files

Warning is emitted when a file in folder is not involved to corresponding FILES file
lex and yacc file added StepFile/FILES file

Small correction
2015-11-23 13:39:52 +03:00
ibs
fb3267c7b8 0026880: Configuration, CMake - platform dependent code is not generated
several misprints fixed (upper case, sorting of empty list, empty parent directory)

CMake should consider CSF_ variables from EXTERNLIB file for each toolkit

CSF_ variables are defined in occt_csf for each OS
redundant CSF removed

Conflicts:
src/TKG3d/CMakeLists.txt
2015-11-23 13:39:47 +03:00
ibs
d3ff0ff227 0026858: Configuration - cmake wrong detected TK folder
regex template for 3rdparty folder changed
the sensitive case of comparison of two folders fixed
2015-11-20 13:29:03 +03:00
azv
6b84c3f7db 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces
* Implement GeomEvaluator package
* Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces
* Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion
* Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives
* Code optimizations
* Update test cases

Update of test-cases according to the new behavior
2015-11-19 14:50:54 +03:00
ski
41ec04dbbd 0026247: Too huge binaries are produced for Android platform using MinGW
Parameter "-s" was added to CMAKE_CXX_FLAGS_RELEASE and CMAKE_C_FLAGS_RELEASE to optimize size of binaries
2015-11-19 14:37:46 +03:00
abv
7dc2c1656a 0026854: Use -Wextra with GCC
Added option -Wextra for GCC compilation
2015-11-09 15:04:56 +03:00
ibs
d8d01f6ed6 0026823: Configuration - use EGL on another platform without GLX 2015-11-05 12:04:05 +03:00
ski
82f443b628 0026763: CMake configuration process does not allow setup paths for TK library if it separated from TCL
It is possible now to use standalone TCL and TK.
Behavior of 3RDPARTY_TK_DIR specifying extended
TCL/TK searching works correctly with installed ActiveTcl
TCL/TK searching works correctly with latest versions of CMake
Macro COMPLIANCE_PRODUCT_CONSISTENCY was created.

Small update of compilation for android
2015-11-03 14:51:53 +03:00
apn
f60111dc04 0026542: Visualization - Finalize support of D3D
D3DHost_View - fix compilation issues on old msvc compilers.
CMake - add TKD3DHost.

Cosmetic correction
2015-10-21 17:49:02 +03:00
ski
050c18ac17 0023741: Research and remove CSFDB support from OCCT if it is necessary
redundant CSFDB definition removed from compiler command line
Remove *.csfbd files and CSFDB definition in the sample project
2015-10-16 11:08:04 +03:00
kgv
6ce0df1e78 0026765: Visualization - drop TKVoxel toolkit 2015-10-15 10:58:58 +03:00
abv
c50591ee21 0026648: Configuration - set default path for start of DRAWEXE under Visual Studio debugger
Default path for starting executable from Visual Studio debugger set to be $CASROOT in project files generated by genproj

Default path for starting DRAWEXE executable from Visual Studio debugger set to be CMake binary directory in project files generated by CMake
2015-10-01 13:31:12 +03:00
akz
57c28b6122 0022972: Eliminate macro definitions that has compiler-provided analogs (WNT and so on)
1) Macro definition WNT replaced by _WIN32 and _MSC_VER for platform and compiler detection accordingly.
2) Macro definition LIN replaced by __linux__ macro.
3) Macro definition DEB replaced by OCCT_DEBUG macro.
2015-09-24 14:13:06 +03:00
ika
28a73c1fe7 0026371: Implementation of new entities for GD&T
Implement entities:
- DatumReferenceCompartment,
- DatumReferenceElement,
- DatumReferenceModifierWithValue,
- DatumSystem,
- GeneralDatumReference,

- ValueFormatTypeQualifier,

- NonUniformZoneDefinition,
- ProjectedZoneDefinition,
- RunoutZoneDefinition,
- RunoutZoneOrientation,
- ToleranceZone,
- ToleranceZoneDefinition,
- ToleranceZoneForm,
- ToleranceZoneTarget,

- GeometricToleranceWithDefinedAreaUnit,
- GeometricToleranceWithDefinedUnit,
- GeometricToleranceWithMaximumTolerance,
- GeometricToleranceWithModifiers,
- UnequallyDisposedGeometricTolerance,

- GeometricItemSpecificUsage,
- IdAttribute,
- IdAttributeSelect,
- ItemIdentifiedRepresentationUsage,
- ItemIdentifiedRepresentationUsageDefinition,

- Apex,
- CentreOfSymmetry,
- GeometricAlignment,
- ParallelOffset,
- PerpendicularTo,
- Tangent,

- AllAroundShapeAspect,
- BetweenShapeAspect,
- CompositeGroupShapeAspect,
- ContinuosShapeAspect,

- ReprItemAndLengthMeasureWithUnitAndQRI,
- ReprItemAndPlaneAngleMeasureWithUnitAndQRI,
- ReprItemAndPlaneAngleMeasureWithUnit,

- CompGroupShAspAndCompShAspAndDatumFeatAndShAsp,
- CompShAspAndDatumFeatAndShAsp,

- GeoTolAndGeoTolWthDatRef,
- GeoTolAndGeoTolWthDatRefAndGeoTolWthMod,
- GeoTolAndGeoTolWthMod,
- GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol,

- IntegerRepresentationItem,
- ValueRepresentationItem.

Modify entities:
- GeometricTolerance,
- GeometricToleranceWithDatumReference,
- ShapeDimensionRepresentation.

fix compilation error

fix compilation warning
2015-09-24 14:10:26 +03:00
apl
c357e42610 0024776: Visualization - inherit OpenGl_View from Graphic3d_CView
Expose interface of OpenGl_View (OpenGL graphics rendering methods) to client code
and collecting all high-level API methods of application views in V3d_View class.

1) Exposing interface of OpenGl_View:

The OpenGl_View inherits from new class Graphic3d_CView.
Graphic3d_CView is an interface class that declares abstract methods for managing displayed structures,
display properties and a base layer code that implements computation
and management of HLR (or more broadly speaking view-depended) structures.

In new implementation it takes place of eliminated Visual3d_View.
As before the instance of Graphic3d_CView is still completely managed by V3d_View classes.
It can be accessed through V3d_View interface but normally this should not be required as all its methods are completely wrapped.

In more details, a concrete specialization of Graphic3d_CView is created and returned by graphical driver on request.
Right after creation the views is directly used for setting rendering properties and adding graphical structures to be displayed.

The rendering of graphics is possible after mapping a window and activating the view.
The direct setting of properties makes obsolete usage of intermediate structures with display parameter
like Visual3d_ContextView and etc (the whole package of Visual3d become redundant).

2) Collecting all high-level API methods of application views in V3d package:

The patch includes elimination of Visual3d layer.
All of its methods that could be previously used by application are now exposed and should be accessed on the level of V3d entities.
- Introduced new class Graphic3d_CView.
  This is a base class for render views.
  Made possible to specialize concrete instances of the class by graphical driver.
- Moved all methods managing rendering views into interface of Graphic3d_CView.
  The corresponding methods were removed from interface of graphical driver.

3) Eliminated Visual3d package:

- Logic of managing display of structures was put from Visual3d_ViewManager into Graphic3d_StructureManager.
- Removed Visual3d_View class. Logic of managing computed structures was put into base layer of Graphi3d_CView.
- Removed all intermediate structures for storing view parameters e.g. Visual3d_ContextView.
  All settings are kept by instances of Graphic3d_CView
- Removed Visual3d_Light intermediate class.
  All light properties are still stored in Graphic3d_CLight structure.
  The structure is directly access by instance of V3d_Light classes.
- Moved all needed enumerations into Graphic3d package.

4) Update package D3DHost to new changes.

5) Update code of OCCT samples to new changes.
2015-09-22 11:49:33 +03:00
ibs
63cf1bb64f 0026691: CMake building procedure should support compiler of version 14.0 of Microsoft Visual C
"vc14" compiler name added to CMake building script
2015-09-15 16:56:14 +03:00
kgv
f0d3b7afa9 0026615: Configuration, genconfdeps.tcl - do not search for FreeImagePlus on non-Windows 2015-09-10 16:58:28 +03:00
isk
fa4dcbe04f 0025162: Visualization, TKOpenGl - drop GLU library dependency
Drop gluScaleImage() and gluBuild2DMipmaps().
Drop gluUnPorject() from samples.
Output message if NPOT is unsupported and texture coordinates was scaled. Texture initialization is fail in this case.
Output message if texture dimension exceed the max dimension. Texture initialization is fail in this case.
TKOpenGl does not depends on deprecated GLU anymore.
2015-09-10 16:50:17 +03:00
ibs
fd7a842bae 0026600: CMake should disable auto-link for TBB
implicit tbb linkage disabled
2015-09-03 15:14:48 +03:00
ibs
898f6a9222 0026592: Macros OCCT_DEBUG is not supported while configuration 7.0.0 dev version with CMake
OCCT_ALGO_EXTENDED_OUTPUT variable introduced
2015-09-03 15:14:44 +03:00
ibs
f2e9c853a2 0026591: Header collecting in CMake configuration process does not consider 'patch' dir
"patch" functionality fixed (except mfc samples)
CMake variable descriptions updated and their width realigned
2015-09-03 15:14:40 +03:00
kgv
59b19beb09 0026559: Configuration, genproj.tcl - add mandatory C++11 compiler flag to generated Code::Blocks project files 2015-08-27 17:20:36 +03:00
kgv
cb6a2fbc18 0026602: Configuration, genproj.tcl - drop code generating Automake files
StdPrs/FILES - drop duplicates
genproj.sh - fix launcher
2015-08-27 16:47:58 +03:00
ink
9ebaae3797 0026411: Necessary to improve XCAF to store and querying GD&T data. 2015-08-20 16:44:26 +03:00
ibs
316d77d981 0026529: CMake offers rebuilding of platform dependent code unclear for an user
Fix for building with GCC and CLang

CMake variable descriptions updated
"Building with CMake" article updated

BuildToolkit.cmake cleaned up and renamed
"TestCases" project and all relating variables removed; custom script added for building environment
DrawAppliInit is copied from occt root to CMake binary dir if the file exists

rebuild platform dependent code by cmake cleaned up
Flex & Bison compiler flags added

RelWithDebInfo OCCT libraries are moved to libi folder; the binary is moved to bini one

CMAKE_BUILD_TYPE is set as Release by-default for a single-configuration generator

env.bat in installation folder has default value of CASDEB that equals to the build type of the last installed OCCT libraries

"building with CMake" article updated
2015-08-20 16:26:23 +03:00
abv
d1a67b9d1b 0024816: Tool for upgrading OCCT and dependent code
A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
Batch script upgrade.bat is provided for convenience.
File upgrade.dat contains data (lists of classes) required for some upgrade steps.
Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.

OCCT code corrected to improve compatibility with code based on previous versions of OCCT:
- Added conversion operator of handle to bool, for use in conditional expressions.
- Forward declaration of argument class restored in macro DEFINE_STANDARD_HANDLE.
- Includes of used classes added in some headers to avoid problem of missing includes in dependent code
- Type cast operators to base curve and surface added in GC and GCE2d classes to reduce porting issues.

Added test for local reference to handle initialized by temporary handle to derived class.

WOK and CDL User Guides removed.
2015-08-19 19:03:16 +03:00
kgv
39bff09c9f 0026546: Configuration, genproj.tcl - add support for VS2015 in project file generator
Use vc10 templates for vc10, vc11, vc12, vc14.
2015-08-18 12:15:44 +03:00
ibs
a9d2efda86 0026537: It is not possible to generate reference documentation in new structure of OCCT
the path to search required headers changed from <occt>/inc to <occt>/src/<each package>

Fix for OCCT products reference documentation
2015-08-13 11:19:54 +03:00
ibs
1e75b579dd 0026543: genproj script parses CSF_VTK incorrectly
the name of associative array at osutils:csfList method fixed
2015-08-13 11:17:14 +03:00
kgv
c7d774c557 0026467: Configuration, genproj.tcl - restore generation of Code::Blocks and XCode project files
Restore XCode generator.
Add missing dependencies to EXTERNLIB.
genproj.tcl - remove OS:mkdir() - duplicate of wokUtils:FILES:mkdir().
genproj.tcl - use osutils:usedOsLibs() for Code::Blocks.
src/OS - remove unused :LinksoWith() and :CompileWith().

adm/CMPLRS - remove unused CSF_ entities.
Remove config.h related code.
Add executable flag to codeblocks.sh and draw.sh scripts.
Setup ARCH variable using $tcl_platform(pointerSize).
wokdep:SearchLib() - use $tcl_platform(os) instead of $tcl_platform(platform)
for checking Linux-specific library paths.
wokdep:SearchFreeType() - fix misprint in ft2build.h header file name.
wokdep:SaveCustom() - export SHORTCUT_HEADERS to "custom.sh" as well, not only to "custom.bat".
2015-07-29 15:18:30 +03:00
kgv
62e1beed96 0026392: Visualization, TKD3DHost - provide straight-forward base for integration of TKOpenGl viewer into D3D-based application
D3DHost_GraphicDriver - new graphic driver providing D3D host for OpenGL workspace.
WNT_Window - handle virtual dimensions within virtual window.
OpenGl_FrameBuffer::Init() - add protection against 0 dimensions.
V3d_View::IsInvalidated() - add method to check view cache validation state.

ViewerTest::ViewerInit() - create virtual window without decorations on Windows.
2015-07-28 17:59:10 +03:00
abv
1c29294ea0 0026457: Failed build with OCCT_DEBUG enabled
Debug code enabled with OCCT_DEBUG macro corrected for compiling with new handles.

QANCollection_Handle.cxx simplified so as to avoid need of using /bigobj option when building by Visual Studio; templates of project files, CMake projects, and test perf fclasses handle corrected accordingly.

Script genproj corrected to recognize VTK and to build DRAWEXE as executable (rather than DLL).
2015-07-17 19:20:06 +03:00