CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Protected 成员函数 | Protected 属性 | Private 成员函数 | Private 属性 | 所有成员列表
AProceduralBuilding类 参考

#include <ProceduralBuilding.h>

+ 类 AProceduralBuilding 继承关系图:
+ AProceduralBuilding 的协作图:

Public 成员函数

 AProceduralBuilding ()
 
void ConvertOldBP_ToNativeCodeObject (AActor *BP_Building)
 
UHierarchicalInstancedStaticMeshComponent * GetHISMComp (const UStaticMesh *SM)
 
void HideAllChildren ()
 
void SetBaseMeshes (const TArray< UStaticMesh * > &InBaseMeshes, const TArray< TSubclassOf< AActor > > &InBaseBPs, const TArray< UStaticMesh * > &InCornerBaseMeshes, const TArray< TSubclassOf< AActor > > &InCornerBaseBPs, const TArray< UStaticMesh * > &InDoorMeshes, const TArray< TSubclassOf< AActor > > &InDoorBPs)
 
void SetBaseParameters (const TSet< int > &InDoorsIndexPosition, const TArray< bool > &InUseWallMesh, int InNumFloors, int InLengthX, int InLengthY, bool InCorners, bool InUseFullBlocks)
 
void SetBodyMeshes (const TArray< UStaticMesh * > &InBodyMeshes, const TArray< TSubclassOf< AActor > > &InBodyBPs, const TArray< UStaticMesh * > &InCornerBodyMeshes, const TArray< TSubclassOf< AActor > > &InCornerBodyBPs, const TArray< UStaticMesh * > &InWallMeshes, const TArray< TSubclassOf< AActor > > &InWallBPs)
 
void SetTopMeshes (const TArray< UStaticMesh * > &InTopMeshes, const TArray< TSubclassOf< AActor > > &InTopBPs, const TArray< UStaticMesh * > &InCornerTopMeshes, const TArray< TSubclassOf< AActor > > &InCornerTopBPs, const TArray< UStaticMesh * > &InRoofMeshes, const TArray< TSubclassOf< AActor > > &InRoofBPs)
 
void SetVisibilityParameters (const TArray< bool > &InSideVisibility, const TArray< bool > &InCornerVisibility, bool InRoofVisibility)
 

Protected 成员函数

void CreateBuilding ()
 
void FixMobility ()
 
void Reset ()
 

Protected 属性

TArray< TSubclassOf< AActor > > BaseBPs
 
TArray< UStaticMesh * > BaseMeshes
 Meshes
 
TArray< TSubclassOf< AActor > > BodyBPs
 
TArray< UStaticMesh * > BodyMeshes
 Meshes | Body
 
TArray< UChildActorComponent * > ChildActorComps
 
TArray< TSubclassOf< AActor > > CornerBaseBPs
 
TArray< UStaticMesh * > CornerBaseMeshes
 
TArray< TSubclassOf< AActor > > CornerBodyBPs
 
TArray< UStaticMesh * > CornerBodyMeshes
 
bool Corners = false
 
TArray< TSubclassOf< AActor > > CornerTopBPs
 
TArray< UStaticMesh * > CornerTopMeshes
 
TArray< bool > CornerVisibility
 
TArray< TSubclassOf< AActor > > DoorBPs
 
TArray< UStaticMesh * > DoorMeshes
 
TSet< int > DoorsIndexPosition
 Base Parameters
 
TMap< FString, UHierarchicalInstancedStaticMeshComponent * > HISMComps
 
int LengthX = 0
 
int LengthY = 0
 
int NumFloors = 0
 
TArray< TSubclassOf< AActor > > RoofBPs
 
TArray< UStaticMesh * > RoofMeshes
 
bool RoofVisibility = true
 
UStaticMeshComponent * RootSMComp = nullptr
 
TArray< bool > SideVisibility
 Base Parameters | Visibility
 
TArray< TSubclassOf< AActor > > TopBPs
 
TArray< UStaticMesh * > TopMeshes
 Meshes | Top
 
bool UseFullBlocks = false
 
TArray< bool > UseWallMesh
 
TArray< TSubclassOf< AActor > > WallBPs
 
TArray< UStaticMesh * > WallMeshes
 

Private 成员函数

float AddChunck (const UStaticMesh *SelectedMesh, const TSubclassOf< AActor > SelectedBP, bool Visible, FBox &OutSelectedMeshBounds)
 
void AddMeshToBuilding (const UStaticMesh *SM)
 
TSet< int > CalculateDoorsIndexInSide (int StartIndex, int Length)
 
