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

3124 Commits

Author SHA1 Message Date
rkv
c16915c713 0026625: Possible wrong use of vtkSmartPointer<T> in IVtkVTK_ShapeData.cxx
Use vtkSmartPointer<XXX>::New() instead of XXX::New() when initializing fields of vtkSmartPointer<XXX> types.
2015-11-26 12:02:09 +03:00
aba
4d147bf2a7 0025549: Visualization - do not crash on attempt to display the Angle dimension between two parallel lines
- Handle cases of 0 and Pi angle depending on lines in edges and end points

Draw arcs in accordance with input normal for minimum angle, check correctness of input circle parameters
2015-11-26 11:59:30 +03:00
bugmaster
bd485d9691 Redirection of generation reference documentation from source files 2015-11-24 16:36:34 +03:00
bugmaster
31dfc19fcb Copy env.bat file from adm/templates 2015-11-24 16:11:22 +03:00
abv
79104795a1 0026912: CLang 3.6.2 compiler warning [-Winconsistent-missing-override] 2015-11-23 14:58:23 +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
abv
8fcb8c0700 0000670: Problem with the Print method.
Test for issue #670 corrected to avoid unpredictable behavior
2015-11-19 15:31:21 +03:00
rkv
95e05159d6 0026179: Coding rules - eliminate -Wdeprecated-declarations CLang warnings on tmpnam() usage
Make a temporary file using BuildTemporary() in "/tmp" folder on Linux or using "TEMP" environment variable on Windows.
Use the new OSD_File::Capture() method for standard output redirection.
2015-11-19 15:31:17 +03:00
emv
9b7f3f83c0 0025926: 3D offset in mode "Complete" with Join type "Intersection"
Extension for colliding cases (Limited to work on planar cases only).

Test cases for issue CR25926

Update of test-cases according to the new behavior
2015-11-19 15:27:42 +03:00
isk
b40693b0c2 0026890: Foundation Classes, TKernel - define OSD_OpenStream for std::ifstream 2015-11-19 15:25:19 +03:00
pdn
e71669c6e5 0026664: Triangulating a very small polygon fails
Parameter for adaptive computation of minimal 2D meshing precision added in BRepMesh_IncrementalMesh API.
Corresponding option -adaptive added in DRAW command

All meshing parameters are collected in structure, BRepMesh_FastDiscret::Parameters, which is now used to define and manipulate parameters of the algorithm.
2015-11-19 15:21:10 +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
ibs
6e4dfbecee 0026869: Documentation - simplify "Building with CMake and ADT on Android" article
ADT using removed. GNU make using added

Small corrections of title and image in documentation.
2015-11-19 14:46: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
4525373bf3 0026872: Coding - pointless instantiations of local variables in BinTools
Instantiations of local stringstream variables used in error handling moved from upper function scope to places where they are actually needed
2015-11-19 14:33:29 +03:00
vpa
eece3af2e2 0026870: Visualization - deactivated selections are not updated after object's re-computation
- update status in SelectMgr_SelectionManager::RecomputeSelection:
  1) is set to full for all selections;
  2) is switched to none only if selection was actually recomputed;
- test case for issue #26870
2015-11-19 14:31:48 +03:00
isk
75c262a97a 0026790: Visualization, TKOpenGl - apply view resolution to the line width in OpenGl_Context::SetLineWidth()
Add ResolutionRatio() method in the Graphic3d_RenderingParams.
Add SetResolutionRatio() method in the OpenGl_Context.
2015-11-19 14:29:31 +03:00
ibs
ad77956498 0026867: Configuration - update any comparison including __cplusplus macro to remove one
__cplusplus >= 201103L replaced with __QNX__ macro
2015-11-19 14:27:06 +03:00
jgv
420f79f8bc 0026681: BRepPrimAPI_MakeRevol creates faulty shape
Correction according to remarks

More precise processing of non-SameParameter edges

Correction of mistake

Test cases for issue CR26681
2015-11-19 14:22:54 +03:00
kgv
d2eddacc8f 0026862: Configuration - avoid usage of 3rd-party headers within OpenGl_View and D3DHost_View
Move Font_FTFont::Rect structure into dedicated header Font_FTFont.
D3DHost_View, OpenGl_Font, Font_TextFormatter - use forward declarations.

Fix regressions after #0024776

OpenGl_View::IsInvalidated() - fix misprint.
D3DHost_View::Redraw() - assign myFBO before rendering.
D3DHost_FrameBuffer::Init() - fix always zero viewport.
2015-11-19 14:18:00 +03:00
ifv
2651bfde07 0024890: Result of uniform scaling is invalid
Test case for issue CR24890
2015-11-19 14:15:15 +03:00
nbv
ec7ed71c18 Current MASTER is not built if OCCT_DEBUG macros is enabled 2015-11-13 14:49:25 +03:00
bugmaster
d5f0e4adb9 Cosmetic correction 2015-11-12 14:43:38 +03:00
aba
1c078d3b39 0026056: AIS_LengthDimension can not build dimension for face-edge or edge-face
- Correct AIS_LengthDimension::InitEdgeFaceLength() method to support face-edge and edge-face cases
- Correct test command to support face-edge and edge-face input geomerty without custom plane
2015-11-12 13:03:13 +03:00
ifv
a144d7770f 0026857: Documentation for methods Geom_BSplineSurface::SetU(V)NotPeriodic is wrong 2015-11-12 11:26:52 +03:00
emv
b1682e23b2 0026855: Draw commands to debug Boolean Operations Algorithm
The commands to debug BOA.
These commands should serve only debug purposes and should not be used in tests.

