Agrarsense
|
#include <InstancedActor.h>
Public Member Functions | |
AInstancedActor (const FObjectInitializer &ObjectInitializer) | |
virtual void | BeginPlay () override |
virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override |
bool | AddToInstancedRendering () |
void | InstanceAdded () |
void | SetTypeAndModel (const FString &Type, const FString &Model) |
bool | IsTreeActor () const |
void | UpdatePreviousTransform (const FTransform &NewTransform) |
bool | IsAddedToInstancedRendering () const |
UStaticMeshComponent * | GetStaticMeshComponent () const |
int32 | GetInstanceStartCullDistance () const |
int32 | GetInstanceEndCullDistance () const |
bool | UpdateTransformAutomatically () const |
FString | GetTypeIDString () const |
FString | GetModelIDString () const |
bool | HasAlternativeMaterial () const |
bool | IsCustomDepthSetup () const |
bool | GetAllowWorldPositionOffsetDisable () const |
FTransform | GetPreviousTransform () const |
virtual FText | GetInteractableName_Implementation () const override |
virtual FTransform | GetInteractableWorldTransform_Implementation () const override |
virtual FString | GetActorID_Implementation () const override |
virtual FString | GetActorName_Implementation () const override |
virtual void | SetActorName_Implementation (const FString &NewActorName) override |
virtual void | SetActorIDAndName_Implementation (const FString &NewActorName, const FString &NewID) override |
![]() | |
FText | GetInteractableName () const |
FTransform | GetInteractableWorldTransform () const |
![]() | |
FString | GetActorID () const |
FString | GetActorName () const |
FString | GetActorInformation () const |
void | SetActorName (const FString &NewActorName) |
void | SetActorIDAndName (const FString &NewActorName, const FString &NewID) |
Public Attributes | |
UStaticMeshComponent * | StaticMeshComponent = nullptr |
bool | AllowWorldPositionOffsetDisable = false |
bool | AddToInstancedRenderer = true |
int | InstanceStartCullDistanceInCm = 45000 |
int | InstanceEndCullDistanceInCm = 46500 |
bool | ShouldUpdateTransformAutomatically = false |
bool | AlternativeMaterial = false |
FText | InteractableName |
Private Attributes | |
FString | ActorName |
FString | ActorID |
FTransform | PreviousTransform |
bool | AddedToInstancedRenderer = false |
FString | TypeID = "none" |
FString | ModelID = "none" |
bool | CustomDepthSetup = false |
Additional Inherited Members | |
![]() | |
static void | SetAndValidateActorIDAndName (FString &ActorName, FString &ActorID, TWeakObjectPtr< AActor > Actor) |
static bool | DestroyActorByID (const FString &ID) |
static AActor * | GetActorByID (const FString &ID) |
template<typename T > | |
static TArray< T * > | GetActorsWithInterface () |
static void | PrintAllIds () |
Instanced Actor class for efficient rendering of identical Actors using instancing.
The corresponding InstancedActorRenderer Actor handles rendering of all Actors of this type using a single UInstancedStaticMeshComponent.
Usage:
For optimal loading times:
Definition at line 39 of file InstancedActor.h.
AInstancedActor::AInstancedActor | ( | const FObjectInitializer & | ObjectInitializer | ) |
Definition at line 14 of file InstancedActor.cpp.
References InteractableName, and StaticMeshComponent.
bool AInstancedActor::AddToInstancedRendering | ( | ) |
Add this InstancedActor to Instanced rendering if it wasn't already added.
Definition at line 52 of file InstancedActor.cpp.
References AInstancedRendererManager::AddActorToInstancedRendering(), AddedToInstancedRenderer, AddToInstancedRenderer, UAgrarsenseStatics::GetInstancedRenderer(), and ShouldUpdateTransformAutomatically.
Referenced by BeginPlay().
|
overridevirtual |
Definition at line 22 of file InstancedActor.cpp.
References AddToInstancedRendering(), CustomDepthSetup, PreviousTransform, and StaticMeshComponent.
|
overridevirtual |
Definition at line 37 of file InstancedActor.cpp.
References StaticMeshComponent.
|
inlineoverridevirtual |
Definition at line 189 of file InstancedActor.h.
|
inlineoverridevirtual |
Definition at line 194 of file InstancedActor.h.
|
inline |
Definition at line 143 of file InstancedActor.h.
Referenced by AInstancedActorRenderer::SetupFromInstancedActor().
|
inline |
Definition at line 110 of file InstancedActor.h.
Referenced by AInstancedActorRenderer::SetupFromInstancedActor().
|
inline |
Definition at line 104 of file InstancedActor.h.
Referenced by AInstancedActorRenderer::SetupFromInstancedActor().
|
inlineoverridevirtual |
Definition at line 179 of file InstancedActor.h.
|
inlineoverridevirtual |
Definition at line 184 of file InstancedActor.h.
|
inline |
Definition at line 128 of file InstancedActor.h.
|
inline |
Definition at line 148 of file InstancedActor.h.
|
inline |
Definition at line 98 of file InstancedActor.h.
Referenced by AInstancedRendererManager::AddActorToInstancedRendering(), and AInstancedActorRenderer::SetupFromInstancedActor().
|
inline |
Definition at line 122 of file InstancedActor.h.
|
inline |
Definition at line 133 of file InstancedActor.h.
void AInstancedActor::InstanceAdded | ( | ) |
Definition at line 68 of file InstancedActor.cpp.
References AddedToInstancedRenderer, and StaticMeshComponent.
Referenced by AInstancedRendererManager::AddActorToInstancedRendering(), and AInstancedActorRenderer::SetupFromInstancedActor().
|
inline |
Check if this InstancedActor is already added to Instanced rendering.
Definition at line 92 of file InstancedActor.h.
|
inline |
Definition at line 138 of file InstancedActor.h.
Referenced by ATagger::TagActor().
bool AInstancedActor::IsTreeActor | ( | ) | const |
Definition at line 78 of file InstancedActor.cpp.
References StaticMeshComponent.
Referenced by AInstancedActorRenderer::SetupFromInstancedActor().
|
inlineoverridevirtual |
Definition at line 204 of file InstancedActor.h.
|
inlineoverridevirtual |
Definition at line 199 of file InstancedActor.h.
|
inline |
Set Type and Model strings for this InstancedActor This is used when exporting InstancedActor(s) into JSON files
Definition at line 66 of file InstancedActor.h.
Referenced by UAssetLibrary::SpawnFoliage(), and UAssetLibrary::SpawnProp().
|
inline |
Updates the 'PreviousTransform' member variable with a new transform.
NewTransform | The new transform to be assigned to 'PreviousTransform'. |
Definition at line 82 of file InstancedActor.h.
|
inline |
Definition at line 116 of file InstancedActor.h.
Referenced by AInstancedRendererManager::AddActorToInstancedRendering().
|
private |
Definition at line 217 of file InstancedActor.h.
|
private |
Definition at line 214 of file InstancedActor.h.
|
private |
Definition at line 221 of file InstancedActor.h.
Referenced by AddToInstancedRendering(), and InstanceAdded().
bool AInstancedActor::AddToInstancedRenderer = true |
Definition at line 160 of file InstancedActor.h.
Referenced by AddToInstancedRendering(), and AInstancedActorRenderer::SpawnInstanceBackToActor().
bool AInstancedActor::AllowWorldPositionOffsetDisable = false |
Definition at line 157 of file InstancedActor.h.
bool AInstancedActor::AlternativeMaterial = false |
Definition at line 174 of file InstancedActor.h.
Referenced by AInstancedRendererManager::AddActorToInstancedRendering().
|
private |
Definition at line 227 of file InstancedActor.h.
Referenced by BeginPlay().
int AInstancedActor::InstanceEndCullDistanceInCm = 46500 |
Definition at line 166 of file InstancedActor.h.
int AInstancedActor::InstanceStartCullDistanceInCm = 45000 |
Definition at line 163 of file InstancedActor.h.
FText AInstancedActor::InteractableName |
Definition at line 177 of file InstancedActor.h.
Referenced by AInstancedActor().
|
private |
Definition at line 225 of file InstancedActor.h.
|
private |
Definition at line 219 of file InstancedActor.h.
Referenced by BeginPlay().
bool AInstancedActor::ShouldUpdateTransformAutomatically = false |
Definition at line 170 of file InstancedActor.h.
Referenced by AddToInstancedRendering().
UStaticMeshComponent* AInstancedActor::StaticMeshComponent = nullptr |
Definition at line 154 of file InstancedActor.h.
Referenced by AInstancedActor(), BeginPlay(), EndPlay(), InstanceAdded(), and IsTreeActor().
|
private |
Definition at line 223 of file InstancedActor.h.