UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BrushBuilder.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
8#include "BrushBuilder.generated.h"
9
10class ABrush;
11
12// Internal state, not accessible to script.
13USTRUCT()
15{
17
18 UPROPERTY()
19 TArray<int32> VertexIndices;
20
21 UPROPERTY()
22 int32 Direction;
23
24 UPROPERTY()
25 FName ItemName;
26
27 UPROPERTY()
28 int32 PolyFlags;
29
31 : Direction(0), ItemName(NAME_None), PolyFlags(0)
32 {}
33};
34
35
54{
56
57 UPROPERTY()
58 FString BitmapFilename;
59
61 UPROPERTY()
62 FString ToolTip;
63
66 uint32 NotifyBadParams:1;
67
68protected:
69
70 UPROPERTY()
71 TArray<FVector> Vertices;
72
73 UPROPERTY()
75
76 UPROPERTY()
77 FName Layer;
78
79 UPROPERTY()
80 uint32 MergeCoplanars:1;
81
82public:
83
84 // @ todo document all below
85 virtual void BeginBrush( bool InMergeCoplanars, FName InLayer ) {}
86 virtual bool EndBrush( UWorld* InWorld, ABrush* InBrush ) { return false; }
87 virtual int32 GetVertexCount() const { return 0; }
88 virtual FVector GetVertex( int32 i ) const { return FVector::ZeroVector; }
89 virtual int32 GetPolyCount() const { return 0; }
90 virtual bool BadParameters( const FText& msg ) { return false; }
91 virtual int32 Vertexv( FVector v ) { return 0; }
92 virtual int32 Vertex3f( float X, float Y, float Z ) { return 0; }
93 virtual void Poly3i( int32 Direction, int32 i, int32 j, int32 k, FName ItemName = NAME_None, bool bIsTwoSidedNonSolid = false ) {}
94 virtual void Poly4i( int32 Direction, int32 i, int32 j, int32 k, int32 l, FName ItemName = NAME_None, bool bIsTwoSidedNonSolid = false ) {}
95 virtual void PolyBegin( int32 Direction, FName ItemName = NAME_None ) {}
96 virtual void Polyi( int32 i ) {}
97 virtual void PolyEnd() {}
98
105 virtual bool Build( UWorld* InWorld, ABrush* InBrush = nullptr )
106 {
107 return false;
108 }
109};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition Text.h:385
Definition Array.h:670
Definition BrushBuilder.h:54
virtual void Poly3i(int32 Direction, int32 i, int32 j, int32 k, FName ItemName=NAME_None, bool bIsTwoSidedNonSolid=false)
Definition BrushBuilder.h:93
virtual int32 Vertex3f(float X, float Y, float Z)
Definition BrushBuilder.h:92
virtual int32 Vertexv(FVector v)
Definition BrushBuilder.h:91
virtual void PolyBegin(int32 Direction, FName ItemName=NAME_None)
Definition BrushBuilder.h:95
virtual void Polyi(int32 i)
Definition BrushBuilder.h:96
virtual void PolyEnd()
Definition BrushBuilder.h:97
virtual bool Build(UWorld *InWorld, ABrush *InBrush=nullptr)
Definition BrushBuilder.h:105
virtual FVector GetVertex(int32 i) const
Definition BrushBuilder.h:88
virtual bool BadParameters(const FText &msg)
Definition BrushBuilder.h:90
virtual bool EndBrush(UWorld *InWorld, ABrush *InBrush)
Definition BrushBuilder.h:86
virtual void Poly4i(int32 Direction, int32 i, int32 j, int32 k, int32 l, FName ItemName=NAME_None, bool bIsTwoSidedNonSolid=false)
Definition BrushBuilder.h:94
virtual int32 GetPolyCount() const
Definition BrushBuilder.h:89
virtual int32 GetVertexCount() const
Definition BrushBuilder.h:87
Definition Object.h:95
Definition World.h:918
float v
Definition radaudio_mdct.cpp:62
Definition BrushBuilder.h:15
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79