55#ifndef _SO_MATERIAL_BUNDLE
56#define _SO_MATERIAL_BUNDLE
93 sendMultiple =
TRUE; }
104 void send(
int index,
bool isBetweenBeginEnd)
105 { reallySend(index, isBetweenBeginEnd,
FALSE); }
128 void reallySend(
int index,
bool isBetweenBeginEnd,
129 bool avoidFastColor);
132 void accessElements(
bool isBetweenBeginEnd,
133 bool avoidFastColor);
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Abstract base class for all actions.
This is the abstract base class for bundles.
Element that manages the GL state for the SoLazyElement.
Bundle that allows shapes to deal with materials more easily.
SoMaterialBundle(SoAction *action)
Constructor - takes the action the bundle is used for.
void sendFirst()
Makes sure the first defined material in the state is sent to GL.
bool isColorOnly() const
Returns TRUE if only base color part of material is used.
~SoMaterialBundle()
Destructor.
void send(int index, bool isBetweenBeginEnd)
Sends indexed material to the GL if it's not already there.
void forceSend(int index)
Sends indexed material to the GL even if it's already there.
void setUpMultiple()
This can be called by shapes to prepare for sending multiple materials later on.