NVIDIA DeepLearning Dataset Synthesizer (NDDS)
 All Classes Namespaces Functions Variables Typedefs Pages
SpatialLayoutGenerator_Circle.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 "SpatialLayoutGenerator.h"
14 #include "DomainRandomizationDNNPCH.h"
15 #include "SpatialLayoutGenerator_Circle.generated.h"
16 
17 UCLASS(Blueprintable)
18 class DOMAINRANDOMIZATIONDNN_API USpatialLayoutGenerator_Circle : public USpatialLayoutGenerator
19 {
20  GENERATED_BODY()
21 
22 public:
23  USpatialLayoutGenerator_Circle(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  virtual TArray<FTransform> GetTransformForActors(const FTransform& LayoutTransform, uint32 TotalNumberOfActors) const;
28 
29 protected: // Editor properties
30  // Radius of the circle
31  UPROPERTY(EditAnywhere, Category = CircleLayout, meta = (UIMin = 1))
32  float CircleRadius;
33 
34  // If true, all actors should face the center of the circle
35  UPROPERTY(EditAnywhere, Category = CircleLayout, meta = (UIMin = 1))
36  bool bActorFacingCenter;
37 };