Skip to content

Commit 75befc9

Browse files
committed
Convert raw pointer to use TObjectPtr<>
1 parent a2e718c commit 75befc9

File tree

80 files changed

+2022
-1981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2022
-1981
lines changed

Source/HoudiniEngine/Private/HCsgUtils.h

+278-278
Large diffs are not rendered by default.

Source/HoudiniEngine/Private/HoudiniEngineUtils.h

+33
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,39 @@ struct HOUDINIENGINE_API FHoudiniEngineUtils
12631263
FHoudiniAttributeResolver& OutResolver,
12641264
bool bInSkipTempFolderResolutionAndUseDefault=false);
12651265

1266+
// -------------------------------------------------
1267+
template <typename T>
1268+
static TArray<TObjectPtr<T>> ToObjectPtr(const TArray<T*>& In)
1269+
{
1270+
TArray<TObjectPtr<T>> Result;
1271+
Result.Reserve(In.Num());
1272+
for(T* Ptr : In)
1273+
Result.Add(TObjectPtr<T>(Ptr));
1274+
return Result;
1275+
}
1276+
1277+
template <typename T>
1278+
static TSet<TObjectPtr<T>> ToObjectPtr(const TSet<T*>& In)
1279+
{
1280+
TSet<TObjectPtr<T>> Result;
1281+
Result.Reserve(In.Num());
1282+
for(T* Ptr : In)
1283+
Result.Add(TObjectPtr<T>(Ptr));
1284+
return Result;
1285+
}
1286+
1287+
template <typename T>
1288+
static TSet<T*> RemoveObjectPtr(const TSet<TObjectPtr<T>>& In)
1289+
{
1290+
TSet<T*> Result;
1291+
Result.Reserve(In.Num());
1292+
for(T* Ptr : In)
1293+
Result.Add(Ptr);
1294+
return Result;
1295+
}
1296+
1297+
// -------------------------------------------------
1298+
12661299
// -------------------------------------------------
12671300
// Houdini Engine debug functions
12681301
// -------------------------------------------------

Source/HoudiniEngine/Private/HoudiniGeoImportCommandlet.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ void UHoudiniGeoImportCommandlet::TickDiscoveredFiles()
163163

