Free Electron
RulerOp.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 __operator_OperatorGraduateOp_h__
8 #define __operator_OperatorGraduateOp_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Draw panels of lines behind an object
17 
18  @ingroup operator
19 *//***************************************************************************/
20 class FE_DL_EXPORT RulerOp:
21  public OperatorSurfaceCommon,
22  public Initialize<RulerOp>
23 {
24  public:
25  RulerOp(void);
26 virtual ~RulerOp(void) {}
27 
28  void initialize(void);
29 
30  //* As HandlerI
31 virtual void handle(Record& a_rSignal);
32 
33  void drawOrthoGrid(sp<DrawI> a_spDraw3D,sp<DrawI> a_spDraw2D,
34  sp<SurfaceAccessibleI> a_spSurfaceAccessibleI);
35 
36  private:
37 
38  void scan(sp<DrawI> a_spDraw2D);
39  void drawOrtho(sp<DrawI> a_spDraw3D,sp<DrawI> a_spDraw2D);
40 
41  sp<SurfaceAccessibleI> m_spInputAccessible;
42  sp<SurfaceI> m_spInput;
43 
44  sp<DrawMode> m_spOverlay;
45  sp<DrawMode> m_spBrush;
46  sp<DrawMode> m_spHaze;
47  sp<DrawMode> m_spSplatter;
48 
49  WindowEvent m_event;
50 
51  SpatialVector m_minCorner;
52  SpatialVector m_maxCorner;
53  SpatialVector m_back;
54  SpatialVector m_start;
55  SpatialVector m_end;
56  Real m_step;
57 
58  BWORD m_hasCumulative;
59  SpatialVector m_minCumulative;
60  SpatialVector m_maxCumulative;
61 
62  BWORD m_pickedA;
63  BWORD m_pickedB;
64  SpatialVector m_pointA;
65  SpatialVector m_pointB;
66  SpatialVector m_normA;
67  SpatialVector m_normB;
68  I32 m_triIndexA;
69  I32 m_triIndexB;
70  SpatialBary m_barycenterA;
71  SpatialBary m_barycenterB;
72 };
73 
74 } /* namespace ext */
75 } /* namespace fe */
76 
77 #endif /* __operator_OperatorGraduateOp_h__ */
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Generalized windowing event.
Definition: WindowEvent.h:43
Partial Generic SurfaceI Implemention.
Definition: OperatorSurfaceCommon.h:20
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Draw panels of lines behind an object.
Definition: RulerOp.h:20