60 lines
1.8 KiB
C
Raw Normal View History

2021-07-24 21:11:47 -07:00
//====== Copyright <20> 1996-2004, Valve Corporation, All rights reserved. =======
//
// A class representing a world node
//
//=============================================================================
#ifndef DMEWORLDNODE_H
#define DMEWORLDNODE_H
#ifdef COMPILER_MSVC
#pragma once
#endif
#include "datamodel/dmelement.h"
#include "datamodel/dmattributevar.h"
#include "dmeworldlights.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// A scene object in a world node
//-----------------------------------------------------------------------------
class CDmeSceneObject : public CDmElement
{
DEFINE_ELEMENT( CDmeSceneObject, CDmElement );
public:
CDmaVar< Vector4D > m_vTransform0;
CDmaVar< Vector4D > m_vTransform1;
CDmaVar< Vector4D > m_vTransform2;
CDmaString m_renderableFileName;
};
//-----------------------------------------------------------------------------
// A world node
//-----------------------------------------------------------------------------
class CDmeWorldNode : public CDmElement
{
DEFINE_ELEMENT( CDmeWorldNode, CDmElement );
public:
CDmaVar< int32 > m_nID;
CDmaVar< int32 > m_Flags;
CDmaVar< int32 > m_nParent;
CDmaVar< Vector > m_vOrigin;
CDmaVar< Vector > m_vMinBounds;
CDmaVar< Vector > m_vMaxBounds;
CDmaVar< float > m_flMinimumDistance;
CDmaArray< int32 > m_ChildNodeIndices;
CDmaElementArray< CDmeSceneObject > m_SceneObjects;
CDmaElementArray< CDmeWorldPointLight > m_PointLights;
CDmaElementArray< CDmeWorldHemiLight > m_HemiLights;
CDmaElementArray< CDmeWorldSpotLight > m_SpotLights;
};
#endif // DMEWORLDNODE_H