http://www.sim.no/
http://www.coin3d.org/
include
Inventor
elements
SoTextureMatrixElement.h
1
#ifndef COIN_SOTEXTUREMATRIXELEMENT_H
2
#define COIN_SOTEXTUREMATRIXELEMENT_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/SoAccumulatedElement.h>
28
#include <Inventor/SbMatrix.h>
29
30
class
COIN_DLL_API
SoTextureMatrixElement
:
public
SoAccumulatedElement
{
31
typedef
SoAccumulatedElement
inherited
;
32
33
SO_ELEMENT_HEADER(
SoTextureMatrixElement
);
34
public
:
35
static
void
initClass(
void
);
36
protected
:
37
virtual
~SoTextureMatrixElement
();
38
39
public
:
40
virtual
void
init
(
SoState
* state);
41
virtual
void
push
(
SoState
* state);
42
static
void
makeIdentity(
SoState
*
const
state,
SoNode
*
const
node);
43
44
static
void
set(
SoState
*
const
state,
SoNode
*
const
node,
45
const
SbMatrix
& matrix);
46
static
void
mult(
SoState
*
const
state,
SoNode
*
const
node,
47
const
SbMatrix
& matrix);
48
49
static
void
translateBy(
SoState
*
const
state,
SoNode
*
const
node,
50
const
SbVec3f
& translation);
51
static
void
rotateBy(
SoState
*
const
state,
SoNode
*
const
node,
52
const
SbRotation
& rotation);
53
static
void
scaleBy(
SoState
*
const
state,
SoNode
*
const
node,
54
const
SbVec3f
& scaleFactor);
55
56
static
const
SbMatrix
& get(
SoState
*
const
state);
57
static
void
emptyMatrix(
SoState
*
const
state);
58
59
protected
:
60
virtual
void
makeEltIdentity(
void
);
61
virtual
void
setElt(
const
SbMatrix
& matrix);
62
virtual
void
multElt(
const
SbMatrix
& matrix);
63
virtual
void
translateEltBy(
const
SbVec3f
& translation);
64
virtual
void
rotateEltBy(
const
SbRotation
& rotation);
65
virtual
void
scaleEltBy(
const
SbVec3f
& scaleFactor);
66
virtual
const
SbMatrix
& getElt(
void
)
const
;
67
68
SbMatrix
textureMatrix
;
69
};
70
71
#endif
// !COIN_SOTEXTUREMATRIXELEMENT_H
SbMatrix
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition
SbMatrix.h:37
SbRotation
The SbRotation class represents a rotation in 3D space.
Definition
SbRotation.h:33
SbVec3f
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition
SbVec3f.h:40
SoAccumulatedElement
The SoAccumulatedElement class is an abstract class for storing accumulated state.
Definition
SoAccumulatedElement.h:30
SoAccumulatedElement::push
virtual void push(SoState *state)
Definition
SoAccumulatedElement.cpp:74
SoAccumulatedElement::init
virtual void init(SoState *state)
Definition
SoAccumulatedElement.cpp:66
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Definition
SoNode.h:47
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition
SoState.h:35
SoTextureMatrixElement
The SoTextureMatrixElement class is used to manage the texture matrix stack.
Definition
SoTextureMatrixElement.h:30
SoTextureMatrixElement::textureMatrix
SbMatrix textureMatrix
Definition
SoTextureMatrixElement.h:68
Copyright © 1998-2010 by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated on Wed Jul 17 2024 for Coin by
Doxygen
1.12.0.