0028449: Data Exchange - Wrong orientation of Annotation Plane in GD&T
[occt.git] / src / TestTopOpeTools / TestTopOpeTools.hxx
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
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
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.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _TestTopOpeTools_HeaderFile
18 #define _TestTopOpeTools_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 #include <Draw_Interpretor.hxx>
25 class TestTopOpeTools_Mesure;
26
27
28
29 //! Provide Trace control on packages involved in
30 //! topological operations kernel, from Draw command interpretor.
31 //!
32 //! They may be used by users of topological operation kernel, such as :
33 //!
34 //! * topological operation performer,
35 //! * hidden line removal performer,
36 //! * fillet, chamfer performer
37 //!
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.
43 //!
44 //! All of the Trace controls in top.ope. kernel
45 //! are enclosed by the C conditional compilation statements :
46 //! #ifdef OCCT_DEBUG  ...  #endif
47 //!
48 //! The "Traced" packages of topological operation kernel are :
49 //! - TopBuild
50 //! - TopOpeBRepTool
51 //! - TopOpeBRepDS
52 //!
53 //! How to use the Trace :
54 //! ----------------------
55 //!
56 //! In a Test.cxx program using  the Draw command interpretor, dealing
57 //! a set of commands theCommands (Draw_CommandManager theCommands)  :
58 //!
59 //! TestTopOpeTools::TraceCommands();
60 //!
61 //! Compile your Test.cxx, run and then, under the command manager prompt :
62 //!
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
67 //!
68 //! How to add Traces :
69 //! -------------------
70 //!
71 //! It it possible to add your own "Traced" portions of code in your code.
72 //! In your test program, simply add :
73 //!
74 //! #include <TestTopOpeTools_AddTrace.hxx>
75 //!
76 //! and see the file TestTopOpeTools_Trace.hxx for explanations.
77 class TestTopOpeTools 
78 {
79 public:
80
81   DEFINE_STANDARD_ALLOC
82
83   
84   //! Defines all topological operation test commands
85   Standard_EXPORT static void AllCommands (Draw_Interpretor& I);
86   
87   //! Defines the dump commands on
88   //! topological operation packages.
89   Standard_EXPORT static void TraceCommands (Draw_Interpretor& I);
90   
91   //! Defines auxiliary commands
92   Standard_EXPORT static void OtherCommands (Draw_Interpretor& I);
93
94
95
96
97 protected:
98
99
100
101
102
103 private:
104
105
106
107
108 friend class TestTopOpeTools_Mesure;
109
110 };
111
112
113
114
115
116
117
118 #endif // _TestTopOpeTools_HeaderFile