13 #include "NVSceneFeatureExtractor.h"
14 #include "NVSceneCapturerUtils.h"
15 #include "NVSceneFeatureExtractor_DataExport.generated.h"
17 USTRUCT(BlueprintType)
23 FNVDataExportSettings();
26 UPROPERTY(EditAnywhere, Category =
"Export")
27 ENVIncludeObjects IncludeObjectsType;
30 UPROPERTY(EditAnywhere, Category =
"Export")
31 bool bIgnoreHiddenActor;
34 UPROPERTY(EditAnywhere, Category = "Export")
35 ENVBoundsGenerationType BoundsType;
38 UPROPERTY(EditAnywhere, Category = "Export")
39 ENVBoundBox2dGenerationType BoundingBox2dType;
41 UPROPERTY(EditAnywhere, Category = "Export")
42 bool bOutputEvenIfNoObjectsAreInView;
44 UPROPERTY(EditAnywhere, Category = "Export")
45 FFloatInterval DistanceScaleRange;
49 UPROPERTY(EditAnywhere, Category = "Export")
50 bool bExportImageCoordinateInPixel;
62 virtual void StartCapturing()
override;
63 virtual void UpdateCapturerSettings()
override;
74 TSharedPtr<FJsonObject> CaptureSceneAnnotationData();
75 virtual void UpdateSettings()
override;
77 void UpdateProjectionMatrix();
80 bool ShouldExportActor(
const AActor* CheckActor)
const;
81 bool IsActorInViewFrustum(
const FConvexVolume& ViewFrustum,
const AActor* CheckActor)
const;
83 FVector ProjectWorldPositionToImagePosition(
const FVector& WorldPosition)
const;
85 FBox2D GetBoundingBox2D(
const AActor* CheckActor,
bool bClampToImage =
true)
const;
87 FBox2D Calculate2dAABB(TArray<FVector> Vertexes,
bool bClampToImage =
true)
const;
89 FBox2D Calculate2dAABB_MeshComplexCollision(
const class UMeshComponent* CheckMeshComp,
bool bClampToImage =
true)
const;
92 UPROPERTY(EditAnywhere, SimpleDisplay, Category = Config, meta=(ShowOnlyInnerProperties))
93 FNVDataExportSettings DataExportSettings;
96 FMatrix ViewProjectionMatrix;
99 FMatrix ProjectionMatrix;
102 FNVDataExportSettings ProtectedDataExportSettings;