1#ifndef COIN_SOTEXTURECOMBINEELEMENT_H
2#define COIN_SOTEXTURECOMBINEELEMENT_H
27#include <Inventor/elements/SoReplacedElement.h>
28#include <Inventor/elements/SoTextureImageElement.h>
29#include <Inventor/SbVec2s.h>
30#include <Inventor/SbVec3s.h>
31#include <Inventor/SbColor4f.h>
34class SoTextureCombineElementP;
36class COIN_DLL_API SoTextureCombineElement :
public SoElement {
39 SO_ELEMENT_HEADER(SoTextureCombineElement);
43 virtual ~SoTextureCombineElement();
48 PRIMARY_COLOR = 0x8577,
55 ONE_MINUS_SRC_COLOR = 0x0301,
57 ONE_MINUS_SRC_ALPHA = 0x0303
70 virtual void init(SoState * state);
72 static void set(SoState *
const state,
SoNode *
const node,
74 const Operation rgboperation,
75 const Operation alphaoperation,
76 const Source * rgbsource,
77 const Source * alphasource,
78 const Operand * rgboperand,
79 const Operand * alphaoperand,
82 const float alphascale);
84 static SbBool isDefault(SoState *
const state,
87 static void get(SoState *
const state,
89 Operation & rgboperation,
90 Operation & alphaoperation,
94 Operand * alphaoperand,
99 virtual void push(SoState * state);
103 virtual void setElt(
const int unit,
104 const uint32_t nodeid,
105 const Operation rgboperation,
106 const Operation alphaoperation,
107 const Source * rgbsource,
108 const Source * alphasource,
109 const Operand * rgboperand,
110 const Operand * alphaoperand,
112 const float rgbscale,
113 const float alphascale);
115 static void apply(SoState * state,
const int unit);
121 Source alphasource[3];
122 Operand rgboperand[3];
123 Operand alphaoperand[3];
124 Operation rgboperation;
125 Operation alphaoperation;
132 const UnitData & getUnitData(
const int unit)
const;
135 void setDefaultValues(
const int unit);
136 SoTextureCombineElementP * pimpl;
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition SbColor4f.h:33
SoElement(void)
Definition SoElement.cpp:534
virtual SbBool matches(const SoElement *element) const =0
Definition SoElement.cpp:609
static void initClass(void)
Definition SoElement.cpp:507
virtual SoElement * copyMatchInfo(void) const =0
virtual void init(SoState *state)
Definition SoElement.cpp:553
virtual void push(SoState *state)
Definition SoElement.cpp:570
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47
The SoState class manages the Coin scenegraph traversal state data.
Definition SoState.h:35
static void set(SoState *const state, SoNode *const node, const int unit, const Operation rgboperation, const Operation alphaoperation, const Source *rgbsource, const Source *alphasource, const Operand *rgboperand, const Operand *alphaoperand, const SbColor4f &constantcolor, const float rgbscale, const float alphascale)
FIXME: write doc.
Definition SoTextureCombineElement.cpp:116
static void get(SoState *const state, const int unit, Operation &rgboperation, Operation &alphaoperation, Source *rgbsource, Source *alphasource, Operand *rgboperand, Operand *alphaoperand, SbColor4f &constantcolor, float &rgbscale, float &alphascale)
FIXME: write doc.
Definition SoTextureCombineElement.cpp:150
virtual void setElt(const int unit, const uint32_t nodeid, const Operation rgboperation, const Operation alphaoperation, const Source *rgbsource, const Source *alphasource, const Operand *rgboperand, const Operand *alphaoperand, const SbColor4f &constantcolor, const float rgbscale, const float alphascale)
FIXME: write doc.
Definition SoTextureCombineElement.cpp:247