1#ifndef COIN_SOTEXTURECOMBINEELEMENT_H
2#define COIN_SOTEXTURECOMBINEELEMENT_H
36#include <Inventor/elements/SoReplacedElement.h>
37#include <Inventor/SbVec2s.h>
38#include <Inventor/SbVec3s.h>
39#include <Inventor/SbColor4f.h>
42class SoTextureCombineElementP;
44class COIN_DLL_API SoTextureCombineElement :
public SoElement {
47 SO_ELEMENT_HEADER(SoTextureCombineElement);
51 virtual ~SoTextureCombineElement();
56 PRIMARY_COLOR = 0x8577,
63 ONE_MINUS_SRC_COLOR = 0x0301,
65 ONE_MINUS_SRC_ALPHA = 0x0303
78 virtual void init(SoState * state);
80 static void set(SoState *
const state,
SoNode *
const node,
82 const Operation rgboperation,
83 const Operation alphaoperation,
84 const Source * rgbsource,
85 const Source * alphasource,
86 const Operand * rgboperand,
87 const Operand * alphaoperand,
90 const float alphascale);
92 static SbBool isDefault(SoState *
const state,
95 static void get(SoState *
const state,
97 Operation & rgboperation,
98 Operation & alphaoperation,
100 Source * alphasource,
101 Operand * rgboperand,
102 Operand * alphaoperand,
107 virtual void push(SoState * state);
111 virtual void setElt(
const int unit,
112 const SbUniqueId nodeid,
113 const Operation rgboperation,
114 const Operation alphaoperation,
115 const Source * rgbsource,
116 const Source * alphasource,
117 const Operand * rgboperand,
118 const Operand * alphaoperand,
120 const float rgbscale,
121 const float alphascale);
123 static void apply(SoState * state,
const int unit);
128 UnitData(
const UnitData & org);
132 Source alphasource[3];
133 Operand rgboperand[3];
134 Operand alphaoperand[3];
135 Operation rgboperation;
136 Operation alphaoperation;
143 const UnitData & getUnitData(
const int unit)
const;
146 SoTextureCombineElementP * pimpl;
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition SbColor4f.h:42
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:56
The SoState class manages the Coin scene graph traversal state data.
Definition SoState.h:44
Definition SoTextureCombineElement.h:125
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:114
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:145
virtual void setElt(const int unit, const SbUniqueId 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:235