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
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
92
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
Target mlrange_cast(Source arg)
Generic version of checked ML casts.