OpenSceneGraph/src/osgPlugins/flt/ExtensionRecord.h

60 lines
1.4 KiB
C
Raw Normal View History

2001-01-11 00:32:10 +08:00
// ExtensionRecord.h
#ifndef __FLT_EXTENSION_RECORD_H
#define __FLT_EXTENSION_RECORD_H
#include "opcodes.h"
#include "Record.h"
#include "RecordVisitor.h"
namespace flt {
class Input;
};
namespace flt {
////////////////////////////////////////////////////////////////////
//
// ExtensionRecord
//
////////////////////////////////////////////////////////////////////
typedef struct ExtensionTag
{
SRecHeader RecHeader;
2001-01-11 00:32:10 +08:00
char szIdent[8]; // 7 char ASCII ID; 0 terminates
char site[8]; // Site ID - Unique site name
char reserved; // Reserved
char revision; // Revision - site specific
uint16 code; // Record code - site specific
// char n/a; // Extended data - site specific
}SExtension;
class ExtensionRecord : public PrimNodeRecord
{
public:
ExtensionRecord();
virtual Record* clone() const { return new ExtensionRecord(); }
virtual const char* className() const { return "ExtensionRecord"; }
virtual int classOpcode() const { return EXTENSION_OP; }
virtual int sizeofData() const { return sizeof(SExtension); }
virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
// virtual void traverse(RecordVisitor& rv);
protected:
virtual ~ExtensionRecord();
virtual void endian();
};
}; // end namespace flt
#endif