Dave Akers (dla@sgi.com)
Wed, 06 Oct 1999 11:21:52 -0700
Several of you have reported bus errors trying to run the Inventor
demos for Volumizer when using the 7.3 compiler. This problem has been
traced to an obscure code-generation bug in CC 7.3. There is no fix for
the compiler yet, but there is a temporary workaround that will fix the
demos.
You'll need to replace the file
"/usr/share/Volumizer/src/apps/Inventor/voivAppearanceElement.h" with
the file attached to this message. When a more permanent fix is
available, we will let you know.. If anyone still has problems after
replacing this header file, please send us mail!
-Dave
#ifndef _voivAppearanceElement_h_
#define _voivAppearanceElement_h_
#include <vo/Appearance.h>
#include <Inventor/elements/SoReplacedElement.h>
#include "voivAppearance.h"
//////////////////////////////////////////////////////////////////////////////
//
// Class: voivAppearanceElement
//
// Element that stores the current volume appearance (i.e., texture) info.
//
// Modified on 10/6/99 by dla to include a work-around for a CC 7.3
// code generation bug.
//
//////////////////////////////////////////////////////////////////////////////
SoEXTENDER class voivAppearanceElement : public SoReplacedElement {
// Note: replaced the SO_ELEMENT_HEADER macro to get around CC bug.
// *** Begin replaced portion of header ***
public:
static SoType getClassTypeId() {
// This is the function that was crashing under 7.3. We replace it
// with something that puts the static SoType on the stack before
// returning it.
SoType temp = classTypeId;
return temp;
}
static int getClassStackIndex() { return classStackIndex; }
protected:
static int classStackIndex;
voivAppearanceElement();
private:
static SoType classTypeId;
static void *createInstance();
// *** End replaced portion of header ***
public:
virtual void init(SoState *state);
// Set
static void set(SoState *state, SoNode *node, voivAppearance *cdp);
// Get
static voivAppearance *get(SoState *state);
// Returns the top (current) instance of the element in the state
static const voivAppearanceElement * getInstance(SoState *state);
virtual SbBool matches(const SoElement *elt) const;
virtual SoElement *copyMatchInfo() const;
virtual void print(FILE *fp) const;
SoINTERNAL public:
// Initializes the voivAppearanceElement class
static void initClass();
protected:
voivAppearance *data;
virtual ~voivAppearanceElement() {}
};
#endif // _voivAppearanceElement_h_
This archive was generated by hypermail 2.0b2 on Wed Oct 06 1999 - 13:05:35 PDT