65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
// Copyright 2020-2024 CesiumGS, Inc. and Contributors
|
|
|
|
#pragma once
|
|
|
|
#include "CesiumRasterOverlay.h"
|
|
#include "Components/ActorComponent.h"
|
|
#include "CoreMinimal.h"
|
|
#include "CesiumTileMapServiceRasterOverlay.generated.h"
|
|
|
|
/**
|
|
* A raster overlay that directly accesses a Tile Map Service (TMS) server. If
|
|
* you're using a Tile Map Service via Cesium ion, use the "Cesium ion Raster
|
|
* Overlay" component instead.
|
|
*/
|
|
UCLASS(ClassGroup = Cesium, meta = (BlueprintSpawnableComponent))
|
|
class CESIUMRUNTIME_API UCesiumTileMapServiceRasterOverlay
|
|
: public UCesiumRasterOverlay {
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
/**
|
|
* The base URL of the Tile Map Service (TMS).
|
|
*/
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
|
|
FString Url;
|
|
|
|
/**
|
|
* True to directly specify minum and maximum zoom levels available from the
|
|
* server, or false to automatically determine the minimum and maximum zoom
|
|
* levels from the server's tilemapresource.xml file.
|
|
*/
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
|
|
bool bSpecifyZoomLevels = false;
|
|
|
|
/**
|
|
* Minimum zoom level.
|
|
*/
|
|
UPROPERTY(
|
|
EditAnywhere,
|
|
BlueprintReadWrite,
|
|
Category = "Cesium",
|
|
meta = (EditCondition = "bSpecifyZoomLevels", ClampMin = 0))
|
|
int32 MinimumLevel = 0;
|
|
|
|
/**
|
|
* Maximum zoom level.
|
|
*/
|
|
UPROPERTY(
|
|
EditAnywhere,
|
|
BlueprintReadWrite,
|
|
Category = "Cesium",
|
|
meta = (EditCondition = "bSpecifyZoomLevels", ClampMin = 0))
|
|
int32 MaximumLevel = 10;
|
|
|
|
/**
|
|
* HTTP headers to be attached to each request made for this raster overlay.
|
|
*/
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
|
|
TMap<FString, FString> RequestHeaders;
|
|
|
|
protected:
|
|
virtual std::unique_ptr<CesiumRasterOverlays::RasterOverlay> CreateOverlay(
|
|
const CesiumRasterOverlays::RasterOverlayOptions& options = {}) override;
|
|
};
|