Navigation
API > API/Plugins > API/Plugins/ModelingComponents > API/Plugins/ModelingComponents/Selection
Inheritance Hierarchy
- IGeometrySelector
- FBaseDynamicMeshSelector
- FDynamicMeshSelector
- FStaticMeshSelector
- FVolumeSelector
References
| Module | ModelingComponents |
| Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Selection/DynamicMeshSelector.h |
| Include | #include "Selection/DynamicMeshSelector.h" |
Syntax
class FBaseDynamicMeshSelector : public IGeometrySelector
Remarks
FBaseDynamicMeshSelector is an implementation of IGeometrySelector for a UDynamicMesh. Note that the Selector itself does not require that the target object be a UDynamicMeshComponent, and subclasses of FBaseDynamicMeshSelector are used for both Volumes and StaticMeshComponents. Access to the World transform is provided by a TUniqueFunction set up in the Factory.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TPimplPtr< UE::Geometry::FColliderMesh > | ColliderMesh | FColliderMesh is used to store a hit-testable AABBTree independent of the UDynamicMesh | |
| TUniqueFunction< UE::Geometry::FTransformSRT3d()> | GetWorldTransformFunc | ||
| TPimplPtr< UE::Geometry::FSegmentTree3 > | GroupEdgeSegmentTree | GroupEdgeSegmentTree stores a hit-testable AABBTree for the polygroup edges (depends on GroupTopology) | |
| TPimplPtr< UE::Geometry::FGroupTopology > | GroupTopology | GroupTopology will be built on-demand if polygroup selection queries are made | |
| TWeakObjectPtr< UDynamicMesh > | SleepingTargetMesh | Support for sleep/restore | |
| FGeometryIdentifier | SourceGeometryIdentifier | ||
| TWeakObjectPtr< UDynamicMesh > | TargetMesh | ||
| FDelegateHandle | TargetMesh_OnMeshChangedHandle |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
Overridden from IGeometrySelector
| Type | Name | Description | |
|---|---|---|---|
| void | AccumulateSelectionBounds
(
const FGeometrySelection& Selection, |
Accumulate the bounds of the provided Selection in the provided BoundsInOut. | |
| void | AccumulateSelectionElements
(
const FGeometrySelection& Selection, |
Accumulate geometric elements (currently 3D triangles, line segments, and points) for the provided Selection in the provided ElementsInOut. | |
| FGeometryIdentifier | |||
| FTransform | |||
| void | GetSelectionFrame
(
const FGeometrySelection& Selection, |
Compute a 3D frame for the provided Selection. | |
| void | GetSelectionPreviewForRaycast
(
const FWorldRayQueryInfo& RayInfo, |
Query the Selector for a potential selection based on world-space Ray. | |
| void | InitializeSelectionFromPredicate
(
FGeometrySelection& SelectionInOut, |
Populate a Selection using the provided ReferenceMode, with a Predicate and optional ReferenceSelection. | |
| bool | RayHitTest
(
const FWorldRayQueryInfo& RayInfo, |
Check for intersection between a world-space Ray with the Selector's target object and return a FInputRayHit result. | |
| bool | Restore () |
Restore a Selector that has had Sleep() called on it. | |
| void | Shutdown () |
IGeometrySelector API implementation | |
| bool | Sleep () |
The SelectionManager will call SupportsSleep() to determine if an IGeometrySelector needs to be destroyed when the target object is deselected, or if it can be re-used (generally more efficient) | |
| bool | The SelectionManager will call SupportsSleep() to determine if an IGeometrySelector needs to be destroyed when the target object is deselected, or if it can be re-used (generally more efficient) | ||
| void | UpdateSelectionFromSelection
(
const FGeometrySelection& FromSelection, |
Combine FromSelection with the current Selection owned/referenced by the Selector, using the provided SelectionEditor and UpdateConfig. | |
| void | UpdateSelectionViaRaycast
(
const FWorldRayQueryInfo& RayInfo, |
Update the active selection based on a world-space Ray. | |
| void | UpdateSelectionViaShape
(
const FWorldShapeQueryInfo& ShapeInfo, |
Update the active selection based on a world-space Shape. |