Removing old implementation of the duplicated bopnews command.
2015-11-12 11:23:31 +03:00
isk
832ae82d0a 0026821: Visualization - define default Rendering Parameters for Interactive Context
Define default Rendering Parameters within V3d_Viewer.
New instances of V3d_View use default Rendering Parameters.
2015-11-12 11:18:05 +03:00
emv
338434c75a 0026798: Boolean operations: keep desired cells and boundaries in the result
The algorithm is based on the General Fuse algorithm (GFA). The result of
GFA is all split parts of the Arguments.

The purpose of this algorithm is to provide the result with the content of:
1. Cells (parts) defined by the user;
2. Internal boundaries defined by the user.

In other words the algorithm should provide the possibility for the user
to add or remove any part to (from) result and remove any internal boundaries
between parts.

Requirements for the Data:
All the requirements of GFA for the DATA are inherited in this algorithm.
Plus all the arguments should have the same dimension.

Results:
The result of the algorithm is compound containing selected parts of
the basic type (VERTEX, EDGE, FACE or SOLID). The default result
is empty compound. It is possible to add any split part to the result
by using the methods AddToRessult() and AddAllToResult().
It is also possible to remove any part from the result by using methods
RemoveFromResult() and RemoveAllFromResult().
The method RemoveAllFromResult() is also suitable for clearing the result.

To remove Internal boundaries it is necessary to set the same material to the
parts between which the boundaries should be removed and call the method
RemoveInternalBoundaries(). The material should not be equal to 0, as this is
default material value. The boundaries between parts with this value
will not be removed.
One part cannot be added with the different materials.
It is also possible to remove the boundaries during combining the result.
To do this it is necessary to set the material for parts (not equal to 0)
and set the flag bUpdate to TRUE.
BUT for the arguments of the types FACE or EDGE it is recommended
to remove the boundaries in the end when the result is completely built.
It will help to avoid self-intersections in the result.

It is possible to create typed Containers from the parts added to result by using
method MakeContainers(). The type of the containers will depend on the type of
the arguments: WIRES for EEDGE, SHELLS for FACES and COMPSOLIDS for SOLIDS.
The result will be compound containing containers.
Adding of the parts to such result will not update containers. The result
compound will contain the containers and new added parts (of basic type).
Removing of the parts from such result may affect some containers if the
the parts that should be removed is in container. In this case this container
will be rebuilt without that part.

History:
The algorithm supports history information. This information available through
the methods IsDeleted() and Modified(). In DRAW Test Harness it is available
through the same commands as for Boolean Operations (bmodified and bisdeleted).

Examples:
1. API
BOPAlgo_CellsBuilder aCBuilder;
BOPCol_ListOfShape aLS = ...; // arguments
/* parallel or single mode (the default value is FALSE)*/
Standard_Boolean bRunParallel = Standard_False;
/* fuzzy option (default value is 0)*/
Standard_Real aTol = 0.0;
//
aCBuilder.SetArguments(aLS);
aCBuilder.SetRunParallel(bRunParallel);
aCBuilder.SetFuzzyValue(aTol);
//
aCBuilder.Perform();
if (aCBuilder.ErrorStatus()) { // check error status
  return;
}
/* empty compound, as nothing has been added yet */
const TopoDS_Shape& aRes = aCBuilder.Shape();
/* all split parts */
const TopoDS_Shape& aRes = aCBuilder.GetAllParts();
//
BOPCol_ListOfShape aLSToTake = ...; // parts of these arguments will be taken into result
BOPCol_ListOfShape aLSToAvoid = ...; // parts of these arguments will not be taken into result
//
/* defines the material common for the cells, i.e.
   the boundaries between cells with the same material
   will be removed.
   By default it is set to 0. Thus, to remove some boundary
   the value of this variable should not be equal to 0 */
Standard_Integer iMaterial = ...;
/* defines whether to update the result right now or not */
Standard_Boolean bUpdate = ...;
// adding to result
aCBuilder.AddToResult(aLSToTake, aLSToAvoid, iMaterial, bUpdate);
aR = aCBuilder.Shape(); // the result
// removing of the boundaries
aCBuilder.RemoveInternalBoundaries();

// removing from result
aCBuilder.AddAllToResult();
aCBuilder.RemoveFromResult(aLSToTake, aLSToAvoid);
aR = aCBuilder.Shape(); // the result

