Hi, As a FreeCAD contributor I tracked a crash up to src/BRep/BRep_Tool.cxx and discovered that null pointers are not handle in many function. For example: Handle(Geom2d_Curve) BRep_Tool::CurveOnSurface(const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, Standard_Real& Fir
Apple has just released its first generation of ARM-based desktop computers. Macs used exclusively Intel CPUs since transition from IBM PowerPC in 2006, but now Apple believes that their own SoC, originally developed for mobile devices (iPhone and iPad), can replace Intel CPUs within the whole line
OCCT 7.5.0 introduces a redesigned progress indication API with the Message_ProgressIndicator class as an entry point. The redesign was focused on the following objectives: Allow propagating a progress indicator to nested algorithms within multiple working threads. Handle various inconsistencies and
We are glad to inform the community of Open CASCADE Technology about a complete overhaul of BRepMesh component that is waiting for release in the upcoming 7.4.0 version. This overhaul, constrained by the requirement to keep non-regression of test cases collected during the last 20 years, took a whil
Hello, everyone! I succeeded to build the OpenCascade v7.3.0 using various compilers (VS2010-VS2017, GCC4.8, GCC4.4) in various modes and everything finished great. However, when I tried to build my application (which previously used v6.9) with the v7.3.0 one, everything worked great on newer MS com
In PresentationFramework from .NET 4.5 a namespace called Standard has been added. Admittedly, there might not be too many out there using occt from c++/cli (or are there?), but for those which do and also use the PF, this will clash with the class Standard in the global namespace from occt. Looking
Just wonder if precompiled headers will be something that will be implemented in the new cmake system? The speed gain (in MSVC at least) is *so* much that I wonder why you didn't do this before! It's a matter of minutes vs. hours! Also it's pretty easy to implement, and can be done out-of-source, I'
For many algorithms and tools to be usable in real applications, it is essential that these algorithms provide detailed information on the encountered problematic situations. In case of error, such details can be critically important for the user to be able to recognize the reason of the problem, an
Dear OCCT Team, I find the Note in the Modeling Data document Page 31: that this data structure does not contain any back references. All references go from more complex underlying shapes to less complex ones. For example, If I have a vertex and want to know which Edge contains it, I can use TopExp:
I’m talking about the proposed c++ modules here, not open cascade modules C++ Modules not getting in the vc17 standard but are a technical specification now. Many of the targeted compilers for OCC (Visual Studio, LLVM Clang and GCC) are working on compiler extensions probably ready in the 2017/18
There might be history reason, OCCT OCAF doesn't well support for Unicode XML. Unicode is essential in nowadays application. LDOMBasicString is mainly designed for ASCII string though it has Unicode encoding by adding prefix unreadable magic number ##feff. The encoded Unicode storage is not user fri
The code of Convert_CompBezierCurvesToBSplineCurve and ShapeConstruct_CompBezierCurvesToBSplineCurve is nearly the same. Looking at the history of both, the only difference seems to come from "0025256: Small optimization in Convert comp bezier to BSpline". Why are there these two classes? Shouldn't
Hi, I set stuff up to compile OCCT with msys2/mingw64, I have compiled OCE like this before and have compiled a vc14 version, but above error stops the mingw64 build dead in its tracks. Also, uniquely, a google search show that no-one in the google verse ever encountered this. Any pointers to remedy
As explained in http://dev.opencascade.org/index.php?q=node/1091 and in #24682, motivation for removing the cache out of B-Spline was to improve performance by avoding mutex lock (which is required for ensuring thread-safe access). Although overhead was OK for x86 platforms, Istvan Csanady reported
In current master (7.0 preview), DEFINE_STANDARD_RTTI macro includes declaration and inlined definition of the static and virtual method as follows (see Standard_Type.hxx): static const char* get_type_name () { return #Class; } \ virtual const Handle(Standard_Type)& DynamicType() const { return STAN
Dear All, We have finalized development of several major new features for Open CASCADE Technology 7.0. The most essential changes -- removal of CDL and WOK -- have been raised to master branch of the OCCT Git repository last Friday, and we propose this version for public review, as "alpha" version o
Hello Andrey, This is some early feedback on the 7.0 Upgrade tool . We are still in the progress of migration, so some comments may come later on. First off, the tool does help to reduce tedious work and thus speed up migration, so thank you for providing it. Some comments, not in any particular ord
Originally, the OCCT persistence was based on an object oriented database. In order to control what is actually stored, the applications had to define a database schema by mean of a set of persistent classes - classes inheriting from Persistent such as the ones from the PGeom and PTopoDS packages -
Hi All, At the moment OCCT OCAF persistence uses plugin mechanism, when library providing persistent functionality for particular subset of OCAF attributes is loaded dynamically at runtime by OCAF. For that, the plugin library name and location must be properly defined with help of predefined set of
Hello, We are steadily progressing in the refactoring tasks, and now have the first version of OCCT without WOK and CDL ready for review: see Git branch CR0_noCDL. Note that this is the first experimental version, thus please do not try to use it in your project! Here is some detail on the changes m
Run-Time Type Information (RTTI) is C++ mechanism to access type information in code at runtime, including well-known dynamic_cast operator. Although this functionality is integral part of modern C++ standard, this was not true at OCCT foundation time. This is why OCCT has been designed with own RTT
Hello, This year we are going to concentrate first on a task which perhaps is the longest-pending one in OCCT development - overall refactoring of the code and build system, getting rid of WOK and CDL. This change will form a basis of the next OCCT version, 7.0. break We have updated the project pag
Apple released GCD a two years ago. GCD is a basically parallel programming toolkit, with super-efficient, lightweight asynchronous tools, like dispatch queues, semaphores, asynchronous I/O tools etc. Here is the reference: https://developer.apple.com/library/Mac/DOCUMENTATION/Performance/Refere...
Hello All, During preparation of OCCT 6.7.0 we have made some improvements related to performance and stability of the code which I would like to describe here. Inspired by advice of our contributors, we have checked possibility to improve performance by tweaking relevant compiler options. The analy