You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Moved SmartObjects out of restricted folder Moved StateTree out of restricted folder Moved ZoneGraph out of restricted folder Moved ZoneGraphAnnotations out of restricted folder #jira UE-115297 #ROBOMERGE-OWNER: mieszko.zielinski #ROBOMERGE-AUTHOR: mieszko.zielinski #ROBOMERGE-SOURCE: CL 17648223 via CL 17648246 via CL 17648261 via CL 17648385 via CL 17648390 via CL 17648742 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v875-17642767) [CL 17648750 by mieszko zielinski in ue5-main branch]
59 lines
1.9 KiB
C++
59 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "SmartObjectOctree.h"
|
|
|
|
//----------------------------------------------------------------------//
|
|
// FSmartObjectOctreeElement
|
|
//----------------------------------------------------------------------//
|
|
FSmartObjectOctreeElement::FSmartObjectOctreeElement(const FBoxCenterAndExtent& InBounds, const FSmartObjectID& InSmartObjectID, const FSmartObjectOctreeIDSharedRef& InSharedOctreeID)
|
|
: Bounds(InBounds)
|
|
, SmartObjectID(InSmartObjectID)
|
|
, SharedOctreeID(InSharedOctreeID)
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------//
|
|
// FSmartObjectOctree
|
|
//----------------------------------------------------------------------//
|
|
FSmartObjectOctree::FSmartObjectOctree()
|
|
: FSmartObjectOctree(FVector::ZeroVector, 0)
|
|
{
|
|
|
|
}
|
|
|
|
FSmartObjectOctree::FSmartObjectOctree(const FVector& Origin, float Radius)
|
|
: TOctree2<FSmartObjectOctreeElement, FSmartObjectOctreeSemantics>(Origin, Radius)
|
|
{
|
|
}
|
|
|
|
FSmartObjectOctree::~FSmartObjectOctree()
|
|
{
|
|
}
|
|
|
|
void FSmartObjectOctree::AddNode(const FBoxCenterAndExtent& Bounds, const FSmartObjectID& SmartObjectID, const FSmartObjectOctreeIDSharedRef& SharedOctreeID)
|
|
{
|
|
AddElement(FSmartObjectOctreeElement(Bounds, SmartObjectID, SharedOctreeID));
|
|
}
|
|
|
|
void FSmartObjectOctree::UpdateNode(const FOctreeElementId2& Id, const FBox& NewBounds)
|
|
{
|
|
FSmartObjectOctreeElement ElementCopy = GetElementById(Id);
|
|
RemoveElement(Id);
|
|
ElementCopy.Bounds = NewBounds;
|
|
AddElement(ElementCopy);
|
|
}
|
|
|
|
void FSmartObjectOctree::RemoveNode(const FOctreeElementId2& Id)
|
|
{
|
|
RemoveElement(Id);
|
|
}
|
|
|
|
//----------------------------------------------------------------------//
|
|
// FSmartObjectOctreeSemantics
|
|
//----------------------------------------------------------------------//
|
|
void FSmartObjectOctreeSemantics::SetElementId(const FSmartObjectOctreeElement& Element, FOctreeElementId2 Id)
|
|
{
|
|
Element.SharedOctreeID->ID = Id;
|
|
}
|
|
|