Users ask from time to time how to set up an offscreen instance of OCCT 3D Viewer for making screenshots. Offscreen viewer setup is pretty straightforward, but some extra hints and comments described in this article might be helpful.Continue reading
Previous publication described first steps in running Draw Harness in a Browser as a WebAssembly module. As a result, the project was able to run complex Tcl scripts, to be embedded into web-site, to display objects in 3D Viewer and to run smooth animations.
The gallery of samples still has rough edges like ugly 3D Viewer layout, but even in its current state the project looks helpful to demonstrate OCCT usage and capabilities. The gallery is being slowly extended with new samples when I get some new question or idea about OCCT usage that I could demonstrate in Draw Harness.
Previous article indicated some further directions for improvements, and now we will experiment with multi-threading.Continue reading
In the first part of the tutorial we have created a custom AIS object MyAisObject computing presentation by implementing the PrsMgr_PresentableObject::Compute() interface.
In this part we will extend our object with interactive capabilities and make it selectable through implementing SelectMgr_SelectableObject interface.Continue reading
Previous article provided an introduction into AIS (Application Interactive Services) from the high-level point of view. OCCT provides a strong set of built-in Interactive Objects for rapid application development, but the real power and flexibility of AIS could be revealed by subclassing and implementing custom presentations.
In this article we will focus on the development of a custom AIS_InteractiveObject and show the basics step by step. So that it will look more like a tutorial and you are encouraged to try to follow the described steps and repeat the experiment on your own.Continue reading
The previous article has given a short introduction to the Open CASCADE 3D Viewer with a Hello World C++ sample showing viewer initialization. Let’s now take a deeper look into AIS (Application Interactive Services) classes and its basic concepts.
The article could be useful to beginners to complement or strengthen understanding of terms from Visualization User’s Guide.Continue reading
This article provides a high-level overview of a frame rendering graph implemented by TKOpenGl (OpenGl_GraphicDriver). Although it is named here as a “graph”, it’s not that flexible and the overall structure looks pretty flat, as could be seen later on diagrams.
The article might be useful to advanced OCCT users wanting to learn more about low-level OpenGL rendering aspects of OCCT 3D Viewer, to see a better correlation between high-level (AIS) and low-level (OpenGl) layers, to figure out how and where to implement tricky effects or to understand how to optimize application rendering performance.Continue reading
As a follow-up of my previous experiment with GTK, I’ve finally found some time to resurrect my earlier drafts for QOpenGLWidget sample.Continue reading
Forthcoming OCCT 7.6 release will introduce some improvements in XCAF and B-Rep file formats, which breaks backward compatibility with older OCCT releases. Anticipating users’ frustration due to file format incompatibilities, this small article is intended to shed some light on the background of new changes.
It’s been a while since I’ve written an application using the GTK framework. Developers of industrial cross-platform applications strongly prefer the Qt framework as it tries to mimic GUI per platform, while GTK brings the same uniform experience to all platforms. But apart from strange movements of GNOME developers in GNOME 3, GTK remains a strong framework for development of native Linux applications.
Open CASCADE Technology (OCCT) users may easily find code samples embedding OCCT 3D Viewer into Qt-based, MFC-based, WinForms-based and even WPF-based applications, but one may barely find any working sample based on GTK framework.
Following a recent question on this topic on StackOverflow, I’ve decided to take a look onto this problem and to prepare a simple Hello OCCT Viewer sample using gtkmm (GTK for C++).Continue reading