| http://www.sim.no/ http://www.coin3d.org/

SoGLMultiTextureMatrixElement.h
1 #ifndef COIN_SOGLMULTITEXTUREMATRIXELEMENT_H
2 #define COIN_SOGLMULTITEXTUREMATRIXELEMENT_H
3
4 /**************************************************************************\
5 *
6 * This file is part of the Coin 3D visualization library.
7 * Copyright (C) by Kongsberg Oil & Gas Technologies.
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * ("GPL") version 2 as published by the Free Software Foundation.
12 * See the file LICENSE.GPL at the root directory of this source
13 * distribution for additional information about the GNU GPL.
14 *
15 * For using Coin with software that can not be combined with the GNU
16 * GPL, and for taking advantage of the additional benefits of our
17 * support services, please contact Kongsberg Oil & Gas Technologies
18 * about acquiring a Coin Professional Edition License.
19 *
20 * See http://www.coin3d.org/ for more information.
21 *
22 * Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
23 * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24 *
25 \**************************************************************************/
26
27 #include <Inventor/elements/SoMultiTextureMatrixElement.h>
28
29 typedef struct cc_glglue cc_glue; // same as in glue/gl.h
30
31 class COIN_DLL_API SoGLMultiTextureMatrixElement : public SoMultiTextureMatrixElement {
32 typedef SoMultiTextureMatrixElement inherited;
33
34 SO_ELEMENT_HEADER(SoGLMultiTextureMatrixElement);
35 public:
36 static void initClass(void);
37 protected:
38 virtual ~SoGLMultiTextureMatrixElement();
39
40 public:
41 virtual void init(SoState * state);
42 virtual void push(SoState * state);
43 virtual void pop(SoState * state,
44 const SoElement * prevTopElement);
45
46 virtual void multElt(const int unit, const SbMatrix & matrix);
47 virtual void setElt(const int unit, const SbMatrix & matrix);
48
49 private:
50 void updategl(const int unit) const;
51 uint32_t cachecontext;
52 };
53
54 #endif // !COIN_SOGLMULTITEXTUREMATRIXELEMENT_H
SoMultiTextureMatrixElement::multElt
virtual void multElt(const int unit, const SbMatrix &matrix)
Definition: SoMultiTextureMatrixElement.cpp:139
SoMultiTextureMatrixElement::init
virtual void init(SoState *state)
Definition: SoMultiTextureMatrixElement.cpp:167
SoElement
SoElement is the abstract base class for all elements.
Definition: SoElement.h:34
SoMultiTextureMatrixElement::push
virtual void push(SoState *state)
Definition: SoMultiTextureMatrixElement.cpp:179
SoState
The SoState class manages the Coin scenegraph traversal state data.The SoState class is used by actio...
Definition: SoState.h:35
SoMultiTextureMatrixElement::setElt
virtual void setElt(const int unit, const SbMatrix &matrix)
Definition: SoMultiTextureMatrixElement.cpp:150
SoMultiTextureMatrixElement
The SoMultiTextureMatrixElement class is used to manage the texture matrix stack for texture units > ...
Definition: SoMultiTextureMatrixElement.h:32
SoGLMultiTextureMatrixElement
The SoGLMultiTextureMatrixElement class is used to update the OpenGL texture matrix.Since (for some weird reason) most OpenGL implementations have a very small texture matrix stack, and since the matrix stack also is broken on many OpenGL implementations, the texture matrix is always loaded into OpenGL. We do not push() and pop() matrices.
Definition: SoGLMultiTextureMatrixElement.h:31
SbMatrix
The SbMatrix class is a 4x4 dimensional representation of a matrix.SbMatrix is used by many other cla...
Definition: SbMatrix.h:37
SoElement::pop
virtual void pop(SoState *state, const SoElement *prevTopElement)
Definition: SoElement.cpp:585

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.