void CalculateSidesLength ()
 
void CalculateSideVisibilities (int SideIndex, bool &MainVisibility, bool &CornerVisbility)
 
void ChooseGeometryToSpawn (const TArray< UStaticMesh * > &InMeshes, const TArray< TSubclassOf< AActor > > &InMainBPs, UStaticMesh **OutMesh, TSubclassOf< AActor > *OutBP)
 
void CreateFloor (const FloorMeshCollection &MeshCollection, bool IncludeDoors, bool IncludeWalls)
 
void CreateRoof ()
 
float CreateSide (const FloorMeshCollection &MeshCollection, const TSet< int > &AuxiliarPositions, int SideLength, bool MainVisibility, bool CornerVisbility)
 
TSet< int > GenerateWallsIndexPositions (int Length)
 
FVector GetMeshSize (const UStaticMesh *SM)
 
void Init ()
 
void UpdateTransformPositionToNextChunk (const FVector &Box)
 
void UpdateTransformPositionToNextSide (const FBox &Box)
 

Private 属性

FTransform CurrentTransform = FTransform::Identity
 
FBox LastSelectedMeshBounds
 
TArray< int > SidesLength
 

详细描述

在文件 ProceduralBuilding.h26 行定义.

构造及析构函数说明

◆ AProceduralBuilding()

AProceduralBuilding::AProceduralBuilding ( )

在文件 ProceduralBuilding.cpp8 行定义.

引用了 CornerVisibility, RootSMComp, SideVisibility , 以及 UseWallMesh.

成员函数说明

◆ AddChunck()

float AProceduralBuilding::AddChunck ( const UStaticMesh * SelectedMesh,
const TSubclassOf< AActor > SelectedBP,
bool Visible,
FBox & OutSelectedMeshBounds )
private

在文件 ProceduralBuilding.cpp506 行定义.

引用了 AddMeshToBuilding(), ChildActorComps, CurrentTransform, GetMeshSize() , 以及 UpdateTransformPositionToNextChunk().

被这些函数引用 CreateRoof() , 以及 CreateSide().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ AddMeshToBuilding()

void AProceduralBuilding::AddMeshToBuilding ( const UStaticMesh * SM)
private

在文件 ProceduralBuilding.cpp584 行定义.

引用了 CurrentTransform , 以及 GetHISMComp().

被这些函数引用 AddChunck().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CalculateDoorsIndexInSide()

TSet< int > AProceduralBuilding::CalculateDoorsIndexInSide ( int StartIndex,
int Length )
private

在文件 ProceduralBuilding.cpp452 行定义.

引用了 DoorsIndexPosition.

被这些函数引用 CreateFloor().

+ 这是这个函数的调用关系图:

◆ CalculateSidesLength()

void AProceduralBuilding::CalculateSidesLength ( )
private

在文件 ProceduralBuilding.cpp432 行定义.

引用了 LengthX, LengthY, SidesLength , 以及 UseFullBlocks.

被这些函数引用 Init().

+ 这是这个函数的调用关系图:

◆ CalculateSideVisibilities()

void AProceduralBuilding::CalculateSideVisibilities ( int SideIndex,
bool & MainVisibility,
bool & CornerVisbility )
private

在文件 ProceduralBuilding.cpp478 行定义.

引用了 CornerVisibility, SideVisibility , 以及 UseFullBlocks.

被这些函数引用 CreateFloor().

+ 这是这个函数的调用关系图:

◆ ChooseGeometryToSpawn()

void AProceduralBuilding::ChooseGeometryToSpawn ( const TArray< UStaticMesh * > & InMeshes,
const TArray< TSubclassOf< AActor > > & InMainBPs,
UStaticMesh ** OutMesh = nullptr,
TSubclassOf< AActor > * OutBP = nullptr )
private

在文件 ProceduralBuilding.cpp484 行定义.

被这些函数引用 CreateRoof() , 以及 CreateSide().

+ 这是这个函数的调用关系图:

◆ ConvertOldBP_ToNativeCodeObject()

void AProceduralBuilding::ConvertOldBP_ToNativeCodeObject ( AActor * BP_Building)

在文件 ProceduralBuilding.cpp57 行定义.

引用了 ChildActorComps , 以及 GetHISMComp().

+ 函数调用图:

◆ CreateBuilding()

void AProceduralBuilding::CreateBuilding ( )
protected

在文件 ProceduralBuilding.cpp212 行定义.

