MeVisLab Toolbox Reference
SoView2DExtensionSeparator.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 
15 
16 #pragma once
17 
18 #include "SoView2DExtension.h"
19 
21 
22 #include <Inventor/fields/SoSFBool.h>
23 #include <Inventor/fields/SoSFTrigger.h>
24 
26 {
27  SO_NODE_HEADER(SoView2DExtensionSeparator);
28 
29 public:
31 
33  SoSFEnum drawingOrder;
34 
37 
39  SoSFTrigger updateOrder;
40 
42  SoSFBool forwardEvents;
43 
45  SoSFBool markAsUnhandled;
46 
48 
50  static void initClass();
51 
54 
56  void draw(View2DSliceList *dsl, View2DSlice* dslice, int slice) override;
57 
59  bool evaluateEvent(SoView2D *view2d, View2DEvent* ec) override;
60 
61  //bool evalEvent(SoView2D* view2d, View2DSliceList* slicelist, View2DEvent* ec, View2DEventPhase phase);
62 
64  void startDrawing(View2DSliceList * /*slicelist*/) override;
65 
67  void endDrawing(View2DSliceList * /*slicelist*/) override;
68 
69 protected:
71 
73  void doAction(SoAction *action) override;
74 
76  virtual void orderChanged(SoField* field);
77 
78 
79 private:
80 
82  bool _revertDrawingOrder;
83 
85  SoNodeList _extensions;
86 
88  ExtensionDrawingOrder _parentDrawingOrder;
89 
91  ExtensionDrawingOrder _usedDrawingOrder;
92 };
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
SoView2D extension for grouping of extensions to control event evaluation.
void startDrawing(View2DSliceList *) override
reimplemented from SoView2DExtension
bool evaluateEvent(SoView2D *view2d, View2DEvent *ec) override
reimplemented from SoView2DExtension
virtual void orderChanged(SoField *field)
called when updateOrder or drawingOrder field is touched:
SoSFTrigger updateOrder
updates drawingOrderIsReversed based on internal order
void doAction(SoAction *action) override
reimplemented from SoView2DExtension
~SoView2DExtensionSeparator() override
SoSFBool markAsUnhandled
should events be marked unhandled before forwarding
SoSFBool drawingOrderIsReversed
use the drawing order of the parent node (if possible)
SoSFBool forwardEvents
should events be forwarded to child extensions
SoView2DExtensionSeparator()
Constructor.
void endDrawing(View2DSliceList *) override
reimplemented from SoView2DExtension
static void initClass()
inventor runtime type system
void draw(View2DSliceList *dsl, View2DSlice *dslice, int slice) override
reimplemented from SoView2DExtension
SoView2DExtension Base class for all View2DExtensions used for drawing and event handling on the View...
SoView2D is a 2D viewer for image data.
Definition: SoView2D.h:62
View2DEvent stores all information on an event on a SoView2D.
a list that holds all View2DSlice objects (lazily created) of a SoView2D
a single slice that is stored in a View2DSliceList, typically created by a View2DSliceList
Definition: View2DSlice.h:48