FBSPUtils

Windows
MacOS
Linux

References

Module

BSPUtils

Header

/Engine/Source/Developer/BSPUtils/Public/BSPUtils.h

Include

#include "BSPUtils.h"

Syntax

class FBSPUtils

Functions

Name Description

Public function Static

int32

 

bspBrushCSG

(
    ABrush* Actor,
    UModel* Model,
    UModel* TempModel,
    UMaterialInterface* SelectedMa...,
    uint32 PolyFlags,
    EBrushType BrushType,
    ECsgOper CSGOper,
    bool bBuildBounds,
    bool bMergePolys,
    bool bReplaceNULLMaterialRefs,
    bool bShowProgressBar
)

Performs any CSG operation between the brush and the world.

Public function Static

void

 

bspBuildFPolys

(
    UModel* Model,
    bool SurfLinks,
    int32 iNode,
    TArray< FPoly >* DestArray
)

Build EdPoly list from a model's Bsp. Not transactional.

Public function Static

void

 

bspCleanup

(
    UModel* Model
)

Clean up all nodes after a CSG operation.

Public function Static

void

 

bspMergeCoplanars

(
    UModel* Model,
    bool RemapLinks,
    bool MergeDisparateTextures
)

Public function Static

int32

 

bspNodeToFPoly

(
    UModel* Model,
    int32 iNode,
    FPoly* EdPoly
)

Convert a Bsp node to an EdPoly. Returns number of vertices in Bsp node.

Public function Static

void

 

bspOptGeom

(
    UModel* Model
)

Optimize a level's Bsp, eliminating T-joints where possible, and building side links.

Public function Static

void

 

bspRepartition

(
    UWorld* InWorld,
    int32 iNode
)

Repartition Bsp tree

Public function Static

bool

 

polyFindMaster

(
    UModel* InModel,
    int32 iSurf,
    FPoly& Poly
)

Find the Brush EdPoly corresponding to a given Bsp surface.

returns true if poly not available

Public function Static

void

 

polyGetLinkedPolys

(
    ABrush* InBrush,
    FPoly* InPoly,
    TArray< FPoly >* InPolyList
)

Populates a list with all polys that are linked to the specified poly.

Public function Static

void

 

polyGetOuterEdgeList

(
    TArray< FPoly >* InPolyList,
    TArray< FEdge >* InEdgeList
)

Takes a list of polygons and returns a list of the outside edges (edges which are not shared by other polys in the list).

Public function Static

void

 

polySetAndClearPolyFlags

(
    UModel* Model,
    uint32 SetBits,
    uint32 ClearBits,
    bool SelectedOnly,
    bool UpdateMaster
)

Sets and clears all Bsp node flags. Affects all nodes, even ones that don't really exist.

Public function Static

void

 

polySplitOverlappingEdges

(
    TArray< FPoly >* InPolyList,
    TArray< FPoly >* InResult
)

Takes a list of polygons and creates a new list of polys which have no overlapping edges.

Public function Static

void

 

polyUpdateMaster

(
    UModel* Model,
    int32 iSurf,
    bool bUpdateTexCoords,
    bool bOnlyRefreshSurfaceMaterials
)

Update a the master brush EdPoly corresponding to a newly-changed poly to reflect its new properties.