OpenSceneGraph/src/osgPlugins/flt/LightSourceRecord.h
2001-09-19 21:08:56 +00:00

69 lines
1.6 KiB
C++

// LightSourceRecord.h
#ifndef __FLT_LIGHT_SOURCE_RECORD_H
#define __FLT_LIGHT_SOURCE_RECORD_H
#include "opcodes.h"
#include "Record.h"
#include "RecordVisitor.h"
namespace flt {
////////////////////////////////////////////////////////////////////
//
// LightSourceRecord
//
////////////////////////////////////////////////////////////////////
typedef struct LightSourceTag
{
SRecHeader RecHeader;
char szIdent[8]; // 7 char ASCII ID; 0 terminates
int32 diReserved_1;
int32 diIndex; //index into lightpalette
int32 diReserved_2;
uint32 dwFlags; //bits from left to right
//0=enabled
//1=global
//2=reserve
//3=export
//4=reserved
//5-31 spare
int32 diReserved_3;
float64x3 Coord; // x,y,z coordinate
float32 sfYaw;
float32 sfPitch;
} SLightSource;
class LightSourceRecord : public PrimNodeRecord
{
public:
LightSourceRecord();
virtual Record* clone() const { return new LightSourceRecord(); }
virtual const char* className() const { return "LightSourceRecord"; }
virtual int classOpcode() const { return LIGHT_SOURCE_OP; }
virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
// virtual void traverse(RecordVisitor& rv);
protected:
virtual ~LightSourceRecord();
virtual void endian();
};
}; // end namespace flt
#endif