Coin Logo 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 
33 
34  SO_ELEMENT_HEADER(SoGLMultiTextureMatrixElement);
35 public:
36  static void initClass(void);
37 protected:
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
virtual void multElt(const int unit, const SbMatrix &matrix)
Definition: SoMultiTextureMatrixElement.cpp:139
virtual void init(SoState *state)
Definition: SoMultiTextureMatrixElement.cpp:167
SoElement is the abstract base class for all elements.
Definition: SoElement.h:34
virtual void push(SoState *state)
Definition: SoMultiTextureMatrixElement.cpp:179
The SoState class manages the Coin scenegraph traversal state data.The SoState class is used by actio...
Definition: SoState.h:35
virtual void setElt(const int unit, const SbMatrix &matrix)
Definition: SoMultiTextureMatrixElement.cpp:150
The SoMultiTextureMatrixElement class is used to manage the texture matrix stack for texture units > ...
Definition: SoMultiTextureMatrixElement.h:32
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
The SbMatrix class is a 4x4 dimensional representation of a matrix.SbMatrix is used by many other cla...
Definition: SbMatrix.h:37
virtual void pop(SoState *state, const SoElement *prevTopElement)
Definition: SoElement.cpp:585

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

Generated on Wed Feb 7 2018 for Coin by Doxygen 1.8.14.