引用了 BaseBPs, BaseMeshes, BodyBPs, BodyMeshes, CornerBaseBPs, CornerBaseMeshes, CornerBodyBPs, CornerBodyMeshes, CornerTopBPs, CornerTopMeshes, CreateFloor(), CreateRoof(), DoorBPs, DoorMeshes, Init(), NumFloors, TopBPs, TopMeshes, WallBPs , 以及 WallMeshes.

+ 函数调用图:

◆ CreateFloor()

void AProceduralBuilding::CreateFloor ( const FloorMeshCollection & MeshCollection,
bool IncludeDoors,
bool IncludeWalls )
private

在文件 ProceduralBuilding.cpp280 行定义.

引用了 CalculateDoorsIndexInSide(), CalculateSideVisibilities(), CreateSide(), CurrentTransform, GenerateWallsIndexPositions(), SidesLength, UseFullBlocks , 以及 UseWallMesh.

被这些函数引用 CreateBuilding().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CreateRoof()

void AProceduralBuilding::CreateRoof ( )
private

在文件 ProceduralBuilding.cpp329 行定义.

引用了 AddChunck(), ChooseGeometryToSpawn(), CurrentTransform, LastSelectedMeshBounds, LengthX, LengthY, RoofBPs, RoofMeshes, RoofVisibility , 以及 UpdateTransformPositionToNextSide().

被这些函数引用 CreateBuilding().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CreateSide()

float AProceduralBuilding::CreateSide ( const FloorMeshCollection & MeshCollection,
const TSet< int > & AuxiliarPositions,
int SideLength,
bool MainVisibility,
bool CornerVisbility )
private

Main part

Corner part

在文件 ProceduralBuilding.cpp366 行定义.

引用了 AddChunck(), FloorMeshCollection::AuxiliarBPs, FloorMeshCollection::AuxiliarMeshes, ChooseGeometryToSpawn(), FloorMeshCollection::CornerBPs, FloorMeshCollection::CornerMeshes, Corners, LastSelectedMeshBounds, FloorMeshCollection::MainBPs, FloorMeshCollection::MainMeshes , 以及 UpdateTransformPositionToNextSide().

被这些函数引用 CreateFloor().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ FixMobility()

void AProceduralBuilding::FixMobility ( )
protected

在文件 ProceduralBuilding.cpp49 行定义.

引用了 ChildActorComps.

◆ GenerateWallsIndexPositions()

TSet< int > AProceduralBuilding::GenerateWallsIndexPositions ( int Length)
private

在文件 ProceduralBuilding.cpp468 行定义.

被这些函数引用 CreateFloor().

+ 这是这个函数的调用关系图:

◆ GetHISMComp()

UHierarchicalInstancedStaticMeshComponent * AProceduralBuilding::GetHISMComp ( const UStaticMesh * SM)

在文件 ProceduralBuilding.cpp22 行定义.

引用了 HISMComps.

被这些函数引用 AddMeshToBuilding() , 以及 ConvertOldBP_ToNativeCodeObject().

+ 这是这个函数的调用关系图:

◆ GetMeshSize()

FVector AProceduralBuilding::GetMeshSize ( const UStaticMesh * SM)
private

在文件 ProceduralBuilding.cpp591 行定义.

被这些函数引用 AddChunck().

+ 这是这个函数的调用关系图:

◆ HideAllChildren()

void AProceduralBuilding::HideAllChildren ( )

在文件 ProceduralBuilding.cpp122 行定义.

引用了 ChildActorComps.

◆ Init()

void AProceduralBuilding::Init ( )
private

在文件 ProceduralBuilding.cpp273 行定义.

引用了 CalculateSidesLength() , 以及 Reset().

被这些函数引用 CreateBuilding().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ Reset()

void AProceduralBuilding::Reset ( )
protected

在文件 ProceduralBuilding.cpp241 行定义.

引用了 ChildActorComps, CurrentTransform, HISMComps , 以及 SidesLength.

被这些函数引用 Init().

+ 这是这个函数的调用关系图:

◆ SetBaseMeshes()

void AProceduralBuilding::SetBaseMeshes ( const TArray< UStaticMesh * > & InBaseMeshes,
const TArray< TSubclassOf< AActor > > & InBaseBPs,
const TArray< UStaticMesh * > & InCornerBaseMeshes,
const TArray< TSubclassOf< AActor > > & InCornerBaseBPs,
const TArray< UStaticMesh * > & InDoorMeshes,
const TArray< TSubclassOf< AActor > > & InDoorBPs )

◆ SetBaseParameters()

