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.