MeVisLab Toolbox Reference
SoMLLUTExtensionElement.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_MLLUTEXTENSION_ELEMENT_H
14 #define SO_MLLUTEXTENSION_ELEMENT_H
15 
16 
19 
20 //--------- disable VC++ warnings---------
21 #ifdef WIN32
22 #pragma warning (disable : 4355)
23 #pragma warning (disable : 4275)
24 #pragma warning (disable : 4251)
25 #pragma warning (disable : 4138)
26 #pragma warning (disable : 4800)
27 #endif
28 
29 #include "SoUtilsSystem.h"
30 
31 #include <Inventor/elements/SoReplacedElement.h>
32 #include <Inventor/SoLists.h>
33 
34 class SoMLLUTExtension;
35 
36 //=============================================================
41 
42 //=============================================================
43 SoEXTENDER class SOUTILS_EXPORT SoMLLUTExtensionElement : public SoReplacedElement {
44 
45  SO_ELEMENT_HEADER(SoMLLUTExtensionElement);
46 
47  public:
48  void init(SoState *state) override;
49 
50  void pop(SoState *state, const SoElement *prevTopElement) override;
51  void push(SoState* aState) override;
52  void clearList();
53 
55  static void set(SoState *state, SoNode *node, SoMLLUTExtension *newPrimitive);
56 
58  static const SoNodeList* get(SoState *state);
59 
61  static const SoMLLUTExtensionElement * getInstance(SoState *state);
62 
63  SbBool matches(const SoElement *elt) const override;
64 
65  SoElement *copyMatchInfo() const override;
66 
67  void print(FILE *fp) const override;
68 
69  SoINTERNAL public:
71  static void initClass();
72 
73  protected:
75 
76  SoNodeList _data;
77 };
78 
79 #endif
#define SOUTILS_EXPORT
System dependent includes. Disables some compiler/linker warnings.
Definition: SoUtilsSystem.h:31
SoMLLUTExtensionElement collects a list of SoGVRExtensions while the scene graph is traversed The lis...
static void set(SoState *state, SoNode *node, SoMLLUTExtension *newPrimitive)
Set element state.
static const SoMLLUTExtensionElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
void push(SoState *aState) override
static void initClass()
Initializes the SoMLLUTExtensionElement class.
static const SoNodeList * get(SoState *state)
Get list of SoGVRExtensions from current state.
void init(SoState *state) override
SoElement * copyMatchInfo() const override
void pop(SoState *state, const SoElement *prevTopElement) override
void print(FILE *fp) const override
SbBool matches(const SoElement *elt) const override
SoMLLUTExtension is a base class to extends the SoMLLut with functionality.