13 #include "NVCameraSettings.generated.h"
15 USTRUCT(Blueprintable)
22 UPROPERTY(EditAnywhere, meta = (UIMin =
"1", ClampMin =
"1"))
26 UPROPERTY(EditAnywhere, meta = (UIMin = "1", ClampMin = "1"))
30 FNVImageSize(int32 InWidth = 0, int32 InHeight = 0);
31 FIntPoint ConvertToIntPoint() const;
32 float GetAspectRatio() const;
41 UPROPERTY(VisibleAnywhere)
44 UPROPERTY(VisibleAnywhere)
45 FNVImageSize ImageSize;
48 USTRUCT(BlueprintType)
55 FCameraIntrinsicSettings(
int ResWidth = 640,
int ResHeight = 480,
float HFOV = 90.f);
56 FCameraIntrinsicSettings(
int ResWidth,
int ResHeight,
float Fx,
float Fy,
float Cx,
float Cy,
float S = 0.f);
58 FMatrix GetIntrinsicMatrix()
const;
59 FMatrix GetProjectionMatrix()
const;
61 void UpdateSettings();
65 UPROPERTY(EditAnywhere, meta = (DisplayName =
"Resolution - X"))
68 UPROPERTY(EditAnywhere, meta = (DisplayName = "Resolution - Y"))
72 UPROPERTY(EditAnywhere, meta = (DisplayName = "Focal length - X"))
75 UPROPERTY(EditAnywhere, meta = (DisplayName = "Focal length - Y"))
79 UPROPERTY(EditAnywhere, meta = (DisplayName = "Principal point - X"))
81 UPROPERTY(EditAnywhere, meta = (DisplayName = "Principal point - Y"))
85 UPROPERTY(EditAnywhere, meta = (DisplayName = "Skew coefficient"))
88 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category = "Matrix", meta = (DisplayName = "Intrinsic matrix"))
89 FMatrix IntrinsicMatrix;
91 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category = "Matrix", meta = (DisplayName = "Projection matrix"))
92 FMatrix ProjectionMatrix;
97 UCLASS(Blueprintable, DefaultToInstanced, editinlinenew, Abstract, ClassGroup = (NVIDIA))
102 FCameraIntrinsicSettings GetCameraSettings()
const
104 return CameraSettings;
108 #if WITH_EDITORONLY_DATA
109 virtual void PostEditChangeProperty(
struct FPropertyChangedEvent& PropertyChangedEvent)
override;
110 #endif //WITH_EDITORONLY_DATA
112 virtual void UpdateCameraSettings();
115 UPROPERTY(EditAnywhere, Category = Settings)
120 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category =
"Settings")
121 FCameraIntrinsicSettings CameraSettings;
125 UCLASS(Blueprintable, ClassGroup = (NVIDIA))
134 virtual void UpdateCameraSettings()
override;
137 UPROPERTY(EditAnywhere, Category = Settings, meta=(DisplayName=
"Horizontal Field-Of-View"))
Create camera settings using horizontal field of view.
Base class for all the different ways to create a camera settings.