MeVisLab Toolbox Reference
SoCSOFillingRenderer.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2012, 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#pragma once
14
16
18
20{
22 {
23 x = y = -1;
24 }
25 double x,y;
26};
27
29
31
33
35{
36 ZERO = GL_ZERO,
37 ONE = GL_ONE,
38 SRC_COLOR = GL_SRC_COLOR,
39 ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR,
40 DST_COLOR = GL_DST_COLOR,
41 ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR,
42 SRC_ALPHA = GL_SRC_ALPHA,
43 ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA,
44 DST_ALPHA = GL_DST_ALPHA,
45 ONE_MINUS_DST_ALPHA = GL_ONE_MINUS_DST_ALPHA,
46 CONSTANT_COLOR = GL_CONSTANT_COLOR,
47 ONE_MINUS_CONSTANT_COLOR = GL_ONE_MINUS_CONSTANT_COLOR,
48 CONSTANT_ALPHA = GL_CONSTANT_ALPHA,
49 ONE_MINUS_CONSTANT_ALPHA = GL_ONE_MINUS_CONSTANT_ALPHA,
50 SRC_ALPHA_SATURATE = GL_SRC_ALPHA_SATURATE
51};
52
54
62
64
67{
68 SO_NODE_HEADER(SoCSOFillingRenderer);
69
70public:
71
76
78 void draw(const CSODrawCSOInfos& csoDrawInfos, const CSODrawView2DInfos& view2DInfos, const std::vector<CSODrawSliceInformation>& sliceInfos, SoView2DCSOExtensibleEditor* editor) override;
79
82
84 static void initClass();
85
86 int cursorShape() const override { return SoViewerProxy::DEFAULT_CURSOR; }
87
88 bool shouldRenderGeneral(ml::CSO*) const override { return false; }
89
90 SoSFTypedEnum <HoleCorrectionMode> holeCorrectionMode;
92
94 SoSFTypedEnum <FillingBlendFunc> srcBlendFunction;
95 SoSFTypedEnum <FillingBlendFunc> dstBlendFunction;
96 SoSFColor blendColor;
97 SoSFFloat blendAlpha;
98
99protected:
100
101private:
102 void getVisibleCSOs(const CSODrawCSOInfos& csoDrawInfos, const CSODrawView2DInfos& view2DInfos, const std::vector<CSODrawSliceInformation>& sliceInfos, std::vector < unsigned int >& visibleCSOIds);
103 void getGroupedCSOs(ml::CSOList* csoList, const std::vector <unsigned int>& visibleCSOIds, std::map < unsigned int, std::vector <std::pair <double, unsigned int> > >& groupedCSOs);
104 void deleteAdditionalVertices();
105};
106
@ CONSTANT_ALPHA
@ ONE_MINUS_CONSTANT_ALPHA
@ ONE_MINUS_SRC_ALPHA
@ ONE_MINUS_SRC_COLOR
@ CONSTANT_COLOR
@ ONE_MINUS_DST_COLOR
@ ONE_MINUS_DST_ALPHA
@ SRC_ALPHA_SATURATE
@ ONE_MINUS_CONSTANT_COLOR
HoleCorrectionMode
@ HoleCorrectionInGroups
@ HoleCorrectionByEmbedding
@ HoleCorrectionSingleCSOs
@ HoleCorrectionNone
#define SOCSO_EXPORT
Header file for system independent resolution.
Definition SoCSOSystem.h:21
Extension for rendering filled (tessellated) CSOs.
void draw(const CSODrawCSOInfos &, const CSODrawView2DInfos &, const CSODrawSliceInformation &, SoView2DCSOExtensibleEditor *) override
Common drawing routine, not used.
SoSFTypedEnum< FillingBlendFunc > srcBlendFunction
bool shouldRenderGeneral(ml::CSO *) const override
Returns whether a given CSO should be rendered by this general extension.
SoSFTypedEnum< FillingBlendFunc > dstBlendFunction
int cursorShape() const override
Returns the cursor shape that indicates the next creation.
void draw(const CSODrawCSOInfos &csoDrawInfos, const CSODrawView2DInfos &view2DInfos, const std::vector< CSODrawSliceInformation > &sliceInfos, SoView2DCSOExtensibleEditor *editor) override
General drawing routine.
static void initClass()
init class in inventor runtime
~SoCSOFillingRenderer() override
Destructor.
SoCSOFillingRenderer()
Standard constructor.
SoSFTypedEnum< HoleCorrectionMode > holeCorrectionMode
Base class for extensions that render all CSOs of a CSOList.
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
Definition CSOList.h:61
The CSO represents a contour segmentation object.
Definition CSO.h:44