Navigation
Unreal Engine C++ API Reference > Plugins > ModelingComponents > Snapping
Inheritance Hierarchy
- FBasePositionSnapSolver3
- FPointPlanarSnapSolver
References
Module | ModelingComponents |
Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Snapping/PointPlanarSnapSolver.h |
Include | #include "Snapping/PointPlanarSnapSolver.h" |
Syntax
class FPointPlanarSnapSolver : public UE::Geometry::FBasePositionSnapSolver3
Remarks
FPointPlanarSnapSolver solves for a Point snap location on a plane, based on an input Point and a set of target points and lines in the plane.
This implementation has the notion of a "history" of previous points, from which line and distance constraints can be inferred. This is useful for snapping in 2D polygon drawing.
See FBasePositionSnapSolver3 for details on how to set up the snap problem and get results.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bActiveSnapIsIntersection | |
![]() |
bool | bEnableSnapToKnownLengths | |
![]() |
int | CardinalAxisPriority | |
![]() |
TArray< FSnapTargetLine > | GeneratedLines | |
![]() |
TArray< FSnapTargetPoint > | GeneratedTargets | |
![]() |
TSet< int > | IgnoreTargets | |
![]() |
TArray< FSnapTargetPoint > | IntersectionPoints | |
![]() |
int32 | IntersectionPriorityDelta | How much more important an intersection is than the more important of the intersecting lines. |
![]() |
FLine3d | IntersectionSecondLine | |
![]() |
TArray< const FSnapTargetLine * > | IntersectionSecondLinePointers | |
![]() |
int | KnownLengthPriorityDelta | How much more important a known length is than its line's priority. |
![]() |
int | LastSegmentPriority | |
![]() |
FFrame3d | Plane | Configuration variables |
![]() |
TArray< FVector3d > | PointHistory |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AppendHistoryPoint
(
const FVector3d& Point |
|
![]() |
void | DebugRender
(
IToolsContextRenderAPI* RenderAPI |
Draws the current snap targets (for debugging) |
![]() |
void | ||
![]() |
void | GenerateTargets
(
const FVector3d& PointIn |
|
![]() |
const FLine3d & | When the active snap is an intersection, holds the second intersecting line (the first can be obtained with GetActiveSnapLine()) | |
![]() |
bool | Returns true when the active snap represents an intersection of multiple target lines in the plane. | |
![]() |
void | InsertHistoryPoint
(
const FVector3d& Point, |
|
![]() ![]() |
int | ||
![]() |
int32 | ||
![]() |
void | RegenerateTargetLines
(
bool bCardinalAxes, |
Creates snap lines based on the last point in the point history. |
![]() |
void | RegenerateTargetLinesAround
(
int32 HistoryIndex, |
Sets the snapping lines to be based on the history points adjacent to the point with a given history index. |
![]() |
void | RemoveHistoryPoint
(
int32 Index |
|
![]() |
void | Clears any existing generated snap targets. | |
![]() |
void | UpdatePointHistory
(
const TArray< FVector3d >& Points |
Point history manipulation functions. All of them remove the currently generated snap |
![]() |
void | UpdatePointHistory
(
const TArray< FVector3f >& Points |
|
![]() |
void | UpdateSnappedPoint
(
const FVector3d& PointIn |
Overridden from FBasePositionSnapSolver3
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | Reset () |
Discard the set of snap points and lines and clear the active snap |
Constants
Name | Description |
---|---|
CardinalAxisTargetID | |
IntersectionTargetID | |
LastSegmentTargetID |