XPlor/libs/xassets/xgfxworld.h
2025-08-17 13:14:17 -04:00

72 lines
1.5 KiB
C++

#ifndef XGFXWORLD_H
#define XGFXWORLD_H
#include "xasset.h"
#include "xgfxworldstreaminfo.h"
#include "xgfxworldvertexdata.h"
#include "xsunlightparseparams.h"
#include "xgfxlight.h"
#include "xgfxreflectionprobe.h"
class XGfxWorld : public XAsset
{
public:
explicit XGfxWorld();
void ParseData(QDataStream *aStream) override;
const char* GetName() const;
void SetName(const char* name);
XGfxWorldStreamInfo& GetStreamingInfo();
const XGfxWorldStreamInfo& GetStreamingInfo() const;
void SetStreamingInfo(const XGfxWorldStreamInfo& info);
XGfxWorldVertexData& GetVertexData();
const XGfxWorldVertexData& GetVertexData() const;
void SetVertexData(const XGfxWorldVertexData& data);
XSunLightParseParams& GetSunLightParams();
const XSunLightParseParams& GetSunLightParams() const;
void SetSunLightParams(const XSunLightParseParams& params);
QVector<XGfxLight>& GetLights();
const QVector<XGfxLight>& GetLights() const;
void SetLights(const QVector<XGfxLight>& lights);
QVector<XGfxReflectionProbe>& GetReflectionProbes();
const QVector<XGfxReflectionProbe>& GetReflectionProbes() const;
void SetReflectionProbes(const QVector<XGfxReflectionProbe>& probes);
private:
char mName[64] = {0};
XGfxWorldStreamInfo mStreamingInfo;
XGfxWorldVertexData mVertexData;
XSunLightParseParams mSunLightParams;
QVector<XGfxLight> mLights;
QVector<XGfxReflectionProbe> mReflectionProbes;
};
#endif // XGFXWORLD_H