NVIDIA DeepLearning Dataset Synthesizer (NDDS)
 All Classes Namespaces Functions Variables Typedefs Pages
SpatialLayoutGenerator_Grid2d.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 "DomainRandomizationDNNPCH.h"
14 #include "SpatialLayoutGenerator.h"
15 #include "SpatialLayoutGenerator_Grid2d.generated.h"
16 
17 UCLASS(Blueprintable)
18 class DOMAINRANDOMIZATIONDNN_API USpatialLayoutGenerator_Grid2d : public USpatialLayoutGenerator
19 {
20  GENERATED_BODY()
21 
22 public:
23  USpatialLayoutGenerator_Grid2d(const FObjectInitializer& ObjectInitializer);
24 
25  /** Get the transform (in world coordinate) for a group of actors to match this layout
26  * LayoutTransform - transformation of the layout
27  */
28  virtual TArray<FTransform> GetTransformForActors(const FTransform& LayoutTransform, uint32 TotalNumberOfActors) const;
29 
30 protected: // Editor properties
31  /** The number of row in the grid */
32  UPROPERTY(EditAnywhere, Category = GridLayout, meta = (UIMin = 1))
33  uint32 GridRowCount;
34 
35  /** The number of column in the grid */
36  UPROPERTY(EditAnywhere, Category = GridLayout, meta = (UIMin = 1))
37  uint32 GridColumnCount;
38 
39  /** The size of each cell in the grid */
40  UPROPERTY(EditAnywhere, Category = GridLayout)
41  FVector2D GridCellSize;
42 };