66
66
return (const SoFCInteractiveElement *) SoElement::getConstElement(state, classStackIndex);
69
// ---------------------------------
71
SO_ELEMENT_SOURCE(SoGLWidgetElement);
73
void SoGLWidgetElement::initClass(void)
75
SO_ELEMENT_INIT_CLASS(SoGLWidgetElement, inherited);
76
SO_ENABLE(SoGLRenderAction, SoGLWidgetElement);
79
void SoGLWidgetElement::init(SoState * state)
81
inherited::init(state);
85
SoGLWidgetElement::~SoGLWidgetElement()
89
void SoGLWidgetElement::set(SoState * state, QGLWidget * window)
91
SoGLWidgetElement * elem = static_cast<SoGLWidgetElement *>
92
(SoElement::getElement(state, classStackIndex));
93
elem->window = window;
96
void SoGLWidgetElement::get(SoState * state, QGLWidget *& window)
98
const SoGLWidgetElement* that = static_cast<const SoGLWidgetElement *>
99
(SoElement::getConstElement(state, classStackIndex));
100
window = that->window;
103
void SoGLWidgetElement::push(SoState * state)
105
inherited::push(state);
108
void SoGLWidgetElement::pop(SoState * state, const SoElement * prevTopElement)
110
inherited::pop(state, prevTopElement);
113
SbBool SoGLWidgetElement::matches(const SoElement * element) const
118
SoElement * SoGLWidgetElement::copyMatchInfo(void) const
123
// ---------------------------------
125
SO_ELEMENT_SOURCE(SoGLRenderActionElement);
127
void SoGLRenderActionElement::initClass(void)
129
SO_ELEMENT_INIT_CLASS(SoGLRenderActionElement, inherited);
130
SO_ENABLE(SoGLRenderAction, SoGLRenderActionElement);
133
void SoGLRenderActionElement::init(SoState * state)
135
inherited::init(state);
136
this->glRenderAction = 0;
139
SoGLRenderActionElement::~SoGLRenderActionElement()
143
void SoGLRenderActionElement::set(SoState * state, SoGLRenderAction * action)
145
SoGLRenderActionElement * elem = static_cast<SoGLRenderActionElement *>
146
(SoElement::getElement(state, classStackIndex));
147
elem->glRenderAction = action;
150
void SoGLRenderActionElement::get(SoState * state, SoGLRenderAction * & action)
152
const SoGLRenderActionElement* that = static_cast<const SoGLRenderActionElement *>
153
(SoElement::getConstElement(state, classStackIndex));
154
action = that->glRenderAction;
157
void SoGLRenderActionElement::push(SoState * state)
159
inherited::push(state);
162
void SoGLRenderActionElement::pop(SoState * state, const SoElement * prevTopElement)
164
inherited::pop(state, prevTopElement);
167
SbBool SoGLRenderActionElement::matches(const SoElement * element) const
172
SoElement * SoGLRenderActionElement::copyMatchInfo(void) const
177
// ---------------------------------
179
SO_NODE_SOURCE(SoGLWidgetNode);
184
SoGLWidgetNode::SoGLWidgetNode(void) : window(0)
186
SO_NODE_CONSTRUCTOR(SoGLWidgetNode);
192
SoGLWidgetNode::~SoGLWidgetNode()
196
// Doc from superclass.
197
void SoGLWidgetNode::initClass(void)
199
SO_NODE_INIT_CLASS(SoGLWidgetNode, SoNode, "Node");
201
SO_ENABLE(SoGLRenderAction, SoGLWidgetElement);
204
// Doc from superclass.
205
void SoGLWidgetNode::doAction(SoAction * action)
207
SoGLWidgetElement::set(action->getState(), this->window);
210
// Doc from superclass.
211
void SoGLWidgetNode::GLRender(SoGLRenderAction * action)
213
SoGLWidgetNode::doAction(action);