Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.3 KiB

  1. //============ Copyright (c) Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //===============================================================================//
  8. #ifndef IWORLDNODE_H
  9. #define IWORLDNODE_H
  10. #ifdef COMPILER_MSVC
  11. #pragma once
  12. #endif
  13. #include "tier0/platform.h"
  14. #include "mathlib/vector.h"
  15. #include "mathlib/vector4d.h"
  16. #include "mathlib/mathlib.h"
  17. #include "mathlib/vmatrix.h"
  18. #include "mathlib/camera.h"
  19. #include "worldrenderer/worldnodeschema.h"
  20. class CSceneObject;
  21. abstract_class IWorldNode
  22. {
  23. public:
  24. // helpers
  25. //virtual int32 GetID() = 0;
  26. //virtual int32 GetFlags() = 0;
  27. //virtual int32 GetNumChildren() = 0;
  28. virtual int32 GetNumSceneObjects() = 0;
  29. virtual bool IsFullyResident() = 0;
  30. virtual void SetIsFullyResident( bool bRes ) = 0;
  31. virtual bool IsLoading() = 0;
  32. virtual void SetIsLoading( bool bLoading ) = 0;
  33. //virtual int32 GetChild( int32 c ) = 0;
  34. //virtual int32 GetParent() = 0;
  35. virtual CSceneObject *GetSceneObject( int32 s ) = 0;
  36. virtual int32 GetNumPointLights() = 0;
  37. virtual int32 GetNumHemiLights() = 0;
  38. virtual int32 GetNumSpotLights() = 0;
  39. virtual WorldPointLightData_t *GetPointLights() = 0;
  40. virtual WorldHemiLightData_t *GetHemiLights() = 0;
  41. virtual WorldSpotLightData_t *GetSpotLights() = 0;
  42. };
  43. #endif // IWORLDNODE_H