Free Electron
BindEditOp.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 __oplab_BindEditOp_h__
8 #define __oplab_BindEditOp_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Operator to interactively change wrap bindings
16 
17  @ingroup oplab
18 *//***************************************************************************/
19 class FE_DL_EXPORT BindEditOp:
20  public OperatorState,
21  public Initialize<BindEditOp>
22 {
23  public:
24 
25  BindEditOp(void):
26  m_rayDepth(0),
27  m_ctrled(FALSE) {}
28 virtual ~BindEditOp(void) {}
29 
30  void initialize(void);
31 
32  //* As HandlerI
33 virtual void handle(Record& a_rSignal);
34 
35  protected:
36 
37 virtual void setupState(void);
38 virtual BWORD loadState(const String& rBuffer);
39 
40  private:
41 
42  sp< RecordMap<I32> > m_spEditMap;
43  Accessor<I32> m_aIndex;
44  Accessor<I32> m_aBinding;
45  Accessor<I32> m_aFace;
46  Accessor<SpatialVector> m_aBarycenter;
47 
48  sp<SurfaceI> m_spInput;
49  sp<SurfaceI> m_spDriver;
50  WindowEvent m_event;
51  I32 m_rayDepth;
52  BWORD m_ctrled;
53 
54  SpatialVector m_selectPoint;
55  SpatialVector m_selectNormal;
56  SpatialVector m_bindPoint;
57  SpatialVector m_bindNormal;
58 };
59 
60 } /* namespace ext */
61 } /* namespace fe */
62 
63 #endif /* __oplab_BindEditOp_h__ */
Operator to interactively change wrap bindings.
Definition: BindEditOp.h:19
Operator base class to save and reload state.
Definition: OperatorState.h:20
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Dense vector - size fixed by template.
Definition: Vector.h:19
Generalized windowing event.
Definition: WindowEvent.h:43
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53