Files
davinci2/source/core/include/dvc_pre_declare.h
T
2025-08-25 23:12:23 +08:00

75 lines
1.9 KiB
C++

#pragma once
#include <vector>
// Pre-declare classes
DV_CORE_BEGIN_NAMESPACE
template <typename T>
class TVector2;
template <typename T>
class TVector3;
template <typename T>
class TVector4;
template <typename T>
class TMatrix4;
class DeviceBuffer;
typedef std::shared_ptr<DeviceBuffer> DeviceBufferPtr;
typedef std::shared_ptr<const DeviceBuffer> DeviceBufferConstPtr;
class DeviceBufferView;
typedef std::shared_ptr<DeviceBufferView> DeviceBufferViewPtr;
typedef std::shared_ptr<const DeviceBufferView> DeviceBufferViewConstPtr;
class DeviceBufferAccessor;
typedef std::shared_ptr<DeviceBufferAccessor> DeviceBufferAccessorPtr;
typedef std::shared_ptr<const DeviceBufferAccessor> DeviceBufferAccessorConstPtr;
class RenderTarget;
class Mesh;
typedef std::shared_ptr<Mesh> MeshPtr;
typedef std::shared_ptr<const Mesh> MeshConstPtr;
class Scene;
class SceneNode;
typedef std::shared_ptr<SceneNode> SceneNodePtr;
typedef std::shared_ptr<const SceneNode> SceneNodeConstPtr;
typedef std::vector<SceneNodePtr> SceneNodeArray;
class SceneComponent;
typedef std::shared_ptr<SceneComponent> SceneComponentPtr;
typedef std::shared_ptr<const SceneComponent> SceneComponentConstPtr;
typedef std::vector<SceneComponentPtr> SceneComponentArray;
class MeshComponent;
typedef std::shared_ptr<MeshComponent> MeshComponentPtr;
typedef std::shared_ptr<const MeshComponent> MeshComponentConstPtr;
class CameraComponent;
typedef std::shared_ptr<CameraComponent> CameraComponentPtr;
typedef std::shared_ptr<const CameraComponent> CameraComponentConstPtr;
class LightComponent;
typedef std::shared_ptr<LightComponent> LightComponentPtr;
typedef std::shared_ptr<const LightComponent> LightComponentConstPtr;
class RenderPipe;
class Renderable;
typedef std::shared_ptr<Renderable> RenderablePtr;
typedef std::shared_ptr<const Renderable> RenderableConstPtr;
typedef std::vector<RenderableConstPtr> RenderableArray;
class VertexShaderInterface;
class UniformBuffer;
DV_CORE_END_NAMESPACE