void AProceduralBuilding::SetBaseParameters ( const TSet< int > & InDoorsIndexPosition,
const TArray< bool > & InUseWallMesh,
int InNumFloors,
int InLengthX,
int InLengthY,
bool InCorners,
bool InUseFullBlocks )

◆ SetBodyMeshes()

void AProceduralBuilding::SetBodyMeshes ( const TArray< UStaticMesh * > & InBodyMeshes,
const TArray< TSubclassOf< AActor > > & InBodyBPs,
const TArray< UStaticMesh * > & InCornerBodyMeshes,
const TArray< TSubclassOf< AActor > > & InCornerBodyBPs,
const TArray< UStaticMesh * > & InWallMeshes,
const TArray< TSubclassOf< AActor > > & InWallBPs )

◆ SetTopMeshes()

void AProceduralBuilding::SetTopMeshes ( const TArray< UStaticMesh * > & InTopMeshes,
const TArray< TSubclassOf< AActor > > & InTopBPs,
const TArray< UStaticMesh * > & InCornerTopMeshes,
const TArray< TSubclassOf< AActor > > & InCornerTopBPs,
const TArray< UStaticMesh * > & InRoofMeshes,
const TArray< TSubclassOf< AActor > > & InRoofBPs )

在文件 ProceduralBuilding.cpp196 行定义.

引用了 CornerTopBPs, CornerTopMeshes, RoofBPs, RoofMeshes, TopBPs , 以及 TopMeshes.

◆ SetVisibilityParameters()

void AProceduralBuilding::SetVisibilityParameters ( const TArray< bool > & InSideVisibility,
const TArray< bool > & InCornerVisibility,
bool InRoofVisibility )

在文件 ProceduralBuilding.cpp154 行定义.

引用了 CornerVisibility, RoofVisibility , 以及 SideVisibility.

◆ UpdateTransformPositionToNextChunk()

void AProceduralBuilding::UpdateTransformPositionToNextChunk ( const FVector & Box)
private

在文件 ProceduralBuilding.cpp597 行定义.

引用了 CurrentTransform, carla::geom::Rotation::GetForwardVector() , 以及 UseFullBlocks.

被这些函数引用 AddChunck().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ UpdateTransformPositionToNextSide()

void AProceduralBuilding::UpdateTransformPositionToNextSide ( const FBox & Box)
private

在文件 ProceduralBuilding.cpp611 行定义.

引用了 CurrentTransform, carla::geom::Rotation::GetRightVector() , 以及 UseFullBlocks.

被这些函数引用 CreateRoof() , 以及 CreateSide().

+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ BaseBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::BaseBPs
protected

在文件 ProceduralBuilding.h175 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ BaseMeshes

TArray<UStaticMesh*> AProceduralBuilding::BaseMeshes
protected

Meshes

Meshes | Base

在文件 ProceduralBuilding.h171 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ BodyBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::BodyBPs
protected

在文件 ProceduralBuilding.h203 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().

◆ BodyMeshes

TArray<UStaticMesh*> AProceduralBuilding::BodyMeshes
protected

Meshes | Body

在文件 ProceduralBuilding.h199 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().

◆ ChildActorComps

TArray<UChildActorComponent*> AProceduralBuilding::ChildActorComps
protected

◆ CornerBaseBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::CornerBaseBPs
protected

在文件 ProceduralBuilding.h191 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ CornerBaseMeshes

TArray<UStaticMesh*> AProceduralBuilding::CornerBaseMeshes
protected

在文件 ProceduralBuilding.h187 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ CornerBodyBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::CornerBodyBPs
protected

在文件 ProceduralBuilding.h219 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().

◆ CornerBodyMeshes

TArray<UStaticMesh*> AProceduralBuilding::CornerBodyMeshes
protected

在文件 ProceduralBuilding.h215 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().

◆ Corners

bool AProceduralBuilding::Corners = false
protected

在文件 ProceduralBuilding.h138 行定义.

被这些函数引用 CreateSide() , 以及 SetBaseParameters().

◆ CornerTopBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::CornerTopBPs
protected

在文件 ProceduralBuilding.h239 行定义.

被这些函数引用 CreateBuilding() , 以及 SetTopMeshes().

◆ CornerTopMeshes

TArray<UStaticMesh*> AProceduralBuilding::CornerTopMeshes
protected

在文件 ProceduralBuilding.h235 行定义.

被这些函数引用 CreateBuilding() , 以及 SetTopMeshes().

◆ CornerVisibility

TArray<bool> AProceduralBuilding::CornerVisibility
protected

在文件 ProceduralBuilding.h154 行定义.

