NVIDIA DeepLearning Dataset Synthesizer (NDDS)
 All Classes Namespaces Functions Variables Typedefs Pages
SpatialLayoutGenerator.h
1 /*
2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * NVIDIA CORPORATION and its licensors retain all intellectual property
5 * and proprietary rights in and to this software, related documentation
6 * and any modifications thereto. Any use, reproduction, disclosure or
7 * distribution of this software and related documentation without an express
8 * license agreement from NVIDIA CORPORATION is strictly prohibited.
9 */
10 
11 #pragma once
12 
13 #include "GameFramework/Actor.h"
14 #include "DomainRandomizationDNNPCH.h"
15 #include "SpatialLayoutGenerator.generated.h"
16 
17 UCLASS(Blueprintable, DefaultToInstanced, editinlinenew)
18 class DOMAINRANDOMIZATIONDNN_API USpatialLayoutGenerator : public UObject
19 {
20  GENERATED_BODY()
21 
22 public:
23  USpatialLayoutGenerator(const FObjectInitializer& ObjectInitializer);
24 
25  // Get the locations (in world coordinate) for a group of actors to match this layout
26  // LayoutLocation - center location of the layout
27  virtual TArray<FVector> GetLocationForActors(const FVector& LayoutLocation, uint32 TotalNumberOfActors) const;
28 
29  // Get the transform (in world coordinate) for a group of actors to match this layout
30  // LayoutTransform - transformation of the layout
31  virtual TArray<FTransform> GetTransformForActors(const FTransform& LayoutTransform, uint32 TotalNumberOfActors) const;
32 
33  // Default transform for actor in a layout
34  static TArray<FTransform> GetDefaultTransformForActors(const FTransform& LayoutTransform, uint32 TotalNumberOfActors);
35 };