Free Electron
KatanaGeo.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __katana_KatanaGeo_h__
8 #define __katana_KatanaGeo_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief General Katana Geolib Operator
16 
17  @ingroup katana
18 *//***************************************************************************/
19 
20 class KatanaGeo: public Foundry::Katana::GeolibOp
21 {
22  public:
23 
24 static void setup(Foundry::Katana::GeolibSetupInterface &interface);
25 static void cook(Foundry::Katana::GeolibCookInterface &interface);
26 static void flush(void);
27 
28  class KatanaState: public Counted
29  {
30  public:
31  KatanaState(void);
32  virtual ~KatanaState(void);
33 
34  KatanaContext* m_pKatanaContext;
35  TerminalNode* m_pTerminalNode;
36  };
37 
38 static std::map<String, sp<KatanaState> > ms_stateMap;
39 };
40 
41 } /* namespace ext */
42 } /* namespace fe */
43 
44 #endif /* __katana_KatanaGeo_h__ */
shared FE context for Katana plugins
Definition: KatanaContext.h:19
Heap-based support for classes participating in fe::ptr <>
Definition: Counted.h:35
kernel
Definition: namespace.dox:3
General Katana Geolib Operator.
Definition: KatanaGeo.h:20
Terminal control of an OperatorSurfaceI.
Definition: TerminalNode.h:20