Renaming overview folder
[occt.git] / dox / overview / Overview.md
CommitLineData
765b3e07 1Overview {#mainpage}
2========
3
4@section OCCT_OVW_SECTION_1 Welcome
5
6Welcome to Open CASCADE Technology version 6.7.0, a minor release,
7which introduces a number of new features and improved traditional
8functionality along with some changes over the previous release 6.6.0.
9
10This release makes Open CASCADE Technology even a more powerful and stable
11development platform for 3D modeling and numerical simulation applications.
12
13Open CASCADE Technology 6.7.0 is a full-featured package that allows developing
14applications on Windows and Linux platforms.
15
16@htmlonly<center>@endhtmlonly http://www.opencascade.org
17
18@image html /overview/images/overview_occttransparent.png
19@image latex /overview/images/overview_occttransparent.png
20
21Copyright (c) 2001-2013 OPEN CASCADE S.A.S.
22
23@image html /resources/occt_logo.png
24@image latex /resources/occt_logo.png
25
26@htmlonly</center>@endhtmlonly
27
28@section OCCT_OVW_SECTION_2 Copyrights
29
30Copyright(c) 2001-2013 by OPEN CASCADE S.A.S. All rights reserved.
31
32 Trademark information
33----------------------
34
35You are hereby informed that all software is a property of its respective authors and is protected by
36international and domestic laws on intellectual property and trademarks.
37Should you need further information, please directly contact the authors.
38
39CAS.CADE and Open CASCADE are registered trademarks of OPEN CASCADE S.A.S.
40
41 Acknowledgement
42------------------
43
44The following parties are acknowledged for producing tools which are used within
45Open CASCADE Technology libraries or for release preparation.
46
47You are hereby informed that all rights to the software listed below belong to its respective
48authors and such software may not be freely available and/or be free of charge for any kind
49of use or purpose. We strongly recommend that you carefully read the license of these products
50and, in case you need any further information, directly contact their authors.
51
52**Qt** is a cross-platform application framework that is widely used for developing application software
53with graphical user interface (GUI). Qt is free and open source software distributed under
54the terms of the GNU Lesser General Public License. In OCCT Qt is used for programming samples.
55If you need further information on Qt, please, refer to Qt Homepage (qt.digia.com).
56
57**Tcl** is a high-level programming language. Tk is a graphical user interface (GUI) toolkit,
58with buttons, menus, listboxes, scrollbars, and so on. Taken together Tcl and Tk provide a solution
59to develop cross-platform graphical user interfaces with a native look and feel. Tcl/Tk is under copyright by
60Scriptics Corp., Sun Microsystems, and other companies. However, Tcl/Tk is an open source, and
61the copyright allows you to use, modify, and redistribute Tcl/Tk for any purpose, without an
62explicit license agreement and without paying any license fees or royalties.
63To use Tcl/Tk, please refer to the Licensing Terms (http://www.tcl.tk/software/tcltk/license.html).
64
65**Robert Boehne** has developed **GNU Autoconf**, **Automake** and **Libtool** scripts and makefiles
66for the Open CASCADE project http://sourceforge.net/projects/autoopencas/,
67which became an initial groundwork for the build scripts based on respective GNU tools
68(autoconf, automake and libtool) in Open CASCADE Technology version 4.0.
69These scripts are now maintained by the OPEN CASCADE company.
70
71**GL2PS** is developed by Christophe Geuzaine and others. It is OpenGL to PostScript printing library.
72The library is licensed under GL2PS LICENSE http://www.geuz.org/gl2ps/COPYING.GL2PS Version 2, November 2003.
73
74**FreeType 2** is developed by Antoine Leca, David Turner, Werner Lemberg and others.
75It is a software font engine that is designed to be small, efficient, highly customizable and
76portable while capable of producing high-quality output (glyph images). This product
77can be used in graphic libraries, display servers, font conversion tools,
78text image generation tools, and many other products.
79
80FreeType 2 is released under two open-source licenses: BSD-like FreeType License and the GPL.
81
82**Intel(R) Threading Building Blocks (TBB)** offers a rich and complete approach to expressing parallelism in a C++ program.
83It is a library that helps you to take advantage of multi-core processor performance without having to be a threading expert.
84Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that
85abstracts platform details and threading mechanisms for scalability and performance.
86TBB is available under GPLv2 license with the runtime exception.
87
88Open CASCADE Technology WOK module on Windows also makes use of LGPL-licensed C routines * regexp and getopt, taken from GNU C library.
89
90**Doxygen** (Copyright (c) 1997-2010 by Dimitri van Heesch) is open source documentation system for
91C++, C, Java, Objective-C, Python, IDL, PHP and C#. This product is used in Open CASCADE Technology
92for automatic creation of Technical Documentation from C++ header files.
93If you need further information on Doxygen, please refer to http://www.stack.nl/~dimitri/doxygen/index.html.
94
95**Graphviz** is open source graph visualization software developed by John Ellson, Emden Gansner, Yifan Hu and Arif Bilgin.
96Graph visualization is representiation of structured information as diagrams of abstract graphs and networks.
97This product is used together with Doxygen in Open CASCADE Technology for automatic creation of Technical Documentation
98(generation of dependency graphs). Current versions of Graphviz are licensed on an open source
99basis only under The Eclipse Public License (EPL) (http://www.graphviz.org/License.php).
100
101**Inno Setup** is a free script-driven installation system created in CodeGear Delphi by Jordan Russell.
102In OCCT Inno Setup is used to create Installation Wizard on Windows.
103It is licensed under Inno Setup License (http://www.jrsoftware.org/files/is/license.txt).
104
105**FreeImage** is an Open Source library supporting popular graphics image formats, such as PNG, BMP, JPEG, TIFF
106and others used by multimedia applications. This library is developed by Hervé Drolon and Floris van den Berg.
107FreeImage is easy to use, fast, multithreading safe, compatible with all 32-bit or 64-bit versions of Windows,
108and cross-platform (works both with Linux and Mac OS X). FreeImage is licensed under the
109GNU General Public License, version 2.0 (GPLv2) and
110the FreeImage Public License (FIPL) (http://freeimage.sourceforge.net/freeimage-license.txt).
111
112Adobe Systems, Inc. provides **Adobe Acrobat Professional**, which is a software to view, create, manipulate,
113print and manage files in Portable Document Format (PDF).
114This product is used in OCCT for the development and update of User's Guides.
115
116The same developer provides **Robohelp HTML** that allows developing online Help for applications that are run on the Web and on Intranets.
117**Robohelp HTML X5.0.2** is used in OCCT for the development and update of OCCT Overview.
118
119**Linux** is a registered trademark of Linus Torvalds.
120
121**Windows** is a registered trademark of Microsoft Corporation in the United States and other countries.
122
123**Mac** and the Mac logo are trademarks of Apple Inc., registered in the U.S. and other countries.
124
125
126@section OCCT_OVW_SECTION_3 Introduction
127
128
129This document is just an introduction to Open CASCADE Technology (OCCT) dealing with
130compatibility and installation issues and providing a general description of OCCT modules
131and other features. All modules and development tools are described in User's Guides, available in
132Adobe Portable Document Format (PDF). To read this format, you need Adobe Acrobat Reader,
133which is a freeware and can be downloaded from the Adobe site.
134All user guides can be accessed directly from this help.
135
136Alongside with PDF User Guides, OCCT suggests its users full reference documentation on all
137implementation classes automatically generated by Doxygen software.
138This Doxygen generated documentation is supplied in the form of a separate package,
139in a usual html file format.
140
141Reference documentation is presented in **Modules --> Toolkits --> Packages --> Classes**
142logic structure with cross-references to all OCCT classes and complete in-browser search by all classes.
143
144**Recommendation for generation of reference documentation**
145
146Reference documentation can be generated by OCCT binary WOK package that
147is available for downloading from www.opencascade.org and dev.opencascade.org sites.
148
149Prerequisites:
150
151 * Doxygen version 1.7.4 or higher
152 * Graphviz version 2.28.0 or higher
153
154Run WOK (cd \<WOK_INSTALL_DIR\>/site folder):
155
156* Using WOK TCL shell:
157 > wok_tclsh.sh
158
159* Using Emacs editor:
160 > wok_emacs.sh
161
162In the WOK prompt, step into your workbench:
163
164 >wokcd <your workbench>
165
166In your workbench, use **wgendoc** command with –h argument to get information about arguments of **wgendoc** command:
167
168 >wgendoc -h
169
170then run **wgendoc** command with required arguments
171
172e.g., wgendoc –output=d:/occt/doc {–m=Draw Visualization} -chm
173
174@section OCCT_OVW_SECTION_5 Requirements
175
176@subsection OCCT_OVW_SECTION_5_1 Linux Intel
177<table>
178<tr> <th>Operating System </th> <th> 64-bit: Mandriva 2010, CentOS 5. 5, CentOS 6.3, Fedora 17, Fedora 18, Ubuntu-1304, Debian 6.0 * </th> </tr>
179<tr> <td> Minimum memory </td> <td> 512 Mb, 1 Gb recommended </td > </tr>
180<tr> <td> Free disk space (complete installation) </td> <td> For full installation Open CASCADE Technology requires 600 Mb of disk space. </td > </tr>
181<tr> <td>Minimum swap space </td> <td> 500 Mb </td > </tr>
182<tr> <td> Video card </td> <td> **GeForce** The following versions of GeForce drivers are recommended: 64-bit Version: 100.14.19 or later http://www.nvidia.com/object/linux_display_amd64_100.14.19.html 32-bit Version: 100.14.19 or later http://www.nvidia.com/object/linux_display_ia32_100.14.19.html </td > </tr>
183<tr> <td> Graphic library </td> <td> OpenGL 1.1+ (OpenGL 1.5+ is recommended) </td > </tr>
184<tr> <td>C++ </td> <td>GNU gcc 4.0. - 4.7.3. </td > </tr>
185<tr> <td> TCL (for testing tools) </td> <td> Tcltk 8.5 or 8.6 http://www.tcl.tk/software/tcltk/8.6.html</td > </tr>
186<tr> <td> Qt (for demonstration tools) </td> <td> Qt 4.6.2 http://qt.nokia.com/downloads </td > </tr>
187<tr> <td> Freetype (OCCT Text rendering) </td> <td> freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ </td > </tr>
188<tr> <td> FreeImage (Support of common graphic formats) </td> <td>FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ </td > </tr>
189<tr> <td> gl2ps (Export contents of OCCT viewer to vector graphic file) </td> <td> gl2ps-1.3.8 http://geuz.org/gl2ps/ </td > </tr>
190<tr> <td>TBB (optional tool for parallelized version of BRepMesh component) </td> <td> TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ </td > </tr>
191<tr> <td> OpenCL (optional for providing ray tracing visualization core </td> <td>http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ </td> </tr>
192</table>
193\* Debian 60 64 bit is a permanently tested platform.
194
195@subsection OCCT_OVW_SECTION_5_2 Windows Intel
196
197<table>
198<tr> <th>Operating System </th> <th> 32/64-bit: 8/ 7 SP1 / VISTA SP2 /XP SP3 </th> </tr>
199<tr> <td> Minimum memory </td> <td> 512 Mb, 1 Gb recommended </td > </tr>
200<tr> <td> Free disk space (complete installation) </td> <td> For full installation Open CASCADE Technology requires 650 Mb of disk space but during the process of installation you will need 1,2 Gb of free disk space. </td > </tr>
201<tr> <td>Minimum swap space </td> <td> 500 Mb </td > </tr>
202<tr> <td> Video card </td> <td> **GeForce** Version 266.58 WHQL or later is recommended: http://www.nvidia.com/Download/index.aspx
203 </td > </tr>
204<tr> <td> Graphic library </td> <td> OpenGL 1.1+ (OpenGL 1.5+ is recommended) </td > </tr>
205<tr> <td>C++ </td> <td>Microsoft Visual Studio .NET 2005 SP1 with all security updates
206Microsoft Visual Studio .NET 2008 SP1*
207Microsoft Visual Studio .NET 2010
208Microsoft Visual Studio .NET 2012
209Microsoft Visual Studio .NET 2013
210 </td > </tr>
211<tr> <td> TCL (for testing tools) </td> <td> TActiveTcl 8.5 or 8.6
212http://www.activestate.com/activetcl/downloads </td > </tr>
213<tr> <td> Qt (for demonstration tools) </td> <td> Qt 4.6.2 http://qt.digia.com/downloads </td > </tr>
214<tr> <td> Freetype (OCCT Text rendering) </td> <td> freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ </td > </tr>
215<tr> <td> FreeImage (Support of common graphic formats )</td> <td>FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ </td > </tr>
216<tr> <td> gl2ps (Export contents of OCCT viewer to vector graphic file) </td> <td> gl2ps-1.3.8 http://geuz.org/gl2ps/ </td > </tr>
217<tr> <td>TBB (optional tool for parallelized version of BRepMesh component) </td> <td> TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ </td > </tr>
218<tr> <td> OpenCL (optional for providing ray tracing visualization core </td> <td>http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ </td> </tr>
219</table>
220
221* The official release of OCCT for Windows contains libraries built with VC++ 2008.
222
223
224@subsection OCCT_OVW_SECTION_5_3 MAC OS X
225
226<table>
227<tr> <th>Operating System </th> <th> Mac OS X 10.6.8 Snow Leopard / 10.7 Lion </th> </tr>
228<tr> <td> Minimum memory </td> <td> 512 Mb, 1 Gb recommended </td > </tr>
229<tr> <td> Free disk space (complete installation) </td> <td> For full installation Open CASCADE Technology requires 600 Mb of disk space. </td > </tr>
230<tr> <td>Minimum swap space </td> <td> 500 Mb </td > </tr>
231<tr> <td> Video card </td> <td> **GeForce** Version 266.58 WHQL or later is recommended: http://www.nvidia.com/Download/index.aspx
232 </td > </tr>
233<tr> <td> Graphic library </td> <td> OpenGL 1.1+ (OpenGL 1.5+ is recommended) </td > </tr>
234<tr> <td>C++ </td> <td>XCode 3.2 or newer (4.x is recommended) </td > </tr>
235<tr> <td> Qt (for demonstration tools) </td> <td> Qt 4.6.2 http://qt.digia.com/downloads </td > </tr>
236<tr> <td> Freetype (OCCT Text rendering) </td> <td> freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ </td > </tr>
237<tr> <td> FreeImage (Support of common graphic formats )</td> <td>FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ </td > </tr>
238<tr> <td> gl2ps (Export contents of OCCT viewer to vector graphic file) </td> <td> gl2ps-1.3.8 http://geuz.org/gl2ps/ </td > </tr>
239<tr> <td>TBB (optional tool for parallelized version of BRepMesh component) </td> <td> TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ </td > </tr>
240<tr> <td> OpenCL (optional for providing ray tracing visualization core </td> <td> OpenCL 1.2.8 native </td> </tr>
241</table>
242
243@section OCCT_OVW_SECTION_4 Installation
244
245Open CASCADE Technology can be installed with binaries precompiled by
246Visual C++ 2008 using Installation Procedure under Windows platform only
247
248The source package and the building tools are available for self-dependent
249preparation binary files on Unix and Windows platforms.
250
251@subsection OCCT_OVW_SECTION_4_1 Windows
252
253**Recommendation:**
254
255If you have a previous version of OCCT installed on your station,
256and you do not plan to use it along with the new version, you might want to uninstall
257the previous version (using Control Panel, Add/Remove Programs) before
258the installation of this new version, to avoid possible problems
259(conflict of system variables, paths, etc).
260
261**Attention:** For full installation OCCT requires approximately 650 Mb of disk space,
262but during the installation process you will need 1,2 Gb of free disk space.
263
264OCCT installation with reference documentation requires 1,4 Gb on disk.
265
266 * Download the OCCT installer from OPEN CASCADE web site using the link. you have been provided
267 * Launch the installer and follow the instructions.
268
269### Third-party tools
270
271
272The includes and binaries of third-party libraries necessary for building and launching
273OCCT are included into binary distribution (built with Visual C++ 2008).
274To recompile OCCT libraries with other Visual C++ versions,
275it is necessary to install headers and libraries of these third-party products.
276
277The recommended way to do this is to download each of the third-party tools from its web site
278and build it using the relevant tools. For additional convenience of the users,
279OPEN CASCADE also provides the documents with recommendations on building
280third-party products from source files.
281
282
283
284When the installation is complete, you will find the following directories
285(some might be absent in case of custom installation):
286
287@image html /overview/images/overview_installation.png "The directory tree"
288@image latex /overview/images/overview_installation.png "The directory tree"
289
290
291
292 * **adm** This folder contains administration files, which allow rebuilding OCCT;
293 * **adm/cmake** This folder contains files of CMake building procedure;
294 * **adm/msvc** This folder contains Visual Studio projects for Visual C++ 2005, 2008 and 2010, which allow rebuilding OCCT under Windows platform in 32 and 64-bit mode;
295 * **data** This folder contains CAD files in different formats, which can be used to test the OCCT functionalities;
296 * **doc** This folder contains OCCT Overview documentation;
297 * **drv** This folder contains source files generated by WOK (private header files and instantiations of generic classes);
298 * **inc** This folder contains all OCCT header files;
299 * **samples** This folder contains sample applications.
300 * **src** This folder contains OCCT source files. They are organized in folders, one per development unit;
301 * **tests** This folder contains scripts for OCCT testing.
302 * **win32/vc9** This folder contains executable and library files built in optimize mode for Windows platform by Visual C++ 2008;
303
3043rd party products have been moved to the root of Open CASCADE installation.
305
306@image html /overview/images/overview_3rdparty.png "The third-party products"
307@image latex /overview/images/overview_3rdparty.png "The third-party products"
308
309
310@subsection OCCT_OVW_SECTION_4_2 System Environment Variables
311
312To run any Open CASCADE Technology application you need to set the environment variables.
313
314### On Windows
315
316
317You can define the environment variables with env.bat script located in the
318OpenCACADE<version_number>/ros folder. This script accepts two arguments to be used:
319the version of Visual Studio (vc8, vc9, or vc10) and the architecture (win32 or win64).
320
321The additional environment settings necessary for compiling OCCT libraries and samples
322by Microsoft Visual Studio can be set using script custom.bat located in the same folder.
323You might need to edit this script to correct the paths to third-party libraries
324if they are installed on your system in a non-default location.
325
326Script msvc.bat can be used with the same arguments for immediate launch of Visual Studio for (re)compiling OCCT.
327
328### On Unix
329
330
331 If OCCT was built by Code::Blocks, you can define the environment variables with env_cbp.sh or custom_cbp.sh script.
332
333 If OCCT was built by Automake, you can define the environment variables with env_amk.sh or custom_amk.sh script.
334
335The scripts are located in the OpenCACADE<version_number>/ros folder of the source package.
336
337
338### Description of system variables:
339
340
341 * **CASROOT** is used to define the root directory of Open CASCADE Technology;
342 * **PATH** is required to define the path to OCCT binaries and 3rdparty folder;
343 * **LD_LIBRARY_PATH** is required to define the path to OCCT libraries (on UNIX platforms only);
344 * **MMGT_OPT** if set to 1, the memory manager performs optimizations as described below; if set to 2,
345 Intel (R) TBB optimized memory manager is used; if 0 (default), every memory block is allocated
346 in C memory heap directly (via malloc() and free() functions).
347 In the latter case, all other options except MMGT_CLEAR and MMGT_REENTRANT are ignored;
348 * **MMGT_CLEAR** if set to 1 (default), every allocated memory block is cleared by zeros;
349 if set to 0, memory block is returned as it is;
350 * **MMGT_CELLSIZE** defines the maximal size of blocks allocated in large pools of memory. Default is 200;
351 * **MMGT_NBPAGES** defines the size of memory chunks allocated for small blocks in pages
352 (operating-system dependent). Default is 10000;
353 * **MMGT_THRESHOLD** defines the maximal size of blocks that are recycled internally
354 instead of being returned to the heap. Default is 40000;
355 * **MMGT_MMAP** when set to 1 (default), large memory blocks are allocated using
356 memory mapping functions of the operating system; if set to 0,
357 they will be allocated in the C heap by malloc();
358 * **MMGT_REENTRANT** when set to 1 (default), all calls to the
359 optimized memory manager will be secured against possible simultaneous access from different execution threads.
360
361This variable should be set in any multithreaded application that uses
362an optimized memory manager (MMGT_OPT=1) and has more than one thread
363potentially calling OCCT functions. If set to 0, OCCT memory management and
364exception handling routines will skip the code protecting from possible concurrency
365in multi-threaded environment. This can yield some performance gain in some applications,
366but can lead to unpredictable results if used in a multithreaded application;
367
368**Special note:** for applications that use OCCT memory manager from more than one thread,
369on multiprocessor hardware, it is recommended to use options MMGT_OPT=2 and MMGT_REENTRANT=1.
370
371 * **CSF_LANGUAGE** is required to define the default language of messages;
372 * **CSF_EXCEPTION_PROMPT** – if defined and set to 1 then a diagnostic message is displayed in case of an exception;
373 * **CSF_MDTVFontDirectory** accesses the fonts that can be used in OCCT;
374 * **CSF_MDTVTexturesDirectory** defines the directory for available textures when using texture mapping;
375 * **CSF_UnitsDefinition** and **CSF_UnitsLexicon** are required by programs considering units;
376 * **CSF_SHMessage** is required in order to define the path to the messages file for *ShapeHealing*;
377 * **CSF_XSMessage** is required in order to define the path to the messages file for **STEP** and **IGES** translators;
378 * **CSF_StandardDefaults** and **CSF_PluginDefaults** are required in order to maintain CASCADE Persistence mechanism to make possible any open/save operations with OCAF documents;
379 * **CSF_StandardLiteDefaults** is required in order to maintain *OCCT Persistence mechanism* to make possible any open/save operations with Lite OCAF documents;
380 * **CSF_XCAFDefaults** any open/save operations for **XDE** documents;
381 * **CSF_GraphicShr** is required to define the path to the *TKOpenGl* library;
382 * **CSF_IGESDefaults** and **CSF_STEPDefaults** are required for **IGES** and **STEP** translators correspondingly in order to define the path to the resource files;
383 * **CSF_XmlOcafResource** is required in order to set the path to **XSD** resources, which defines XML grammar.
384
385As part of XML persistence support, these definitions can be used by end users
386in XML validators or editors, together with persistent XmlOcaf documents;
387
388* **CSF_MIGRATION_TYPES** is required in order to read documents that contain old data types, such as *TDataStd_Shape*;
389* **TCLLIBPATH**, **TCL_LIBRARY**, **TK_LIBRARY** and **TIX_LIBRARY** are required to allow work with **DRAW** and **WOK**.
390
391@section OCCT_OVW_SECTION_6 Release Notes
392
393
394Open CASCADE Technology latest version
395@htmlonly
396<a href="http://occtrel.nnov.opencascade.com/OpenCASCADE6.7.0/doc/release_notes.pdf">Release Notes</a>
397@endhtmlonly (PDF)
398
399
400@section OCCT_OVW_SECTION_7 Getting Started
401
402
403@subsection OCCT_OVW_SECTION_7_1 Draw Test Harness
404
405Draw is a command interpreter based on TCL and a graphical system used for testing and demonstrating OCCT modeling libraries.
406
407Draw can be used interactively to create, display and modify objects such as curves, surfaces and topological shapes.
408
409@image html /overview/images/overview_draw.png
410@image latex /overview/images/overview_draw.png
411
412Scripts can be written to customize Draw and perform tests.
413New types of objects and new commands can be added using C++ programming language.
414
415Draw contains:
416
417 * A command interpreter based on TCL command language.
418 * A 2D an 3D graphic viewer with support of operations such as zoom, pan, rotation and full-screen views.
419 * An optional set of geometric commands to create and modify curves and surfaces and to use OCCT geometry algorithms.
420 * A set of topological commands to create and modify BRep shapes and to use OCCT topology algorithms.
421 * A set of graphic commands for view and display operations including Mesh Visualization Service.
422 * A set of Application framework commands for handling of files and attributes.
423 * A set of Data Exchange commands for translation of files from various formats (IGES,STEP) into OCCT shapes.
424 * A set of Shape Healing commands: check of overlapping edges, approximation of a shape to BSpline, etc.
425
426You can add new custom test harness commands to Draw in order to test
427or demonstrate a new functionality, which you are developing.
428
429Currently DRAW Test Harness is a single executable called DRAWEXE.
430
431Commands grouped in toolkits can be loaded at run-time thereby implementing dynamically loaded plug-ins.
432Thus you can work only with the commands that suit your needs adding
433the commands dynamically without leaving the Test Harness session.
434
435Declaration of available plug-ins is done through special resource file(s).
436The pload command loads the plug-in in accordance with
437the specified resource file and activates the commands implemented in the plug-in.
438
439The whole process of using the plug-in mechanism as well as the instructions for extending Test Harness is described in the
440@htmlonly
441<a href="http://occtrel.nnov.opencascade.com/OpenCASCADE6.6.0/doc/OCCT_Tests.pdf">User's Guide/</a>
442@endhtmlonly
443
444Draw Test Harness provides an environment for OCCT automated testing system. Please, consult its
445@htmlonly
446<a href="http://occtrel.nnov.opencascade.com/OpenCASCADE6.6.0/doc/OCCT_Tests.pdf">User's Guide /</a>
447@endhtmlonly
448for details.
449
450Remarks:
451
452* The DRAWEXE executable is delivered with the installation procedure on Windows platform only.
453* To start it, launch DRAWEXE executable from Open CASCADE Technology//Draw Test Harness item of the Start\\Programs menu.
454
455@subsection OCCT_OVW_SECTION_7_2 Experimenting with Draw Test Harness
456
457 Running Draw
458------------
459
460**On Linux:**
461
4621. If OCCT was built by Code::Blocks * use $CASROOT/draw_cbp.sh file to launch DRAWEXE executable;
4632. If OCCT was built by Automake * use $CASROOT/draw_amk.sh file to launch DRAWEXE executable;
464
465Draw[1]> prompt appears in the command window
466
467Type pload ALL
468
469**On Windows:**
470
471Launch Draw executable from Open CASCADE Technology\\Test Harness\\Draw Test Harness
472item of the Start\\Programs menu or Use $CASROOT\\draw.bat file to launch DRAWEXE executable.
473
474Draw[1]> prompt appears in the command window
475
476Type pload ALL
477
478**Creating your first geometric objects**
479
4801. In the command window, type axo to create an axonometric view
4812. Type box b -10 -10 -10 20 20 20 to create a cube b of size 20,
482 parallel to the X Y Z axis and centered on the origin.
483 The cube will be displayed in the axonometric view in wireframe mode
4843. Type fit to fill the viewer with the cube
4854. Type pcylinder c 2 30 to create a cylinder c of radius 2 and height 30.
486 The cylinder will be displayed in addition to the cube
487
488**Manipulating the view**
489
4901. Type clear to erase the view
4912. Type donly c to display the cylinder only
4923. Type donly b to display the cube only
4934. Type hlr hlr b to display the cube in the hidden line removal mode
494
495**Running demonstration files**
496
4971. Type cd ..//.. to return to the root directory
4982. Type cd src//DrawResources to reach the DrawResources directory
4993. Type source "Available Demo File" to run the demonstration provided with Open CASCADE
5004. The following demonstration files are available:
501 * DataExchangeDemo.tcl
502 * ModelingDemo.tcl
503 * OCAFDemo.tcl
504 * VisualizationDemo.tcl
505
506**Getting Help**
507
5081. Type help to see all available commands
5092. Type help command-name to find out the arguments for a given command
510
511@subsection OCCT_OVW_SECTION_7_3 Programming Samples
512
513@subsubsection OCCT_OVW_SECTION_7_3_1 MFC
514
515Visual C++ programming samples containing 10 Visual C++ projects
516illustrating how to use a particular module or functionality.
517
518The list of MFC samples:
519
520 * Geometry
521 * Modeling
522 * Viewer2d
523 * Viewer3d
524 * ImportExport
525 * Ocaf
526 * Triangulation
527 * HLR
528 * Animation
529 * Convert
530
531@image html /overview/images/overview_mvc.png
532@image latex /overview/images/overview_mvc.png
533
534**Remarks:**
535
536 * MFC samples are available only on Windows platform;
537 * To start a sample use Open CASCADE Technology\\Samples\\Mfc\\ item of the Start\\Programs menu;
538 * Read carefully readme.txt to learn about launching and compilation options.
539
540@subsubsection OCCT_OVW_SECTION_7_3_2 Qt
541
542OCCT contains three samples based on Qt application framework
543
544 Import Export
545-------------
546
547 Import Export programming sample contains 3D Viewer and Import // Export functionality.
548
549@image html /overview/images/overview_qt.png
550@image latex /overview/images/overview_qt.png
551
552 Tutorial
553---------
554
555The Qt programming tutorial teaches how to use Open CASCADE Technology services to model a 3D object.
556The purpose of the tutorial is not to explain all OCCT classes but
557to help start thinking in terms of the Open CASCADE Technology.
558
559This tutorial assumes that the user has experience in using and setting up C++.
560From the viewpoint of programming, Open CASCADE Technology is designed
561to enhance user's C++ tools with high performance modeling classes, methods and functions.
562The combination of these resources allows creating substantial applications.
563
564**See also:** @subpage overview__tutorial "3D Object Tutorial"
565
566 Voxel
567------
568
569This is a demonstration application showing OCCT voxel models.
570It also includes a set of non-regression tests and other commands
571for testing this functionality (accessible only through TEST pre-processor definition).
572
573**See also:**
574 @htmlonly
575<a href="http://occtrel.nnov.opencascade.com/OpenCASCADE6.6.0/doc/voxels_wp.pdf">Voxels User's guide (PDF)</a>
576@endhtmlonly
577
578**Remarks:**
579
580 * Qt samples are available on all supported platforms;
581 * To start a sample on Windows use Open CASCADE Technology\\Samples\\Qt\\ item of the Start\\Programs menu.
582
583@subsubsection OCCT_OVW_SECTION_7_3_3 C#
584
585C# sample containing 3D Viewer and Import // Export functionality.
586
587@image html /overview/images/overview_c__ie.png
588@image latex /overview/images/overview_c__ie.png
589
590Import:
591
592 * BRep
593 * Iges
594 * Step
595
596Export:
597
598 * Brep
599 * Iges
600 * Step
601 * Stl
602 * Vrml
603
604**Remarks:**
605
606 * C# sample is available only on Windows platform;
607 * It is delivered in source code only and must be built with Microsoft Visual C++ 2005.
608
609
610
611