79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium")
80 UCurveFloat* ProgressCurve;
92 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
93 UCurveFloat* HeightPercentageCurve;
106 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
107 UCurveFloat* MaximumHeightByDistanceCurve;
116 meta = (ClampMin = 0.0))
117 float Duration = 5.0f;
122 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
129 UPROPERTY(BlueprintAssignable, Category = "Cesium");
130 FCesiumFlightCompleted OnFlightComplete;
136 UPROPERTY(BlueprintAssignable, Category = "Cesium");
137 FCesiumFlightInterrupted OnFlightInterrupted;
149 UFUNCTION(BlueprintCallable, Category = "Cesium")
150 void FlyToLocationEarthCenteredEarthFixed(
151 const FVector& EarthCenteredEarthFixedDestination,
152 double YawAtDestination,
153 double PitchAtDestination,
154 bool CanInterruptByMoving);
170 UFUNCTION(BlueprintCallable, Category = "Cesium")
171 void FlyToLocationLongitudeLatitudeHeight(
172 const FVector& LongitudeLatitudeHeightDestination,
173 double YawAtDestination,
174 double PitchAtDestination,
175 bool CanInterruptByMoving);
187 UFUNCTION(BlueprintCallable, Category = "Cesium")
188 void FlyToLocationUnreal(
189 const FVector& UnrealDestination,
190 double YawAtDestination,
191 double PitchAtDestination,
192 bool CanInterruptByMoving);
198 UFUNCTION(BlueprintCallable, Category = "Cesium")
199 void InterruptFlight();
202 virtual
void TickComponent(
205 FActorComponentTickFunction* ThisTickFunction) override;
208 FQuat GetCurrentRotationEastSouthUp();
209 void SetCurrentRotationEastSouthUp(const FQuat& EastSouthUpRotation);
211 bool _flightInProgress = false;
212 bool _canInterruptByMoving;
213 float _currentFlyTime;
215 FVector _destinationEcef;
216 FQuat _sourceRotation;
217 FQuat _destinationRotation;
218 FVector _previousPositionEcef;