For this project, we are going to create several types of the 3D user interface elements commonly used in AR applications, defined as follows:
- Action buttons- Click to trigger one action. This implementation uses an action-command design pattern.
- Manipulation tools - Click and hold to edit an object. This implementation uses an update sequencing design pattern.
- Modal menus - Click to open an option selection menu; click the item in the menu to select it. This implementation uses a modal design pattern.
Each type of UI element is used for different UI activities. We will provide examples of each. For instance, Delete is a button tool, Resize is a manipulation tool, and Choose Image is a modal menu.
And as we will see, each UI element type is implemented with a different software design pattern. The button tool uses an action-command design pattern where clicking (and releasing) once on the button issues a single action; a manipulation tool, such as an object handle seen in many graphical editors, is a click-and-drag action, which is implemented using an update sequencing design pattern. Modal menus-implemented using a modal design pattern, where you click a button to open a separate menu-perform one or more actions within that modal menu, closing when the user is done.