bFilterBSP
bFilterBSP
#Overview
name: bFilterBSP
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 6
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bFilterBSP is to control whether BSP (Binary Space Partitioning) geometry is included in the foliage painting process within Unreal Engine’s Foliage Edit mode.
This setting variable is primarily used by the Foliage Edit module, which is part of the Unreal Engine’s editor subsystem. It’s specifically related to the foliage painting and editing functionality.
The value of this variable is set and retrieved in several ways:
- It’s loaded from and saved to the project’s editor configuration file (GEditorPerProjectIni) using GConfig->GetBool and GConfig->SetBool functions.
- It can be accessed and modified through getter and setter methods (GetFilterBSP and SetFilterBSP) in the FFoliageUISettings struct.
- It’s initialized to true in the FFoliageUISettings constructor.
This variable interacts with other similar filtering variables like bFilterLandscape, bFilterStaticMesh, bFilterFoliage, and bFilterTranslucent. Together, these variables determine which types of geometry are included in foliage painting operations.
Developers should be aware that:
- This variable affects the performance and behavior of foliage painting operations.
- Changing this variable will impact which surfaces in the level can receive foliage.
- The setting is saved per-project, so it will persist between editor sessions.
Best practices when using this variable include:
- Consider the performance implications of enabling or disabling BSP filtering, especially in large levels.
- Use it in conjunction with other filtering options to achieve the desired foliage painting behavior.
- Be consistent in its usage across a project to maintain a uniform foliage distribution approach.
- Document any specific settings or changes made to this variable for team communication and future reference.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:770, section: [FoliageEdit]
- INI Section:
FoliageEdit
- Raw value:
True
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.cpp:4082
Scope (from outer to inner):
file
function void FFoliageUISettings::Load
Source code excerpt:
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterLandscape"), bFilterLandscape, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterStaticMesh"), bFilterStaticMesh, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterBSP"), bFilterBSP, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterFoliage"), bFilterFoliage, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterTranslucent"), bFilterTranslucent, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemDetails"), bShowPaletteItemDetails, GEditorPerProjectIni);
GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemTooltips"), bShowPaletteItemTooltips, GEditorPerProjectIni);
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.cpp:4114
Scope (from outer to inner):
file
function void FFoliageUISettings::Save
Source code excerpt:
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterLandscape"), bFilterLandscape, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterStaticMesh"), bFilterStaticMesh, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterBSP"), bFilterBSP, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterFoliage"), bFilterFoliage, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterTranslucent"), bFilterTranslucent, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemDetails"), bShowPaletteItemDetails, GEditorPerProjectIni);
GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemTooltips"), bShowPaletteItemTooltips, GEditorPerProjectIni);
GConfig->SetInt(TEXT("FoliageEdit"), TEXT("ActivePaletteViewMode"), ActivePaletteViewMode, GEditorPerProjectIni);
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:106
Scope (from outer to inner):
file
function bool GetFilterBSP
Source code excerpt:
bool GetFilterStaticMesh() const { return bFilterStaticMesh ? true : false; }
void SetFilterStaticMesh(bool InbFilterStaticMesh) { bFilterStaticMesh = InbFilterStaticMesh; }
bool GetFilterBSP() const { return bFilterBSP ? true : false; }
void SetFilterBSP(bool InbFilterBSP) { bFilterBSP = InbFilterBSP; }
bool GetFilterFoliage() const { return bFilterFoliage; }
void SetFilterFoliage(bool InbFilterFoliage) { bFilterFoliage = InbFilterFoliage; }
bool GetFilterTranslucent() const { return bFilterTranslucent; }
void SetFilterTranslucent(bool InbFilterTranslucent) { bFilterTranslucent = InbFilterTranslucent; }
bool IsInAnySingleInstantiationMode() const { return GetIsInSingleInstantiationMode() || GetIsInQuickSingleInstantiationMode(); }
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:170
Scope (from outer to inner):
file
function FFoliageUISettings
Source code excerpt:
, bFilterLandscape(true)
, bFilterStaticMesh(true)
, bFilterBSP(true)
, bFilterFoliage(false)
, bFilterTranslucent(false)
{
}
~FFoliageUISettings()
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:213
Scope: file
Source code excerpt:
bool bFilterLandscape;
bool bFilterStaticMesh;
bool bFilterBSP;
bool bFilterFoliage;
bool bFilterTranslucent;
};
struct FFoliageMeshUIInfo
#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:286
Scope (from outer to inner):
file
function FFoliagePaintingGeometryFilter
Source code excerpt:
: bAllowLandscape(InUISettings.bFilterLandscape)
, bAllowStaticMesh(InUISettings.bFilterStaticMesh)
, bAllowBSP(InUISettings.bFilterBSP)
, bAllowFoliage(InUISettings.bFilterFoliage)
, bAllowTranslucent(InUISettings.bFilterTranslucent)
{
}
FFoliagePaintingGeometryFilter()