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
| Type | Name | Description | |
|---|---|---|---|
| const UE::Geometry::FColliderMesh * | |||
| UDynamicMesh * | These need to be public for the Transformers...can we do it another way? | ||
| const UE::Geometry::FSegmentTree3 * | |||
| const UE::Geometry::FGroupTopology * | |||
| FGeometryIdentifier | |||
| void | Initialize
(
FGeometryIdentifier SourceGeometryIdentifier, |
Initialize the FBaseDynamicMeshSelector for a given source/target UDynamicMesh. | |
| void | InvalidateOnMeshChange
(
FDynamicMeshChangeInfo ChangeInfo |
||
| void | |||
| void | UpdateAfterGeometryEdit
(
IToolsContextTransactionsAPI* TransactionsAPI, |
UpdateAfterGeometryEdit should be called after editing the UDynamicMesh owned by the Selector (TargetMesh). | |
| void | |||
| void | |||
| void | |||
| void | UpdateSelectionViaRaycast_GroupEdges
(
const FWorldRayQueryInfo& RayInfo, |
||
| void | UpdateSelectionViaRaycast_MeshTopology
(
const FWorldRayQueryInfo& RayInfo, |
Overridden from IGeometrySelector
| Type | Name | Description | |
|---|---|---|---|
| void | AccumulateElementsFromPredicate
(
FGeometrySelectionElements& ElementsInOut, |
Accumulate all geometric elements (currently 3D triangles, line segments, and points) in the provided ElementsInOut by initializing vertex, edge, and face selections using the provided predicate and then accumulating elements for those selections. | |
| void | AccumulateSelectionBounds
(
const FGeometrySelection& Selection, |
Accumulate the bounds of the provided Selection in the provided BoundsInOut. | |
| Please use the function of the same name which takes EEnumerateSelectionMapping flags virtual instea... | AccumulateSelectionElements
(
const FGeometrySelection& Selection, |
Prefer AccumulateSelectionElements with Flags parameter. | |
| void | AccumulateSelectionElements
(
const FGeometrySelection& Selection, |
Prefer AccumulateSelectionElements with Flags parameter. | |
| 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 | GetTargetFrame
(
const FGeometrySelection& Selection, |
Compute a 3D frame for the Selector's target object | |
| 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 () |
Temporarily disable the Selector, with the intention of re-enabling it (via Restore()) in the future. | |
| 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. |