UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSceneSnapQueryRequest Struct Reference

#include <SceneSnappingManager.h>

Public Member Functions

INTERACTIVETOOLSFRAMEWORK_API EToolContextCoordinateSystem GetResultCoordinateSpace () const
 

Public Attributes

EToolContextCoordinateSystem RequestCoordinateSpace
 
TOptional< EToolContextCoordinateSystemResultCoordinateSpace
 
ESceneSnapQueryType RequestType = ESceneSnapQueryType::Position
 
ESceneSnapQueryTargetType TargetTypes = ESceneSnapQueryTargetType::Grid
 
TSet< FNameCustomTargetTypes
 
TOptional< FVectorGridSize {}
 
TOptional< FRotatorRotGridSize {}
 
TOptional< FVectorScaleGridSize {}
 
FVector Position = FVector::ZeroVector
 
float VisualAngleThresholdDegrees = 15.0
 
FQuat DeltaRotation = FQuat(EForceInit::ForceInitToZero)
 
double RotationAngle = 0.0
 
EAxisList::Type AxisList
 
FVector Scale = FVector::OneVector
 
const TArray< const UPrimitiveComponent * > * ComponentsToIgnore = nullptr
 
const TArray< const UPrimitiveComponent * > * InvisibleComponentsToInclude = nullptr
 

Detailed Description

Configuration variables for a USceneSnappingManager snap query request.

Member Function Documentation

◆ GetResultCoordinateSpace()

EToolContextCoordinateSystem FSceneSnapQueryRequest::GetResultCoordinateSpace ( ) const
Returns
The ResultCoordinateSpace if set, otherwise the RequestCoordinateSpace

Member Data Documentation

◆ AxisList

EAxisList::Type FSceneSnapQueryRequest::AxisList

Snap input axis constraints, defaults to all (unconstrained)

◆ ComponentsToIgnore

const TArray<const UPrimitiveComponent*>* FSceneSnapQueryRequest::ComponentsToIgnore = nullptr

Optional: components to consider invisible even if they aren't.

◆ CustomTargetTypes

TSet<FName> FSceneSnapQueryRequest::CustomTargetTypes

The name of the custom TargetTypes, if applicable.

◆ DeltaRotation

FQuat FSceneSnapQueryRequest::DeltaRotation = FQuat(EForceInit::ForceInitToZero)

Snap input rotation delta

◆ GridSize

TOptional<FVector> FSceneSnapQueryRequest::GridSize {}

Optional explicitly specified position grid

◆ InvisibleComponentsToInclude

const TArray<const UPrimitiveComponent*>* FSceneSnapQueryRequest::InvisibleComponentsToInclude = nullptr

Optional: components to consider visible even if they aren't.

◆ Position

FVector FSceneSnapQueryRequest::Position = FVector::ZeroVector

Snap input position

◆ RequestCoordinateSpace

EToolContextCoordinateSystem FSceneSnapQueryRequest::RequestCoordinateSpace

Coordinate space of the request data

◆ RequestType

ESceneSnapQueryType FSceneSnapQueryRequest::RequestType = ESceneSnapQueryType::Position

What type of snap query geometry is this

◆ ResultCoordinateSpace

TOptional<EToolContextCoordinateSystem> FSceneSnapQueryRequest::ResultCoordinateSpace

Optionally specify the desired result coordinate space, which can prevent unnecessary transforms. Defaults to the requested RequestCoordinateSpace

◆ RotationAngle

double FSceneSnapQueryRequest::RotationAngle = 0.0

Snap input rotation angle

◆ RotGridSize

TOptional<FRotator> FSceneSnapQueryRequest::RotGridSize {}

Optional explicitly specified rotation grid

◆ Scale

FVector FSceneSnapQueryRequest::Scale = FVector::OneVector

Snap input scale

◆ ScaleGridSize

TOptional<FVector> FSceneSnapQueryRequest::ScaleGridSize {}

Optional explicitly specified scale grid

◆ TargetTypes

ESceneSnapQueryTargetType FSceneSnapQueryRequest::TargetTypes = ESceneSnapQueryTargetType::Grid

What does caller want to try to snap to

◆ VisualAngleThresholdDegrees

float FSceneSnapQueryRequest::VisualAngleThresholdDegrees = 15.0

When considering if one point is close enough to another point for snapping purposes, they must deviate less than this number of degrees (in visual angle) to be considered an acceptable snap position.


The documentation for this struct was generated from the following files: