MeVisLab Toolbox Reference
SoMLLUTElement.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 #ifndef SO_MLLUTELEMENT_H
14 #define SO_MLLUTELEMENT_H
15 
16 
18 
19 #include "SoUtilsSystem.h"
20 #include <Inventor/elements/SoReplacedElement.h>
21 
22 class SoMLLUT;
23 
24 ML_START_NAMESPACE
25 
26  class LUTFunction;
27 
28 ML_END_NAMESPACE
29 
30 //----------------------------------------------------------------------------------
32 //----------------------------------------------------------------------------------
33 class SOUTILS_EXPORT SoMLLUTElement : public SoReplacedElement {
34 
35  SO_ELEMENT_HEADER(SoMLLUTElement);
36 
37  public:
39  void init(SoState *state) override;
40 
42  static void set(SoState *state, SoNode *node, SoMLLUT *lutNode);
43 
46  static SoMLLUT *get(SoState *state);
47 
50  static ml::LUTFunction *getLut(SoState *state);
51 
53  static const SoMLLUTElement * getInstance(SoState *state);
54 
56  SbBool matches(const SoElement *elt) const override;
57 
60  SoElement *copyMatchInfo() const override;
61 
63  void print(FILE *fp) const override;
64 
65  SoINTERNAL public:
67  static void initClass();
68 
69  protected:
72 
74  ~SoMLLUTElement() override {}
75 };
76 
77 #endif
#define SOUTILS_EXPORT
System dependent includes. Disables some compiler/linker warnings.
Definition: SoUtilsSystem.h:31
Open Inventor element to administrate a pointer to a SoMLLUT node in the inventor state.
void init(SoState *state) override
See inventor element documentation. Not to be called directly.
SoMLLUT * data
Saves the pointer to the currently set node.
static void set(SoState *state, SoNode *node, SoMLLUT *lutNode)
Set element state. Usually called in action routines of self written inventor nodes.
static ml::LUTFunction * getLut(SoState *state)
Get/Query the element state.
static SoMLLUT * get(SoState *state)
Get/Query the element state.
~SoMLLUTElement() override
Destructor.
static void initClass()
Initializes the SoMLLUTElement class.
SoElement * copyMatchInfo() const override
See inventor element documentation.
SbBool matches(const SoElement *elt) const override
See inventor element documentation.
void print(FILE *fp) const override
See inventor element documentation.
static const SoMLLUTElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
Open Inventor node implementing an interface to the ml::LUTFunction.
Definition: SoMLLUT.h:29
Common base class for lookup tables.
Definition: mlLUTFunction.h:55