Choose your operating system:
Windows
macOS
Linux
| FBasePositionSnapSolver3
|
Module |
|
Header |
/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Snapping/BasePositionSnapSolver3.h |
Include |
#include "Snapping/BasePositionSnapSolver3.h" |
class FBasePositionSnapSolver3
FBasePositionSnapSolver3 is a base class for 3D position snapping implementations. It is not usable on its own and the split between this class and the implementations is not incredibly clean. However there is lots of shared functionality that is placed here.
3D Point and Line targets are supported. Targets can also be "ignored".
The actual snap "solve" must be implemented by subclasses, depending on their input data (ray, point, line, etc)
Name | Description | ||
---|---|---|---|
|
ActiveSnapFromPoint |
||
|
ActiveSnapTarget |
||
|
ActiveSnapToPoint |
||
|
bEnableStableSnap |
If true, then we will prefer to keep current snap point over a new one |
|
|
bHaveActiveSnap |
Information about active snap |
|
|
TSet< int > |
IgnoreTargets |
List of TargetID values to ignore in snap queries |
|
TFunction< doub... |
SnapMetricFunc |
ParametersThis is the function we use to measure distances between snap points. |
|
double |
SnapMetricTolerance |
Tolerance for snapping, in unit relative to SnapMetricFunc |
|
double |
SnappedPointMetric |
|
|
double |
StableSnapImproveThresh |
How much we have to improve the snap metric to discard the current stable snap |
|
TargetCircles |
||
|
TargetLines |
||
|
TargetPoints |
Name | Description | |
---|---|---|
|
FBasePositionSnapSolver3() |
Name | Description | |
---|---|---|
|
~FBasePositionSnapSolver3() |
Name | Description | ||
---|---|---|---|
|
AddCircleTarget ( |
Add a snap target Circle |
|
|
AddIgnoreTarget ( |
Add given TargetID to the ignore list, so any points/lines with that ID will not be snapped-to |
|
|
AddLineTarget ( |
Add a snap target line |
|
|
AddPointTarget ( |
Add a snap target point at the given Position |
|
|
AddPointTarget ( |
Add a snap target point at the given Position |
|
|
ClearActiveSnapData() |
||
|
const FSnapT... |
FindBestSnapInSet ( |
|
|
FindIndexOfBestSnapInSet ( |
Snap measurement functions |
|
|
int |
GetActiveSnapDistanceID() |
|
|
GetActiveSnapFromPoint() |
||
|
const FLine3... |
GetActiveSnapLine() |
|
|
int |
GetActiveSnapTargetID() |
|
|
GetActiveSnapToPoint() |
||
|
HaveActiveSnap() |
Solving output |
|
|
HaveActiveSnapDistance() |
||
|
HaveActiveSnapLine() |
||
|
IsIgnored ( |
||
|
RemoveCircleTargetsByID ( |
Remove any line targets with this TargetID |
|
|
RemoveIgnoreTarget ( |
Add given TargetID from the ignore list |
|
|
RemoveLineTargetsByID ( |
Remove any line targets with this TargetID |
|
|
RemovePointTargetsByID ( |
Remove any point targets with this TargetID |
|
|
Reset() |
Discard the set of snap points and lines and clear the active snap |
|
|
ResetActiveSnap() |
Clear the active snap |
|
|
SetActiveSnapData ( |
||
|
TestSnapTarget ( |
Name |
Description |
|
---|---|---|
|
FCustomMetric |
FCustomMetric overrides/modifies the default should-snap-happen metric |
|
FSnapTargetCircle |
|
|
FSnapTargetLine |
Target line that might be snapped to |
|
FSnapTargetPoint |
Target point that might be snapped to |
Name |
Description |
|
---|---|---|
|
ECustomMetricType |
SetupECustomMetricType defines how a FCustomMetric should be interpreted |
Name |
Description |
---|---|
BaseExternalLineID |
Subclasses may have internal TargetID values, so external lines should have IDs larger than this |
BaseExternalPointID |
Subclasses may have internal TargetID values, so external points should have IDs larger than this |