The left side of the main window features the tree panel, where the tree can be found
The purpose of the tree is to provide a simple and global view of the parameters of the current project, as well as an alternative way to modify these parameters.
The following figure shows the tree for a Moncros project:
Example tree of a Moncros project
The tree is composed of nodes, which are laid out in a hierarchical structure. This means that some nodes can have children nodes that represent related project parameters. A node that owns at least one children is called a parent node, and its children can be hidden (also known as collapsing the parent node) or shown (also known by expanding the parent node) by clicking the “-“ (minus) sign to the left of the node to hide its children or the “+” (plus) sign to the left of the node to show its children. Additionally, it is possible to double-click on the node to toggle its state between collapsed and expanded.
Some nodes provide functions that are not visible at first glance, as they may be provided through a contextual menu of the node. Showing the contextual menu for a node is as simple as right-clicking that node. Note that most nodes don’t have a contextual menu.
Regarding to the contents of the tree, there’s a common node that is displayed in every project (module independent): the geometry node. Additionally, every module provides its own set of nodes that represent the parameters of a project from that module. However, the user interface of the tree is the same across all modules and the different ways of editing project parameters is explained in the following subsections.
The geometry tree node is fixed to the top of the tree panel and it’s always present. This node displays all the geometry objects of the current project, as can be seen in the following figure:
Geometry node displaying some existing objects
The objects are grouped regarding to its type (points, curves, surfaces or 3D objects) and, for each object, a name and a more specific type (if available) are shown. It is possible to change the name of an object by selecting it and pressing enter, or by triple-clicking on it. Doing any of these actions will put the node in “editing state”, in which the new name for the object can be written:
Changing the name of an object
When the new name for the object has been entered, the Enter key needs to be pressed in order to exit the editing state and actually assign the new name to the object.
It is easy to see which object a node corresponds to by clicking on it on the tree. This will select the object globally and the user will be able to see the selected object in the geometry panel, as it will be colored in yellow.
Viewing a selected object in the geometry panel
The user can also perform several other operations on the objects of the geometry besides renaming them. For this, they first need to right-click on the node. This action will cause a popup menu to show, giving the user the option to select one of various geometric operations:
Contextual menu showing the different operations that can be performed on an object
Selecting any of these options will call the corresponding command on the selected objects. For a detailed reference about how these operations work, consult the GUI User Guide, Edit Menu section.
For operations that can work with more than one object at a time (like, for example, the copy or move operations), it is possible to select several objects by holding the Ctrl key and clicking on each node. Additionally, it is possible to select a consecutive set of nodes on the tree by selecting the first one and then selecting the last one while holding the Shift key. Selecting a operation on the contextual menu while there are several selected objects will run the operation on all the selected objects.
It is also possible to select one or more objects and change the layer they are on. To do this, call the context menu and put the mouse over the “Move to Layer” option. A list of all the layers will be revealed and the user may click one of them to move the selected objects to that layer.
Contextual menu showing the "Move to Layer" option
Nodes on a hidden layer are grayed-out in the tree, and cannot be selected by clicking in their parent node. For example, in the next figure, if the user clicks on the “Objects (2)” node, only the “box1” object will be selected. This is by design, as it prevents the user from doing operations (accidentally) in objects that are not visible to them. However, if the user clicks on the grayed-out node directly, it will still be selected.
Example of a node on a hidden layer
Finally, it is possible to delete an object or set of objects by selecting them on the tree and pressing the Delete key on the keyboard (as well as selecting the “Delete” option in the contextual menu).
As mentioned in previous sections, each module provides each own tree structure to modify the parameters of a project. However, the ways the user can interact with the tree are very similar across all modules.
The nodes below the geometry node are the nodes that are specific to the project and they usually give the user the option to visualize every parameter of the project in a hierarchical and concise way. Additionally, each parameter can be modified in one of the following ways:
On/off parameters: Some parameters can only be in one of two states: enabled or disabled. These parameters are represented in the tree with a checked or unchecked box, respectively, and its state can be toggled between the two states by clicking on them, or by pressing the Enter key while the node is selected.
Tree node with a checkbox
Numerical parameters: Some other parameters have a numerical (integer or real) domain. In these cases, the parameter can be modified by triple-clicking on the node, or by pressing Enter while the node is selected. This will put the node in “edit state”, where the new value for the parameter can be inserted. Once the new value has been written, the user needs to press Enter to confirm this value. If the input value is not valid for the parameter, a error dialog will be shown.
Tree node that represents a numerical value (view state)
Tree node that represents a numerical value (edit state)
Multiple choice parameters: In some cases, the possible values for a parameter belong to a small set of values. To modify these values from the tree, the user can triple-click on a node to display a dropdown menu with every possible value for the parameter, and they can select one of these values to assign it.
Alternatively, the user can press the Enter key while the node is selected to put the node in “editing mode” and press the up and down arrow keys to switch between the possible values. Once the value is selected, the user can press the Enter key to confirm the selection.
Editing tree node with a predefined set of values
Drag and drop: In some cases, it is possible to drag a node from the tree and dropping it over another node to carry out an action. Examples of this feature include material assignation to surfaces and 3D objects (in which the user has to drag a material node and drop it over a geometry object), material assignation to a ground plane in the Moncros module, or even adding Doppler and Creeping to objects in the PO and GTD modules, respectively. The different uses for this feature will be explained in the following section, “Drag and drop“.
These types of nodes are usually the leaf nodes of the tree. In addition to this, there can be grayed out nodes in the tree that represent groups of configuration parameters that are not available at the moment due to diverse reasons (for example, because these parameters wouldn’t apply to the currently selected simulation type, or because the functionality is not enabled):
Example of a disabled tree node
Usually, double-clicking these nodes will show a message dialog describing the reasons of why the node is disabled and, if possible, asking the user if they want to enable the functionality associated with the node:
Dialog window asking the user to activate the functionality
If the user answers affirmatively to this question, the functionality will be enabled. In consequence, the tree node will be activated and it will show the corresponding configuration options:
Example of an enabled node
Some tasks can be simplified using the “Drag and Drop” feature of the tree. This feature allows the user to perform certain actions by clicking and dragging a node of the tree into another node of the tree.
The uses of this feature are detailed below:
Material assignation to a surface or object
In every module (except the Chaff module), it is possible to assign a material to a surface or 3D object by just clicking and dragging a material node into a geometry node in the tree.
Drag and drop process of assigning a material to an object
Doing this will assign a layer to the object with a default thickness. If the user wants to further configure the layers of an object, they need to use the “Assign” menu option of the “Materials” menu, available in most modules.
Material assignation to a ground plane layer
In the PO and Moncros modules, it is possible to assign a material to a ground plane defined by geometry. To do this, the user needs to drag a material node and drop it into the node that represents the ground plane layer. The user can modify the thickness of each layer from the tree.
Drag and drop process of assigning a material to a ground plane layer
Creation of observation points from a curve or surface
In the Moncros, GTD and MOM modules, the user is able to extract points from a curve or surface to create a set of observation points used for the analysis of the near field. To do this using the tree, the user needs to drag a curve or surface node into the “Observation points” node. Doing this will show a dialog prompting the user to specify the number of points that will be sampled from the selected curve or surface.
Please, note that:
- In order to be able to add a set of observation points in Moncros, bistatic RCS needs to be enabled.
- To add a surface of observation points, it is possible that the user needs to explode the object that represents the surface, so that it appears in the “Surfaces” folder of the tree.
Drag and drop process of adding a set of observation points from a curve
If the user drags a curve node into the “Observation points” node, the following dialog will appear:
Dialog asking the user how many point samples to extract from the curve
In the other hand, the following dialog will appear if the user does the same with a surface node. In this case, it is necessary to specify the number of points to sample in each direction of the parametric surface.
Dialog asking the user how many point samples to extract from the surface, for each parametric direction
When the user presses the “OK” button, the observation points will be added.
Duplicate normals of an object in the PO module
In the PO module, the user can duplicate the normals of an individual surface or all the surfaces of an object by clicking and dragging the object or surface and dropping it in the “Duplicated normals” node.
Drag and drop process of adding a set of observation points from a curve
The list of objects and surfaces with duplicated normals can be found under the “Duplicated normals” node.
Tree node that shows the list of objects with duplicated normals
In order to cancel the normals duplication of a surface or object, the user needs to right-click the corresponding node and select the “Don’t duplicate normals” option of the popup menu.
Set creeping to an object or surface
In the GTD module, it is possible to add creeping behaviour to an object or surface by just clicking and dragging a object node and dropping it into the “Creeping objects” node. Please nota that the “Creeping” simulation option must be enabled before doing this.
Drag and drop process of adding creeping to an object
The children nodes of the “Creeping objects” node represent the objects that have creeping enabled at the moment. To remove creeping from any of these objects, the user needs to right-click the node and select the “Remove Creeping” option.
Tree node that shows the list of objects with creeping
Set Doppler parameters to an object
In the PO and GTD modules, the user is able to add doppler parameters to an object. This task can also be done with drag and drop by clicking and dragging the object node and dropping it into the “Doppler” node.
Drag and drop process of adding doppler to an object
The children nodes of the “Doppler” node will represent all the objects with doppler in the current project. This node will also allow the user to modify the doppler parameters for each object (i.e: the translation parameters and the rotation parameters, as well as the global parameter “frequency bin”).
Tree node that shows the list of objects with doppler
To delete doppler of an object, the user needs to right-click the corresponding child node of the “Doppler” node and select the “Delete doppler” option from the contextual menu.