2. DRAW Test Harness
psphere s1 15
psphere s2 15
psphere s3 15
ttranslate s1 0 0 10
ttranslate s2 20 0 10
ttranslate s3 10 0 0

bclearobjects; bcleartools
baddobjects s1 s2 s3
bfillds
# rx will contain all split parts
bcbuild rx
# add to result the part that is common for all three spheres
bcadd res s1 1 s2 1 s3 1 -m 1
# add to result the part that is common only for first and third shperes
bcadd res s1 1 s2 0 s3 1 -m 1
# remove internal boundaries
bcremoveint res

Added history support for Generated shapes (created in ShapeUpgrade_UnifySameDomain).

Methods AddToResult and RemoveFromResult have been documented in more details to clarify the procedure of adding and removing parts.

Adding external library to use ShapeUpgrade_UnifySameDomain.

Test-cases for issue #26798
2015-11-12 11:15:39 +03:00
azv
5201d3e66c 0026255: Adaptor3d_OffsetCurve is misleading
1. Rename Adaptor3d_OffsetCurve to Adaptor2d_OffsetCurve and relative classes
2. Remove redundant class Geom2dGcc_CurveToolGeo
2015-11-12 10:45:14 +03:00
afv
de6273a31f 0026603: Problem with maximization and normalization document windows in Qt samples with Qt 5.x 2015-11-12 10:13:17 +03:00
abv
f2139a7f0f 0026780: Coding rules - eliminate warnings on Linux and Mac
Fixed a few remaining warnings found by GCC, CLang, and VC++ 14 (recent changes)
2015-11-11 09:43:26 +03:00
abv
7dc2c1656a 0026854: Use -Wextra with GCC
Added option -Wextra for GCC compilation
2015-11-09 15:04:56 +03:00
abv
6fab2d4f64 0025078: Coding rules - eliminate GCC warning -Wclobbered
GCC warning -Wclobbered suppressed in Standard_ErrorHandler.hxx when OCC_CONVERT_SIGNALS or NO_CXX_EXCEPTIONS are used
2015-11-09 15:04:55 +03:00
abv
04e9307054 0026852: Coding - compiler warnings issued by GCC 5.2.1
Compiler warnings eliminated:
- BRepAlgo_DSAccess: avoid copying of local list
- IntPatch, IntTools: initialize "possibly used uninitialized" variables by zeros
- Intf: slight refactoring
- OSD_signal: suppress unused argument
- OpenGL: add missing initializers in structures
- STEPConstruct_GDTProperty: correct function signature to pass output parameters by reference
2015-11-09 15:04:54 +03:00
rkv
3d18f1e038 0026783: Coding rules - eliminate GCC warning -Wunused-but-set-parameter
TestTopOpeDraw_Displayer::GetTol(), GetPar() - pass assigned parameters by reference.
TopOpeBRep_vprdeg.cxx, TopOpeBRep_FacesFiller::ProcessVPondgE() - remove commented code, comment inactive code.
2015-11-09 15:04:53 +03:00
abv
5d88fd549c 0026850: Replace nested instantiations of TCollection generic classes by NCollection templates
Remaining instantiations of NCollection generics are converted to NCollection templates; unused and duplicates removed
2015-11-09 15:04:07 +03:00
abv
487bf1ceaa 0024567: Coding rules - eliminate GCC warning -Wignored-qualifiers
Redundant const qualifiers of return types of functions returning values are removed
2015-11-07 21:40:52 +03:00
abv
cda9a0d4c2 0026843: New warning during compilation OCCT on MacOS
Remove unused (and not implemented) methods in OSD package: IsDivisible(), GetExponent(), GetMantissa(), AvailableMemory()
2015-11-07 21:40:18 +03:00
rkv
d48df25df1 0026780: Coding rules - eliminate warnings on Linux and Mac
Avoid warnings by means of ifdef/ifndef or removing unused code.
2015-11-07 21:37:19 +03:00
abv
c9246067a1 0026178: Coding rules - eliminate -Wtautological-pointer-compare CLang warnings in Standard_ErrorHandler
Tautological comparisons removed; buffer initialized by zeros; LXX files merged to HXX; descriptions added
2015-11-06 07:54:57 +03:00
kgv
8265e5deb8 0026844: Visualization, OpenGl_Flipper - fix issues within Core Profile and OpenGL ES
Remove outdated code lines.
2015-11-05 14:27:51 +03:00
abv
a5916aa20b 0022325: Patch to fix a build failure on GNU/kFreeBSD 2015-11-05 12:16:48 +03:00
jgv
f33f393a11 0026757: Wrong history of a fillet
Small correction

Test case for issue CR26757
2015-11-05 12:14:03 +03:00
apn
a8686c759c 0026744: Boolean Cut builds incorrect result
Added test case bugs/modalg_6/bug26744
2015-11-05 12:10:47 +03:00
ibs
d8d01f6ed6 0026823: Configuration - use EGL on another platform without GLX 2015-11-05 12:04:05 +03:00