164164
FHoudiniPackageParams PackageParams;
165165
PopulatePackageParams(FileData.FileName, PackageParams);
166-
TArray<UHoudiniOutput*> Outputs;
166+
TArray<TObjectPtr<UHoudiniOutput>> Outputs;
167167
int32 Error = ImportBGEO(FileData.FileName, PackageParams, Outputs);
168168
if (Error == 0)
169169
{
@@ -306,7 +306,7 @@ UHoudiniGeoImportCommandlet::HandleImportBGEOMessage(
306306
FHoudiniPackageParams PackageParams;
307307
InMessage.PopulatePackageParams(PackageParams);
308308

309-
TArray<UHoudiniOutput*> Outputs;
309+
TArray<TObjectPtr<UHoudiniOutput>> Outputs;
310310
TMap<FHoudiniOutputObjectIdentifier, TArray<FHoudiniGenericAttribute>> OutputObjectAttributes;
311311
TMap<FHoudiniOutputObjectIdentifier, FHoudiniInstancedOutputPartData> InstancedOutputPartData;
312312
if (ImportBGEO(InMessage.FilePath, PackageParams, Outputs, &InMessage.StaticMeshGenerationProperties, &InMessage.MeshBuildSettings, &OutputObjectAttributes, &InstancedOutputPartData) == 0)
@@ -441,7 +441,7 @@ bool UHoudiniGeoImportCommandlet::StartHoudiniEngineSession()
441441
int32 UHoudiniGeoImportCommandlet::ImportBGEO(
442442
const FString &InFilename,
443443
const FHoudiniPackageParams &InPackageParams,
444-
TArray<UHoudiniOutput*>& OutOutputs,
444+
TArray<TObjectPtr<UHoudiniOutput>>& OutOutputs,
445445
const FHoudiniStaticMeshGenerationProperties* InStaticMeshGenerationProperties,
446446
const FMeshBuildSettings* InMeshBuildSettings,
447447
TMap<FHoudiniOutputObjectIdentifier, TArray<FHoudiniGenericAttribute>>* OutGenericAttributes,
@@ -455,7 +455,7 @@ int32 UHoudiniGeoImportCommandlet::ImportBGEO(
455455
FHoudiniPackageParams PackageParams = InPackageParams;
456456
UHoudiniGeoImporter* GeoImporter = NewObject<UHoudiniGeoImporter>(this);
457457

458-
TArray<UHoudiniOutput*> OldOutputs;
458+
TArray<TObjectPtr<UHoudiniOutput>> OldOutputs;
459459
OutOutputs.Empty();
460460

461461
// 2. Update the file paths
@@ -762,7 +762,7 @@ int32 UHoudiniGeoImportCommandlet::Main(const FString& InParams)
762762
FHoudiniPackageParams PackageParams;
763763
PopulatePackageParams(Filename, PackageParams);
764764

765-
TArray<UHoudiniOutput*> Outputs;
765+
TArray<TObjectPtr<UHoudiniOutput>> Outputs;
766766
const int32 Result = ImportBGEO(Tokens[0], PackageParams, Outputs);
767767

768768
for (UHoudiniOutput* Output : Outputs)

Source/HoudiniEngine/Private/HoudiniGeoImportCommandlet.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class HOUDINIENGINE_API UHoudiniGeoImportCommandlet : public UCommandlet
116116
int32 ImportBGEO(
117117
const FString& InFilename,
118118
const FHoudiniPackageParams& InPackageParams,
119-
TArray<UHoudiniOutput*>& OutOutputs,
119+
TArray<TObjectPtr<UHoudiniOutput>>& OutOutputs,
120120
const FHoudiniStaticMeshGenerationProperties* InStaticMeshGenerationProperties=nullptr,
121121
const FMeshBuildSettings* InMeshBuildSettings=nullptr,
122122
TMap<FHoudiniOutputObjectIdentifier, TArray<FHoudiniGenericAttribute>>* OutGenericAttributes=nullptr,

Source/HoudiniEngine/Private/HoudiniGeoImporter.cpp

+12-12
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ UHoudiniGeoImporter::AutoStartHoudiniEngineSessionIfNeeded()
145145
bool
146146
UHoudiniGeoImporter::BuildOutputsForNode(
147147
const HAPI_NodeId& InNodeId,
148-
TArray<UHoudiniOutput*>& InOldOutputs,
149-
TArray<UHoudiniOutput*>& OutNewOutputs,
148+
TArray<TObjectPtr<UHoudiniOutput>>& InOldOutputs,
149+
TArray<TObjectPtr<UHoudiniOutput>>& OutNewOutputs,
150150
bool bInUseOutputNodes)
151151
{
152152
FString Notification = TEXT("BGEO Importer: Getting output geos...");
@@ -157,7 +157,7 @@ UHoudiniGeoImporter::BuildOutputsForNode(
157157
}
158158

159159
bool UHoudiniGeoImporter::CreateObjectsFromOutputs(
160-
TArray<UHoudiniOutput*>& InOutputs,
160+
TArray<TObjectPtr<UHoudiniOutput>>& InOutputs,
161161
FHoudiniPackageParams InPackageParams,
162162
const FHoudiniStaticMeshGenerationProperties& InStaticMeshGenerationProperties,
163163
const FMeshBuildSettings& InMeshBuildSettings,
@@ -253,7 +253,7 @@ UHoudiniGeoImporter::CreateStaticMeshes(
253253
const FHoudiniStaticMeshGenerationProperties& InStaticMeshGenerationProperties,
254254
const FMeshBuildSettings& InMeshBuildSettings)
255255
{
256-
TMap<FHoudiniMaterialIdentifier, UMaterialInterface*> AllOutputMaterials;
256+
TMap<FHoudiniMaterialIdentifier, TObjectPtr<UMaterialInterface>> AllOutputMaterials;
257257
for (UHoudiniOutput* const CurOutput : InOutputs)
258258
{
259259
if (CurOutput->GetType() != EHoudiniOutputType::Mesh)
@@ -266,8 +266,8 @@ UHoudiniGeoImporter::CreateStaticMeshes(
266266

267267
TMap<FHoudiniOutputObjectIdentifier, FHoudiniOutputObject> NewOutputObjects;
268268
TMap<FHoudiniOutputObjectIdentifier, FHoudiniOutputObject> OldOutputObjects = CurOutput->GetOutputObjects();
269-
TMap<FHoudiniMaterialIdentifier, UMaterialInterface*>& AssignementMaterials = CurOutput->GetAssignementMaterials();
270-
TMap<FHoudiniMaterialIdentifier, UMaterialInterface*>& ReplacementMaterials = CurOutput->GetReplacementMaterials();
269+
TMap<FHoudiniMaterialIdentifier, TObjectPtr<UMaterialInterface>>& AssignementMaterials = CurOutput->GetAssignementMaterials();
270+
TMap<FHoudiniMaterialIdentifier, TObjectPtr<UMaterialInterface>>& ReplacementMaterials = CurOutput->GetReplacementMaterials();
271271

272272
// Iterate on all of the output's HGPO, creating meshes as we go
273273
for (const FHoudiniGeoPartObject& CurHGPO : CurOutput->GetHoudiniGeoPartObjects())
@@ -504,7 +504,7 @@ UHoudiniGeoImporter::CreateLandscapeSplines(const TArray<UHoudiniOutput*>& InOut
504504

505505
bool
506506
UHoudiniGeoImporter::CreateInstancers(
507-
TArray<UHoudiniOutput*>& InAllOutputs,
507+
TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs,
508508
const TArray<UHoudiniOutput*>& InInstancerOutputs,
509509
FHoudiniPackageParams InPackageParams)
510510
{
@@ -686,7 +686,7 @@ UHoudiniGeoImporter::CreateSkeletalMeshes(
686686
{
687687
check(CurOutput->GetType() == EHoudiniOutputType::Skeletal);
688688

689-
TMap<FHoudiniMaterialIdentifier, UMaterialInterface*> OutputMaterials;
689+
TMap<FHoudiniMaterialIdentifier, TObjectPtr<UMaterialInterface>> OutputMaterials;
690690
UObject* const OuterComponent = nullptr;
691691
if (!FHoudiniSkeletalMeshTranslator::ProcessSkeletalMeshOutputs(CurOutput, PackageParams, OutputMaterials, OuterComponent))
692692
{
@@ -842,8 +842,8 @@ UHoudiniGeoImporter::ImportBGEOFile(
842842
return false;
843843

844844
// 4. Get the output from the file node
845-
TArray<UHoudiniOutput*> NewOutputs;
846-
TArray<UHoudiniOutput*> OldOutputs;
845+
TArray<TObjectPtr<UHoudiniOutput>> NewOutputs;
846+
TArray<TObjectPtr<UHoudiniOutput>> OldOutputs;
847847
if (!BuildOutputsForNode(NodeId, OldOutputs, NewOutputs, true))
848848
return false;
849849

@@ -1133,8 +1133,8 @@ bool
11331133
UHoudiniGeoImporter::BuildAllOutputsForNode(
11341134
const HAPI_NodeId& InNodeId,
11351135
UObject* InOuter,
1136-
TArray<UHoudiniOutput*>& InOldOutputs,
1137-
TArray<UHoudiniOutput*>& OutNewOutputs,
1136+
TArray<TObjectPtr<UHoudiniOutput>>& InOldOutputs,
1137+
TArray<TObjectPtr<UHoudiniOutput>>& OutNewOutputs,
11381138
bool bInAddOutputsToRootSet,
11391139
bool bInUseOutputNodes,
11401140
bool bGatherEditableCurves)

Source/HoudiniEngine/Private/HoudiniGeoImporter.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ class HOUDINIENGINE_API UHoudiniGeoImporter : public UObject
6565
static bool BuildAllOutputsForNode(
6666
const HAPI_NodeId& InNodeId,
6767
UObject* InOuter,
68-
TArray<UHoudiniOutput*>& InOldOutputs,
69-
TArray<UHoudiniOutput*>& OutNewOutputs,
68+
TArray<TObjectPtr<UHoudiniOutput>>& InOldOutputs,
69+
TArray<TObjectPtr<UHoudiniOutput>>& OutNewOutputs,
7070
bool bInAddOutputsToRootSet = false,
7171
bool bInUseOutputNodes = true,
7272
bool bGatherEditableCurves = true);
@@ -98,13 +98,13 @@ class HOUDINIENGINE_API UHoudiniGeoImporter : public UObject
9898
// 4. Extract the outputs for a given node ID
9999
bool BuildOutputsForNode(
100100
const HAPI_NodeId& InNodeId,
101-
TArray<UHoudiniOutput*>& InOldOutputs,
102-
TArray<UHoudiniOutput*>& OutNewOutputs,
101+
TArray<TObjectPtr<UHoudiniOutput>>& InOldOutputs,
102+
TArray<TObjectPtr<UHoudiniOutput>>& OutNewOutputs,
103103
bool bInUseOutputNodes = true);
104104

105105
// 5. Create objects using outputs
106106
bool CreateObjectsFromOutputs(
107-
TArray<UHoudiniOutput*>& InOutputs,
107+
TArray<TObjectPtr<UHoudiniOutput>>& InOutputs,
108108
FHoudiniPackageParams InPackageParams,
109109
const FHoudiniStaticMeshGenerationProperties& InStaticMeshGenerationProperties,
110110
const FMeshBuildSettings& InMeshBuildSettings,
@@ -143,7 +143,7 @@ class HOUDINIENGINE_API UHoudiniGeoImporter : public UObject
143143

144144
/** @param InInstancerOutputs Must all have type EHoudiniOutput::Instancer. */
145145
bool CreateInstancers(
146-
TArray<UHoudiniOutput*>& InAllOutputs,
146+
TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs,
147147
const TArray<UHoudiniOutput*>& InInstancerOutputs,
148148
FHoudiniPackageParams InPackageParams);
149149

Source/HoudiniEngine/Private/HoudiniGeometryCollectionTranslator.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
void
2727
FHoudiniGeometryCollectionTranslator::SetupGeometryCollectionComponentFromOutputs(
28-
TArray<UHoudiniOutput*>& InAllOutputs,
28+
TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs,
2929
UObject* InOuterComponent,
3030
const FHoudiniPackageParams& InPackageParams,
3131
UWorld * InWorld)
@@ -422,7 +422,7 @@ FHoudiniGeometryCollectionTranslator::CreateNewGeometryActor(
422422

423423
bool
424424
FHoudiniGeometryCollectionTranslator::GetGeometryCollectionNames(
425-
TArray<UHoudiniOutput*>& InAllOutputs,
425+
TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs,
426426
TSet<FString>& Names)
427427
{
428428
for (auto & HoudiniOutput : InAllOutputs)

Source/HoudiniEngine/Private/HoudiniGeometryCollectionTranslator.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ struct HOUDINIENGINE_API FHoudiniGeometryCollectionTranslator
7272
};
7373

7474
public:
75-
static void SetupGeometryCollectionComponentFromOutputs(TArray<UHoudiniOutput*>& InAllOutputs,
75+
static void SetupGeometryCollectionComponentFromOutputs(TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs,
7676
UObject* InOuterComponent, const FHoudiniPackageParams& InPackageParams, UWorld * InWorld);
7777

7878
static bool GetFracturePieceAttribute(const HAPI_NodeId& GeoId, const HAPI_NodeId& PartId, int& OutInt);
@@ -86,7 +86,7 @@ struct HOUDINIENGINE_API FHoudiniGeometryCollectionTranslator
8686

8787
static AGeometryCollectionActor * CreateNewGeometryActor(UWorld * InWorld, const FString& InActorName, const FTransform& InTransform);
8888

89-
static bool GetGeometryCollectionNames(TArray<UHoudiniOutput*>& InAllOutputs, TSet<FString>& Names);
89+
static bool GetGeometryCollectionNames(TArray<TObjectPtr<UHoudiniOutput>>& InAllOutputs, TSet<FString>& Names);
9090

9191
private:
9292

Source/HoudiniEngine/Private/HoudiniHandleTranslator.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ FHoudiniHandleTranslator::BuildHandles(UHoudiniAssetComponent* HAC)
4848
if (!IsValid(HAC))
4949
return false;
5050

51-
TArray<UHoudiniHandleComponent*> NewHandles;
51+
TArray<TObjectPtr<UHoudiniHandleComponent>> NewHandles;
5252
if (FHoudiniHandleTranslator::BuildAllHandles(HAC->GetAssetId(), HAC, HAC->HandleComponents, NewHandles))
5353
{
5454
HAC->HandleComponents = NewHandles;
@@ -61,8 +61,8 @@ bool
6161
FHoudiniHandleTranslator::BuildAllHandles(
6262
const HAPI_NodeId& AssetId,
6363
UHoudiniAssetComponent* OuterObject,
64-
TArray<UHoudiniHandleComponent*>& CurrentHandles,
65-
TArray<UHoudiniHandleComponent*>& NewHandles)
64+
TArray<TObjectPtr<UHoudiniHandleComponent>>& CurrentHandles,
65+
TArray<TObjectPtr<UHoudiniHandleComponent>>& NewHandles)
6666
{
6767
if (AssetId < 0)
6868
return false;
@@ -201,7 +201,7 @@ FHoudiniHandleTranslator::BuildAllHandles(
201201

202202
const HAPI_ParmId ParamId = BindingInfo.assetParmId;
203203

204-
TArray<UHoudiniHandleParameter*> &XformParms = HandleComponent->XformParms;
204+
TArray<TObjectPtr<UHoudiniHandleParameter>> &XformParms = HandleComponent->XformParms;
205205

206206
UHoudiniParameter* FoundParam = nullptr;
207207

@@ -324,7 +324,7 @@ FHoudiniHandleTranslator::UpdateTransformParameters(UHoudiniHandleComponent* Han
324324
if (!HandleComponent->CheckHandleValid())
325325
return;
326326

327-
TArray<UHoudiniHandleParameter*>& XformParms = HandleComponent->XformParms;
327+
TArray<TObjectPtr<UHoudiniHandleParameter>>& XformParms = HandleComponent->XformParms;
328328
if (XformParms.Num() < (int32)EXformParameter::COUNT)
329329
return;
330330

Source/HoudiniEngine/Private/HoudiniHandleTranslator.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ struct HOUDINIENGINE_API FHoudiniHandleTranslator
4141

4242
static bool BuildAllHandles(const HAPI_NodeId& AssetId,
4343
UHoudiniAssetComponent* OuterObject,
44-
TArray<UHoudiniHandleComponent*>& CurrentHandles,
45-
TArray<UHoudiniHandleComponent*>& NewHandles);
44+
TArray<TObjectPtr<UHoudiniHandleComponent>>& CurrentHandles,
45+
TArray<TObjectPtr<UHoudiniHandleComponent>>& NewHandles);
4646

4747
static void ClearHandles(UHoudiniAssetComponent* HAC);
4848

Source/HoudiniEngine/Private/HoudiniInputTranslator.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ bool
154154
FHoudiniInputTranslator::BuildAllInputs(
155155
const HAPI_NodeId& AssetId,
156156
class UObject* InOuterObject,
157-
TArray<UHoudiniInput*>& Inputs,
158-
TArray<UHoudiniParameter*>& Parameters)
157+
TArray<TObjectPtr<UHoudiniInput>>& Inputs,
158+
TArray<TObjectPtr<UHoudiniParameter>>& Parameters)
159159
{
160160
TRACE_CPUPROFILER_EVENT_SCOPE(FHoudiniInputTranslator::BuildAllInputs);
161161

@@ -470,7 +470,7 @@ FHoudiniInputTranslator::DestroyInputNodes(UHoudiniInput* InputToDestroy, const
470470

471471
// Destroy the nodes created by all the input objects
472472
TArray<int32> CreatedInputDataAssetIds = InputToDestroy->GetCreatedDataNodeIds();
473-
TArray<UHoudiniInputObject*>* InputObjectNodes = InputToDestroy->GetHoudiniInputObjectArray(InputType);
473+
TArray<TObjectPtr<UHoudiniInputObject>>* InputObjectNodes = InputToDestroy->GetHoudiniInputObjectArray(InputType);
474474
if (InputObjectNodes)
475475
{
476476
TArray<int32> ManagedHAPINodeIds;
@@ -793,7 +793,7 @@ FHoudiniInputTranslator::UploadChangedInputs(UHoudiniAssetComponent * HAC)
793793
//for (auto CurrentInput : HAC->Inputs)
794794
for(int32 InputIdx = 0; InputIdx < HAC->GetNumInputs(); InputIdx++)
795795
{
796-
UHoudiniInput*& CurrentInput = HAC->Inputs[InputIdx];
796+
TObjectPtr<UHoudiniInput>& CurrentInput = HAC->Inputs[InputIdx];
797797
if (!IsValid(CurrentInput) || !CurrentInput->HasChanged())
798798
continue;
799799

@@ -1037,7 +1037,7 @@ FHoudiniInputTranslator::UpdateTransformOffset(UHoudiniInput* InInput)
10371037
return true;
10381038

10391039
// Get the input objects
1040-
TArray<UHoudiniInputObject*>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InputType);
1040+
TArray<TObjectPtr<UHoudiniInputObject>>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InputType);
10411041
if (!ensure(InputObjectsArray))
10421042
return false;
10431043

@@ -1073,7 +1073,7 @@ FHoudiniInputTranslator::UploadInputData(UHoudiniInput* InInput, const FTransfor
10731073
return false;
10741074

10751075
EHoudiniInputType InputType = InInput->GetInputType();
1076-
TArray<UHoudiniInputObject*>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InInput->GetInputType());
1076+
TArray<TObjectPtr<UHoudiniInputObject>>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InInput->GetInputType());
10771077
if (!ensure(InputObjectsArray))
10781078
return false;
10791079

@@ -1293,7 +1293,7 @@ FHoudiniInputTranslator::UploadInputTransform(UHoudiniInput* InInput)
12931293
return false;
12941294

12951295
EHoudiniInputType InputType = InInput->GetInputType();
1296-
TArray<UHoudiniInputObject*>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InInput->GetInputType());
1296+
TArray<TObjectPtr<UHoudiniInputObject>>* InputObjectsArray = InInput->GetHoudiniInputObjectArray(InInput->GetInputType());
12971297
if (!ensure(InputObjectsArray))
12981298
return false;
12991299

@@ -4693,7 +4693,7 @@ FHoudiniInputTranslator::HapiCreateInputNodeForLandscape(
46934693
InObject->Update(Landscape, InputSettings);
46944694

46954695
{
4696-
TSet<ULandscapeComponent*> SelectedLandscapeComponents = InInput->GetLandscapeSelectedComponents();
4696+
TSet<TObjectPtr<ULandscapeComponent>> SelectedLandscapeComponents = InInput->GetLandscapeSelectedComponents();
46974697
FUnrealObjectInputOptions Options = FUnrealObjectInputOptions::MakeOptionsForLandscapeActor(InputSettings, &SelectedLandscapeComponents);
46984698
FUnrealObjectInputIdentifier LandscapeInputNodeId(Landscape, Options, false);
46994699

@@ -4714,7 +4714,7 @@ bool
47144714
FHoudiniInputTranslator::HapiCreateInputNodeForBrush(
47154715
const FString& InObjNodeName,
47164716
UHoudiniInputBrush* InObject,
4717-
TArray<AActor*>* ExcludeActors,
4717+
TArray<TObjectPtr<AActor>>* ExcludeActors,
47184718
const FHoudiniInputObjectSettings& InInputSettings,
47194719
const bool& bInputNodesCanBeDeleted)
47204720
{
@@ -4899,7 +4899,7 @@ FHoudiniInputTranslator::UpdateWorldInput(UHoudiniInput* InInput)
48994899
if (WorldType != EHoudiniInputType::World)
49004900
return false;
49014901

4902-
TArray<UHoudiniInputObject*>* InputObjectsPtr = InInput->GetHoudiniInputObjectArray(WorldType);
4902+
TArray<TObjectPtr<UHoudiniInputObject>>* InputObjectsPtr = InInput->GetHoudiniInputObjectArray(WorldType);
49034903
if (!InputObjectsPtr)
49044904
return false;
49054905

Source/HoudiniEngine/Private/HoudiniInputTranslator.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ struct HOUDINIENGINE_API FHoudiniInputTranslator
8989
static bool BuildAllInputs(
9090
const HAPI_NodeId& AssetId,
9191
class UObject* OuterObject,
92-
TArray<UHoudiniInput*>& Inputs,
93-
TArray<UHoudiniParameter*>& Parameters);
92+
TArray<TObjectPtr<UHoudiniInput>>& Inputs,
93+
TArray<TObjectPtr<UHoudiniParameter>>& Parameters);
9494

9595
// Update loaded inputs and their input objects so they can be uploaded properly
9696
static bool UpdateLoadedInputs(UHoudiniAssetComponent * HAC);
@@ -312,7 +312,7 @@ struct HOUDINIENGINE_API FHoudiniInputTranslator
312312
static bool HapiCreateInputNodeForBrush(
313313
const FString& InObjNodeName,
314314
UHoudiniInputBrush* InObject,
315-
TArray<AActor*>* ExcludeActors,
315+
TArray<TObjectPtr<AActor>>* ExcludeActors,
316316
const FHoudiniInputObjectSettings& InInputSettings,
317317
const bool& bInputNodesCanBeDeleted);
318318

0 commit comments

Comments
 (0)