被这些函数引用 AProceduralBuilding(), CalculateSideVisibilities() , 以及 SetVisibilityParameters().

◆ CurrentTransform

FTransform AProceduralBuilding::CurrentTransform = FTransform::Identity
private

◆ DoorBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::DoorBPs
protected

在文件 ProceduralBuilding.h183 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ DoorMeshes

TArray<UStaticMesh*> AProceduralBuilding::DoorMeshes
protected

在文件 ProceduralBuilding.h179 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseMeshes().

◆ DoorsIndexPosition

TSet<int> AProceduralBuilding::DoorsIndexPosition
protected

Base Parameters

在文件 ProceduralBuilding.h118 行定义.

被这些函数引用 CalculateDoorsIndexInSide() , 以及 SetBaseParameters().

◆ HISMComps

TMap<FString, UHierarchicalInstancedStaticMeshComponent*> AProceduralBuilding::HISMComps
protected

在文件 ProceduralBuilding.h103 行定义.

被这些函数引用 GetHISMComp() , 以及 Reset().

◆ LastSelectedMeshBounds

FBox AProceduralBuilding::LastSelectedMeshBounds
private

在文件 ProceduralBuilding.h308 行定义.

被这些函数引用 CreateRoof() , 以及 CreateSide().

◆ LengthX

int AProceduralBuilding::LengthX = 0
protected

在文件 ProceduralBuilding.h130 行定义.

被这些函数引用 CalculateSidesLength(), CreateRoof() , 以及 SetBaseParameters().

◆ LengthY

int AProceduralBuilding::LengthY = 0
protected

在文件 ProceduralBuilding.h134 行定义.

被这些函数引用 CalculateSidesLength(), CreateRoof() , 以及 SetBaseParameters().

◆ NumFloors

int AProceduralBuilding::NumFloors = 0
protected

在文件 ProceduralBuilding.h126 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBaseParameters().

◆ RoofBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::RoofBPs
protected

在文件 ProceduralBuilding.h247 行定义.

被这些函数引用 CreateRoof() , 以及 SetTopMeshes().

◆ RoofMeshes

TArray<UStaticMesh*> AProceduralBuilding::RoofMeshes
protected

在文件 ProceduralBuilding.h243 行定义.

被这些函数引用 CreateRoof() , 以及 SetTopMeshes().

◆ RoofVisibility

bool AProceduralBuilding::RoofVisibility = true
protected

在文件 ProceduralBuilding.h158 行定义.

被这些函数引用 CreateRoof() , 以及 SetVisibilityParameters().

◆ RootSMComp

UStaticMeshComponent* AProceduralBuilding::RootSMComp = nullptr
protected

在文件 ProceduralBuilding.h110 行定义.

被这些函数引用 AProceduralBuilding().

◆ SidesLength

TArray<int> AProceduralBuilding::SidesLength
private

在文件 ProceduralBuilding.h303 行定义.

被这些函数引用 CalculateSidesLength(), CreateFloor() , 以及 Reset().

◆ SideVisibility

TArray<bool> AProceduralBuilding::SideVisibility
protected

Base Parameters | Visibility

在文件 ProceduralBuilding.h150 行定义.

被这些函数引用 AProceduralBuilding(), CalculateSideVisibilities() , 以及 SetVisibilityParameters().

◆ TopBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::TopBPs
protected

在文件 ProceduralBuilding.h231 行定义.

被这些函数引用 CreateBuilding() , 以及 SetTopMeshes().

◆ TopMeshes

TArray<UStaticMesh*> AProceduralBuilding::TopMeshes
protected

Meshes | Top

在文件 ProceduralBuilding.h227 行定义.

被这些函数引用 CreateBuilding() , 以及 SetTopMeshes().

◆ UseFullBlocks

bool AProceduralBuilding::UseFullBlocks = false
protected

◆ UseWallMesh

TArray<bool> AProceduralBuilding::UseWallMesh
protected

在文件 ProceduralBuilding.h122 行定义.

被这些函数引用 AProceduralBuilding(), CreateFloor() , 以及 SetBaseParameters().

◆ WallBPs

TArray<TSubclassOf<AActor> > AProceduralBuilding::WallBPs
protected

在文件 ProceduralBuilding.h211 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().

◆ WallMeshes

TArray<UStaticMesh*> AProceduralBuilding::WallMeshes
protected

在文件 ProceduralBuilding.h207 行定义.

被这些函数引用 CreateBuilding() , 以及 SetBodyMeshes().


该类的文档由以下文件生成: