Language:
Discover
By Skill Level
By Category

FFoliageMeshInfo

Choose your OS:

Syntax

struct FFoliageMeshInfo

Remarks

FFoliageMeshInfo - editor info for all matching foliage meshes

Variables

Name Description

Public variable

UHierarchicalIn ...

 

Component

Public variable

TMap < FFoliageI ...

 

ComponentHash

Transient, editor-only set of instances per component.

Public variable

FGuid

 

FoliageTypeUpdateGuid

Allows us to detect if FoliageType was updated while this level wasn't loaded.

Public variable

TUniquePtr < FFo ...

 

InstanceHash

Transient, editor-only locality hash of instances.

Public variable

TArray < FFoliag ...

 

Instances

Editor-only placed instances.

Public variable

TSet < int32 >

 

SelectedIndices

Transient, editor-only list of selected instances.

Constructors

Name Description

Public function

FFoliageMeshInfo()

FFoliageMeshInfo

Public function

FFoliageMeshInfo

(
    FFoliageMeshInfo && Other
)

Even VC++2013 doesn't support "=default" on move constructors

Public function

FFoliageMeshInfo

(
    const FFoliageMeshInfo & Other
)

Destructors

Name Description

Public function

~FFoliageMeshInfo()

Functions

Name Description

Public function

FOLIAGE_API ...

 

AddInstance

(
    AInstancedFoliageActor * InIFA,
    const UFoliageType * InSettings,
    const FFoliageInstance & InNewInsta...,
    UActorComponent * InBaseCompone...,
    bool RebuildFoliageTree
)

Public function

FOLIAGE_API ...

 

AddInstance

(
    AInstancedFoliageActor * InIFA,
    const UFoliageType * InSettings,
    const FFoliageInstance & InNewInsta...,
    bool RebuildFoliageTree
)

Public function

FOLIAGE_API ...

 

AddToBaseHash

(
    int32 InstanceIdx
)

Public function

FOLIAGE_API ...

 

CheckComponentClass

(
    AInstancedFoliageActor * InIFA,
    const UFoliageType * InSettings
)

Recreate the component if the FoliageType's ComponentClass doesn't match the Component's class.

Public function

FOLIAGE_API ...

 

CheckForOverlappingInstanceExcluding

(
    int32 TestInstanceIdx,
    float Radius,
    TSet < int32 >& ExcludeInstances
)

Returns whether or not there is are any instances overlapping the instance specified, excluding the set of instances provided.

Public function

FOLIAGE_API ...

 

CheckForOverlappingSphere

(
    const FSphere & Sphere
)

Returns whether or not there is are any instances overlapping the sphere specified.

Public function

void

 

CheckValid()

For debugging. Validate state after editing.

Public function

void

 

CreateNewComponent

(
    AInstancedFoliageActor * InIFA,
    const UFoliageType * InSettings
)

Create and register a new component.

Public function

FOLIAGE_API ...

 

DuplicateInstances

(
    AInstancedFoliageActor * InIFA,
    UFoliageType * InSettings,
    const TArray < int32 >& InInstances...
)

Public function

FOLIAGE_API ...

 

GetInstanceAtLocation

(
    const FVector & Location,
    int32 & OutInstance,
    bool& bOutSucess
)

Public function

FOLIAGE_API ...

 

GetInstanceCount()

Get the number of placed instances.

Public function

FOLIAGE_API ...

 

GetInstancesInsideSphere

(
    const FSphere & Sphere,
    TArray < int32 >& OutInstances
)

Public function

FOLIAGE_API ...

 

HandleComponentMeshBoundsChanged

(
    const FBoxSphereBounds & NewBounds
)

Public function

FOLIAGE_API ...

 

PostMoveInstances

(
    AInstancedFoliageActor * InIFA,
    const TArray < int32 >& InInstances...
)

Public function

FOLIAGE_API ...

 

PostUpdateInstances

(
    AInstancedFoliageActor * InIFA,
    const TArray < int32 >& InInstances...,
    bool bReAddToHash
)

Public function

FOLIAGE_API ...

 

PreMoveInstances

(
    AInstancedFoliageActor * InIFA,
    const TArray < int32 >& InInstances...
)

Public function

FOLIAGE_API ...

 

ReallocateClusters

(
    AInstancedFoliageActor * InIFA,
    UFoliageType * InSettings
)

Destroy existing clusters and reassign all instances to new clusters.

Public function

FOLIAGE_API ...

 

ReapplyInstancesToComponent()

Public function

FOLIAGE_API ...

 

RemoveFromBaseHash

(
    int32 InstanceIdx
)

Public function

FOLIAGE_API ...

 

RemoveInstances

(
    AInstancedFoliageActor * InIFA,
    const TArray < int32 >& InInstances...,
    bool RebuildFoliageTree
)

Public function

FOLIAGE_API ...

 

SelectInstances

(
    AInstancedFoliageActor * InIFA,
    bool bSelect
)

Public function

FOLIAGE_API ...

 

SelectInstances

(
    AInstancedFoliageActor * InIFA,
    bool bSelect,
    TArray < int32 >& Instances
)

Public function

FOLIAGE_API ...

 

UpdateComponentSettings

(
    const UFoliageType * InSettings
)

Apply changes in the FoliageType to the component.

Operators

Name Description

Public function

const FFolia ...

 

operator=

(
    const FFoliageMeshInfo & Other
)

Public function

FFoliageMesh ...

 

operator=

(
    FFoliageMeshInfo && Other
)

Even VC++2013 doesn't support "=default" on move assignment

References

Module

Foliage

Header

Runtime/Foliage/Public/InstancedFoliage.h