初始提交: UE5.3项目基础框架
This commit is contained in:
@ -0,0 +1,70 @@
|
||||
// Copyright 2020-2024 CesiumGS, Inc. and Contributors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Cesium3DTilesSelection/BoundingVolume.h"
|
||||
#include "CesiumPrimitive.h"
|
||||
#include "CesiumPrimitiveFeatures.h"
|
||||
#include "Components/InstancedStaticMeshComponent.h"
|
||||
#include "Components/StaticMeshComponent.h"
|
||||
#include "CoreMinimal.h"
|
||||
#include "Engine/StaticMesh.h"
|
||||
#include "Materials/MaterialInstanceDynamic.h"
|
||||
#include "PhysicsEngine/BodySetup.h"
|
||||
#include "VecMath.h"
|
||||
|
||||
#include "CesiumGltfPrimitiveComponent.generated.h"
|
||||
|
||||
namespace CesiumGltf {
|
||||
struct Model;
|
||||
struct MeshPrimitive;
|
||||
} // namespace CesiumGltf
|
||||
|
||||
UCLASS()
|
||||
class UCesiumGltfPrimitiveComponent : public UStaticMeshComponent,
|
||||
public ICesiumPrimitive {
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
// Sets default values for this component's properties
|
||||
UCesiumGltfPrimitiveComponent();
|
||||
virtual ~UCesiumGltfPrimitiveComponent();
|
||||
|
||||
void BeginDestroy() override;
|
||||
|
||||
FBoxSphereBounds CalcBounds(const FTransform& LocalToWorld) const override;
|
||||
|
||||
void
|
||||
UpdateTransformFromCesium(const glm::dmat4& CesiumToUnrealTransform) override;
|
||||
|
||||
CesiumPrimitiveData& getPrimitiveData() override;
|
||||
const CesiumPrimitiveData& getPrimitiveData() const override;
|
||||
|
||||
private:
|
||||
CesiumPrimitiveData _cesiumData;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class UCesiumGltfInstancedComponent : public UInstancedStaticMeshComponent,
|
||||
public ICesiumPrimitive {
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
// Sets default values for this component's properties
|
||||
UCesiumGltfInstancedComponent();
|
||||
virtual ~UCesiumGltfInstancedComponent();
|
||||
|
||||
void BeginDestroy() override;
|
||||
|
||||
FBoxSphereBounds CalcBounds(const FTransform& LocalToWorld) const override;
|
||||
void
|
||||
UpdateTransformFromCesium(const glm::dmat4& CesiumToUnrealTransform) override;
|
||||
|
||||
CesiumPrimitiveData& getPrimitiveData() override;
|
||||
const CesiumPrimitiveData& getPrimitiveData() const override;
|
||||
|
||||
TSharedPtr<FCesiumPrimitiveFeatures> pInstanceFeatures;
|
||||
|
||||
private:
|
||||
CesiumPrimitiveData _cesiumData;
|
||||
};
|
||||
Reference in New Issue
Block a user