Navigation
API > API/Plugins > API/Plugins/ModelingComponents
UModelingSceneSnappingManager is an implementation of snapping suitable for use in Modeling Tools/Gizmos (and potentially other places).
Currently Supports:
- snap to position/rotation grid
- snap to mesh vertex position
- snap to mesh edge position
Snapping to mesh vertex/edge positions currently works for Volume (BrushComponent), StaticMeshComponent, and DynamicMeshComponent.
Currently the StaticMesh vertex/edge snapping is dependent on the Physics system, and may fail or return nonsense results in some cases, due to the physics complex-collision mesh deviating from the source-model mesh.
| Name | UModelingSceneSnappingManager |
| Type | class |
| Header File | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Snapping/ModelingSceneSnappingManager.h |
| Include Path | #include "Snapping/ModelingSceneSnappingManager.h" |
Syntax
UCLASS (MinimalAPI)
class UModelingSceneSnappingManager : public USceneSnappingManager
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → USceneSnappingManager → UModelingSceneSnappingManager
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BuildSpatialCacheForWorld
(
UWorld* World, |
Explicitly populate the spatial-cache tracking set with specific Actors/Components (alternative to OnActorAdded route) | Snapping/ModelingSceneSnappingManager.h | |
virtual void Initialize
(
TObjectPtr< UInteractiveToolsContext > ToolsContext |
Snapping/ModelingSceneSnappingManager.h | ||
virtual bool IsComponentTypeSupported
(
const UPrimitiveComponent* Component |
API for managing the set of Actors/Components that the snapping system knows about. | Snapping/ModelingSceneSnappingManager.h | |
virtual void OnActorAdded
(
AActor* Actor, |
Enable spatial-cache tracking for the Components of the Actor that pass the PrimitiveFilter | Snapping/ModelingSceneSnappingManager.h | |
virtual void OnActorRemoved
(
AActor* Actor |
Disable spatial-cache tracking for any Components of the Actor | Snapping/ModelingSceneSnappingManager.h | |
virtual void OnComponentAdded
(
UPrimitiveComponent* Component |
Enable spatial-cache tracking for the Component | Snapping/ModelingSceneSnappingManager.h | |
virtual void OnComponentModified
(
UActorComponent* Component |
Notify the internal spatial-cache tracking system that the Component has been modified (ie cache needs to be rebiult) | Snapping/ModelingSceneSnappingManager.h | |
virtual void OnComponentRemoved
(
UPrimitiveComponent* Component |
Disable spatial-cache tracking for the Component | Snapping/ModelingSceneSnappingManager.h | |
virtual void PauseSceneGeometryUpdates() |
APIs for configuring the SceneSnappingManager behavior | Snapping/ModelingSceneSnappingManager.h | |
virtual void Shutdown() |
Snapping/ModelingSceneSnappingManager.h | ||
virtual void UnPauseSceneGeometryUpdates
(
bool bImmediateRebuilds |
Re-enable live updates that were prevented by PauseSceneGeometryUpdates(), and execute any pending updates that were requested while in the pause state. | Snapping/ModelingSceneSnappingManager.h |
Overridden from USceneSnappingManager
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ExecuteSceneHitQuery
(
const FSceneHitQueryRequest& Request, |
USceneSnappingManager API Try to find a Hit Point in the scene that satisfies the HitQuery Request. | Snapping/ModelingSceneSnappingManager.h | |
virtual bool ExecuteSceneSnapQuery
(
const FSceneSnapQueryRequest& Request, |
Try to find Snap Targets in the scene that satisfy the Snap Query. | Snapping/ModelingSceneSnappingManager.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ExecuteSceneSnapQueryPosition
(
const FSceneSnapQueryRequest& Request, |
Snapping/ModelingSceneSnappingManager.h | ||
virtual bool ExecuteSceneSnapQueryRotation
(
const FSceneSnapQueryRequest& Request, |
Snapping/ModelingSceneSnappingManager.h | ||
void HandleDynamicMeshModifiedDelegate
(
UDynamicMeshComponent* Component |
Snapping/ModelingSceneSnappingManager.h | ||
void HandleGlobalComponentTransformChangedDelegate
(
USceneComponent* Component |
Snapping/ModelingSceneSnappingManager.h | ||
void HandleGlobalObjectModifiedDelegate
(
UObject* Object |
Snapping/ModelingSceneSnappingManager.h |