Navigation
API > API/Plugins > API/Plugins/ModelingComponents > API/Plugins/ModelingComponents/Selection
Inheritance Hierarchy
- FMeshTopologySelector
- FBoundarySelector
- FGroupTopologySelector
References
| Module | ModelingComponents |
| Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Selection/MeshTopologySelector.h |
| Include | #include "Selection/MeshTopologySelector.h" |
Syntax
class FMeshTopologySelector
Remarks
FMeshTopologySelector implements selection behavior for a subset of mesh elements. Topological Groups, Edges, and Corners can be selected depending on the subclass of FTopologyProvider used.
Internally a FGeometrySet3 is constructed to support ray-hit testing against the edges and corners.
Note that to hit-test against the mesh you have to provide a your own FDynamicMeshAABBTree3. You do this by providing a callback via SetSpatialSource(). The reason for this is that (1) owners of an FMeshTopologySelector likely already have a BVTree and (2) if the use case is deformation, we need to make sure the owner has recomputed the BVTree before we call functions on it. The callback you provide should do that!
DrawSelection() can be used to visualize a selection via line/circle drawing.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bGeometryInitialized | ||
| bool | bGeometryUpToDate | ||
| FGeometrySet3 | GeometrySet | ||
| TFunction< FDynamicMeshAABBTree3 *(void)> | GetSpatial | ||
| const FDynamicMesh3 * | Mesh | ||
| TFunction< bool(const FVector3d &, const FVector3d &, double ToleranceScale)> | PointsWithinToleranceTest | This is the function we use to determine if a point on a corner/edge is close enough to the hit-test ray to treat as a "hit". | |
| TUniquePtr< FTopologyProvider > | TopologyProvider | ||
| float | VisualAngleSnapThreshold | Internal rendering parameters |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | DoCornerBasedSelection
(
const FSelectionSettings& Settings, |
||
| bool | DoEdgeBasedSelection
(
const FSelectionSettings& Settings, |
||
| void | DrawSelection
(
const FGroupTopologySelection& Selection, |
Render the given selection with the default settings of the FToolDataVisualizer. | |
| bool | FindSelectedElement
(
const FSelectionSettings& Settings, |
Given a camera rectangle (from a marquee selection) gives the corners/edges/groups that are contained in the rectangle. | |
| bool | FindSelectedElement
(
const FSelectionSettings& Settings, |
Find which element was selected for a given ray. | |
| const FGeometrySet3 & | |||
| const FTopologyProvider * | |||
| void | Invalidate
(
bool bTopologyDeformed, |
Notify the Selector that the mesh has changed. | |
| void | SetSpatialSource
(
TFunction< FDynamicMeshAABBTree3*(void)> GetSpatialFunc |
Provide a function that will return an AABBTree for the Mesh. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FSelectionSettings | Configuration variables Determines the behavior of a FindSelectedElement() call. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| ECornerDrawStyle |