Skip to content

FBoxSpace

struct FBoxSpace : public FSpace

A struct representing a box(continuous) space of possible observations or actions.

A BoxSpace is a Cartesian product of BoxSpaceDimensions. Each dimension is a continuous space.

Dependencies

This type depends on:

Inherits from: public FSpace

Public Interface

Constructors:

FBoxSpace

FBoxSpace()

Construct an empty BoxSpace.

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 35, column 1)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 39-41)

FBoxSpace

FBoxSpace(TArray<float> &Low, TArray<float> &High, const TArray<int> &Shape=TArray<int>())

Construct a BoxSpace with the given bounds.

Note: Low and High must have the same length

Parameters:

  • Low (TArray<float> &) – [in] An array representing the the lower bound of each dimension
  • High (TArray<float> &) – [in] An array representing the the upper bound of each dimension
  • Shape (const TArray<int> &)

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 43, column 1)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 43-63)

FBoxSpace

FBoxSpace(TArray<FBoxSpaceDimension> &Dimensions, const TArray<int> &Shape=TArray<int>())

Construct a BoxSpace with the given bounds.

Parameters:

  • Dimensions (TArray<FBoxSpaceDimension> &) – [in] An array of BoxSpaceDimensions
  • Shape (const TArray<int> &)

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 49, column 1)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 65-81)

FBoxSpace

FBoxSpace(std::initializer_list<float> Low, std::initializer_list<float> High, std::initializer_list<int> Shape=std::initializer_list<int>())

Construct a BoxSpace from an initializer list of Low, and an initializer list of High values.

Parameters:

  • Low (std::initializer_list<float>) – [in] The initializer list of lower bounds
  • High (std::initializer_list<float>) – [in] The initializer list of upper bounds
  • Shape (std::initializer_list<int>)

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 56, column 1)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 83-105)

FBoxSpace

FBoxSpace(const TArray<int> &Shape)

Construct an empty BoxSpace with a preallocated number of uninitialized dimensions.

Parameters:

  • Shape (const TArray<int> &) – [in] The shape of the BoxSpace, preallocated with uninitialized dimensions

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 62, column 1)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 107-111)

Destructor:

~FBoxSpace

virtual ~FBoxSpace()

Attributes: virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 76, column 9)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 169-173)

Public Functions:

Copy

void Copy(const FBoxSpace &Other)

Copy constructor.

Parameters:

  • Other (const FBoxSpace &) – [in] The BoxSpace to copy

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 68, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 113-117)

GetNormalizedObservationSpace

FBoxSpace GetNormalizedObservationSpace() const const

Get the normalized version of this BoxSpace.

Returns: A BoxSpace with all dimensions normalized to [0, 1]

Returns: FBoxSpace

Attributes: const

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 74, column 11)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 157-167)

FillProtobuf

void FillProtobuf(BoxSpace *Msg) const const

Fill a protobuf message with the data from this BoxSpace.

Parameters:

  • Msg (BoxSpace *) – [in] A ptr to the protobuf message to fill

Attributes: const

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 82, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 180-183)

FillProtobuf

void FillProtobuf(BoxSpace &Msg) const const

Fill a protobuf message with the data from this BoxSpace.

Parameters:

  • Msg (BoxSpace &) – [in] A ref to the protobuf message to fill

Attributes: const

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 88, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 185-195)

Add

void Add(float Low, float High)

Add a dimension to this BoxSpace.

Parameters:

  • Low (float) – [in] The lower bound of the dimension
  • High (float) – [in] The upper bound of the dimension

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 95, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 224-227)

Add

void Add(const FBoxSpaceDimension &Dimension)

Add a dimension to this BoxSpace.

Parameters:

  • Dimension (const FBoxSpaceDimension &) – [in] The BoxSpaceDimension to add

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 101, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 229-232)

FillProtobuf

virtual void FillProtobuf(FundamentalSpace *Msg) const override const

Fill a protobuf message with the data from this space.

Parameters:

  • Msg (FundamentalSpace *) – [in] The protobuf message to fill

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 105, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 197-200)

GetNumDimensions

virtual int GetNumDimensions() const override const

Get the number of dimensions in this space.

Returns: The number of dimensions in this space

Returns: int

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 107, column 5)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 175-178)

Validate

virtual ESpaceValidationResult Validate(TPoint &Observation) const override const

Test if an observation is in this space.

Returns: An enum indicating the result of the validation

Parameters:

  • Observation (TPoint &) – [in] The observation to validate

Returns: ESpaceValidationResult

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 109, column 24)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 119-144)

GetFlattenedSize

virtual int GetFlattenedSize() const override const

Get the size of the flattened representation of this space.

Returns: The size of the flattened representation of this space

Returns: int

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 111, column 5)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 219-222)

IsEmpty

virtual bool IsEmpty() const override const

Check if this space is empty.

Returns: True if this space is empty, false otherwise

Returns: bool

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 113, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 234-237)

MakeTPoint

virtual TPoint MakeTPoint() const override const

Create a TPoint from this space.

Returns: A TPoint belonging to this space, with correctly set variant type.

Returns: TPoint

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 115, column 8)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 239-242)

NormalizeObservation

FBoxPoint NormalizeObservation(const FBoxPoint &Observation) const const

Convert an observation in this space to one in the normalized equivalent space.

Returns: A Box point in the normalized space.

Parameters:

  • Observation (const FBoxPoint &) – [inout] The observation to normalize

Returns: FBoxPoint

Attributes: const

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 122, column 11)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 146-155)

UnflattenAction

virtual TPoint UnflattenAction(const TArray<float> &Data, int Offset=0) const override const

Unflatten an action from a buffer.

Parameters:

  • Data (const TArray<float> &) – [in] The buffer to unflatten from
  • Offset (int) – [in] The offset into the buffer to start unflattening from

Returns: TPoint

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 124, column 8)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 203-207)

FlattenPoint

virtual void FlattenPoint(TArrayView<float> Buffer, const TPoint &Point) const override const

Flatten a point into a buffer.

Parameters:

  • Buffer (TArrayView<float>) – [inout] The buffer to flatten into
  • Point (const TPoint &) – [in] The point to flatten

Attributes: const, virtual

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 126, column 6)

Implementation: Schola/Source/Schola/Private/Common/Spaces/BoxSpace.cpp (lines 209-217)

Public Members:

TArray<FBoxSpaceDimension> Dimensions

TArray<FBoxSpaceDimension> Dimensions = = TArray<FBoxSpaceDimension>()

The dimensions of this BoxSpace.

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 26, column 8)

TArray<int> Shape

TArray<int> Shape = = TArray<int>()

The shape of the Box Space.

If empty uses a 1d-array for the Dimensions

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 30, column 8)

Used By

This type is used by:

Source: Schola/Source/Schola/Public/Common/Spaces/BoxSpace.h (line 18, column 1)