Commit Graph

3 Commits

Author SHA1 Message Date
Mike Fricker
82d7ab588d Mesh Editor extensibility (phase 3)
- Inset Polygon and Bevel Polygon have been migrated to a new module
- Mesh editing actions that require custom logic before starting a drag can now be built in external modules
- Added 'FindEditableMesh' for cases where we are expecting a mesh to be cached already
- Added 'IsMeshElementSelected' and replaced some uses of 'GetSelectedMeshElementIndex'
- Some additional features for MeshEditorMode have been made public to allow for this.  For example, the currently hovered mesh element can now be queried using 'GetHoveredMeshElement'
- Renamed 'TessellatePolygons' to 'TessellatePolygon' for consistency
- A few bug fixes to previous extensibility checkin

#codereview richard.talbotwatkin
#rb none

[CL 3371559 by Mike Fricker in Dev-Geometry branch]
2017-03-30 10:05:26 -04:00
Mike Fricker
1ab0f172bb Mesh Editor extensibility (phase 2)
- Insert Edge Loop feature has been moved to the PolygonModeling module
- Mesh Editor now has support for editing 'modes' that are registered externally, including VR Editor support.  Lots of changes to UMeshEditorCommand and derived classes.
- Removed UndoHelpers; All Mesh Editor undo now goes through FMeshEditMode::TrackUndo().  This is so that we can use the same code path for regular undo as we use for changes that we'll revert during preview
- Cleaned up some code to use helper methods for selecting/deselecting mesh elements
- Removed all kinds of code that was using TTuples for no good reason
- Fixed a few bugs with the previous extensibility checkin

#codereview richard.talbotwatkin
#rb none

[CL 3369982 by Mike Fricker in Dev-Geometry branch]
2017-03-29 13:37:42 -04:00
Mike Fricker
d8edc688cb Mesh Editor extensibility (phase 1)
- This is the first change toward making it easy to add new polygon modeling features in external plugins (or through scripting!)
- Added a new 'PolygonModeling' module to the MeshEditor plugin and moved the TessellatePolygon feature there
- New UMeshEditorPolygonCommand ABC class (and friends) for polygon editing features to inherit from
- MeshEditor now has a very minimal public API
- Experimenting with using multiple protected 'contract interfaces' for FMeshEditorMode to reduce public API size
- Some initial clean-ups to how selection/deselection works (reduce boilerplate.)
- Removed a bad use of 'friend' for FMeshElementViewportTransformable
- Moved a few functions around to either make them publicly accessible or to hide them
- Slate: Added support for registering UICommandInfos without a 'this' pointer

#codereview richard.talbotwatkin
#rb none

[CL 3367605 by Mike Fricker in Dev-Geometry branch]
2017-03-28 11:13:57 -04:00