1 // Created on: 1994-04-26
2 // Created by: Jean Yves LEBEY
3 // Copyright (c) 1994-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _TestTopOpeTools_HeaderFile
18 #define _TestTopOpeTools_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <Draw_Interpretor.hxx>
25 class TestTopOpeTools_Mesure;
29 //! Provide Trace control on packages involved in
30 //! topological operations kernel, from Draw command interpretor.
32 //! They may be used by users of topological operation kernel, such as :
34 //! * topological operation performer,
35 //! * hidden line removal performer,
36 //! * fillet, chamfer performer
38 //! Trace control consists in management of
39 //! control functions, activating/desactivating execution of
40 //! instructions considered as purely PASSIVE code,
41 //! performing dumps, prints, and drawing of internal objects
42 //! dealed by some topological operation packages.
44 //! All of the Trace controls in top.ope. kernel
45 //! are enclosed by the C conditional compilation statements :
46 //! #ifdef OCCT_DEBUG ... #endif
48 //! The "Traced" packages of topological operation kernel are :
53 //! How to use the Trace :
54 //! ----------------------
56 //! In a Test.cxx program using the Draw command interpretor, dealing
57 //! a set of commands theCommands (Draw_CommandManager theCommands) :
59 //! TestTopOpeTools::TraceCommands();
61 //! Compile your Test.cxx, run and then, under the command manager prompt :
63 //! Trace : prints the list of the Trace flags available on top.ope. kernel
64 //! Trace <flag> : activates Trace code of <flag>
65 //! Trace <flag> <1 | 0> : activates/desactivates Trace code of <flag>
66 //! Trace <1 | 0> : activates/desactivates all Trace code of top.ope. kernel
68 //! How to add Traces :
69 //! -------------------
71 //! It it possible to add your own "Traced" portions of code in your code.
72 //! In your test program, simply add :
74 //! #include <TestTopOpeTools_AddTrace.hxx>
76 //! and see the file TestTopOpeTools_Trace.hxx for explanations.
84 //! Defines all topological operation test commands
85 Standard_EXPORT static void AllCommands (Draw_Interpretor& I);
87 //! Defines the dump commands on
88 //! topological operation packages.
89 Standard_EXPORT static void TraceCommands (Draw_Interpretor& I);
91 //! Defines auxiliary commands
92 Standard_EXPORT static void OtherCommands (Draw_Interpretor& I);
108 friend class TestTopOpeTools_Mesure;
118 #endif // _TestTopOpeTools_HeaderFile