## 2 System Description
### Commands  
The panel menu presents a set of icons organized into four groups: commands to create geometry, commands to edit geometry, modeling aids, and commands to manage files, visualization, and settings. The commands available to create geometry in the virtual environment are shown in Table 2. During the execution of any command, surfaces, endpoints, and midpoints are detected automatically on any line or curve in the virtual space. These points can be selected as start or end points for the command. The extrude command allows users to sweep previously drawn lines or curves. The user can click and drag an existing entity or perform the action on the initial or final vertices, generating some of the surface types described at the beginning of Section 2. Additionally, as described in Figure 3, it is possible to sweep surfaces to create volumes. The path followed by the geometry during the sweeping operation follows the trajectory of the dominant hand controller. The commands face, copy, and symmetry are used on a set of pre-selected entities. For the face command, the selected entities must be coplanar and define a closed contour. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Icon** & **Description** & **Icon** & **Description** \\ \hline \hline \multirow{3}{*}{\
\begin{tabular}{c} Shows/hides the lateral \\ walls with the images of the \\ exercises to be performed. \\ \end{tabular} } & \multirow{3}{*}{
\begin{tabular}{c} Shows/hides the help menu, \\ based on video tutorials. \\ \end{tabular} } \\  & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Commands to manage tutorials and lateral walls. Figure 5: User workspace with the panel menu. The commands available to edit the existing geometry in the virtual environment are shown in Table 3. Moving the location of an entity implies that any geometry that the entity belongs to must be modified. In fact, if a vertex changes its location, any line, curve, or surface that connects to that point will readjust automatically to the new location of the vertex. If a line or curve is moved, then any surface that contains the line will readjust to the new location of the line or curve. To facilitate the creation of specific geometric shapes, we implemented a series of modeling aids to the proposed system, as shown in Table 4. The \"plane\" command is used to create work planes. Once a plane is defined, all commands for creating geometry will be executed with respect to this plane. The \"delete plane\" command deletes any previously created plane. The \"force axes\" command can only be activated when there is an existing plane in the scene. The command forces all geometry creation and editing operations to be performed along the main axes that define the plane. Selecting geometry involves clicking on it. Selecting an entity that has previously been selected will deselect it. The \"deselect\" command will clear any selections in the scene. Finally, the undo command erases the last change made to the model, reverting it to an older state. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Icon** & **Description** & **Icon** & **Description** \\ \hline \hline \multirow{4}{*}{\begin{tabular}{c} **Creates horizontal, frontal, or** \\ **profile planes, or planes** \\ **defined by three points.** \\ \end{tabular} } & \multirow{4}{*}{\begin{tabular}{c} **Selects an entity in the** \\ **virtual space.** \\ \end{tabular} } \\  & Deletes an existing work plane in the virtual environment & & Deselects a previously selected entity in the virtual space. \\ \hline \multirow{4}{*}{\
\begin{tabular}{c} **Creates operations along the** \\ **3 axes of the work plane.** \\ \end{tabular} } & \multirow{4}{*}{
\begin{tabular}{c} **Selects an entity in the** \\ **virtual space.** \\ \end{tabular} } \\  & & & \\ \end{tabular}
\end{table} 
Table 4: Modeling aids.