MeVisLab Toolbox Reference
SoView2DVectorFieldView.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 
16 
17 // TODO:
18 // * Set absolute vector width (currently 1 by default).
19 // * Enable StylePalette input.
20 
21 #pragma once
22 
24 #include "SoView2DSystem.h"
25 
27 #include "SoView2DExtension.h"
28 
29 #include <Inventor/fields/SoFields.h>
30 
31 #include "SoSFMLBase.h"
32 #include "SoSFMLImage.h"
33 #include "mlStylePalette.h"
34 
35 //----------------------------------------------------------------------------------
37 //----------------------------------------------------------------------------------
39 {
43  SO_NODE_HEADER(SoView2DVectorFieldView);
44 
45 public:
46 
51  static void initClass(void);
52 
55 
60  void draw(View2DSliceList *dsl, View2DSlice *dslice, int slice) override;
61 
62 
65 
66  // //! input style palette
67  // SoSFMLBase stylePalette;
68 
70  SoSFColor vectorColor;
71 
73  SoSFColor midpointColor;
74 
76  SoSFFloat midpointSize;
77 
79  SoSFUInt32 midpointSegments;
80 
83 
86  SoSFFloat vectorWidth;
87 
89  SoSFFloat vectorLength;
90 
92  SoSFFloat vectorMinLength;
93 
96 
98  SoSFUInt32 stepWidth;
99 
101  SoSFBool drawArrowTips;
102 
104  SoSFColor arrowTipColor;
105 
107  SoSFFloat arrowTipWidth;
108 
110  SoSFFloat arrowTipHeight;
111 
114 
116  SoSFBool useComps2And3;
118 };
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
SoView2DExtension Base class for all View2DExtensions used for drawing and event handling on the View...
SoView2DExtension for displaying a vector field.
SoSFFloat midpointSize
Size of the midpoints as a factor of the voxel size.
SoSFUInt32 midpointSegments
Number of point segments.
SoSFBool vectorAbsoluteSize
Again, indicate we want absolute widths.
SoSFColor arrowTipColor
The color of the arrow tips.
SoSFFloat vectorMinLength
Threshold on minimum vector length (to speed up rendering)
SoSFFloat vectorLength
Vector length.
static void initClass(void)
Initialization function of this class.
SoSFFloat arrowTipHeight
The height of the arrow tips.
SoView2DVectorFieldView(void)
Creates a detail viewer for voxels.
SoSFBool midpointAbsoluteSize
Indicate that we want absolute width values instead of relative widths.
SoSFColor midpointColor
The point color;.
SoSFBool normalizeVectors
Normalize, that is, scale all vectors to the same length.
SoSFFloat arrowTipWidth
The width of the arrow tips.
SoSFUInt32 stepWidth
Step width between shown vectors.
void draw(View2DSliceList *dsl, View2DSlice *dslice, int slice) override
Virtual method called by the SoView2D node.
SoSFFloat vectorWidth
Width of the vectors, as a factor of the voxel size.
SoSFBool useComps2And3
If enabled then component 2 and 3 are used as x and y component, default is false.
SoSFColor vectorColor
The vector color.
SoSFBool drawArrowTips
Indicate we want to draw some arrow tips.
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