The Project Tree
The series of folders in the project tree are used to organise objects such as data sets, maps and images into categories. These folders also provide tools that let you import information into the project and generate models. Right-click on each folder to view the actions you can perform using that folder.
This topic provides an introduction to working with the project tree. It is divided into:
- Importing Data
- Data Object Options
- Restricted Objects
- Viewing Relationships Between Objects
- Object Processing
- Organising Objects in the Project Tree
- Object Properties
- Project Tree Keyboard Shortcuts
Leapfrog Works has tools for importing, creating and working with many different types of data, and these tools are available by right-clicking on the different folders in the project tree.
Leapfrog Works is unit-less and adopts the units used in the data you import. For example, if your imported data is in metres, the units displayed will be metres, and figures such as resolution, measured distances and slicer thickness will be in metres. It is important, therefore, to be consistent in the units used in the data you import. If you are importing data that uses different coordinate systems, you will need to pre-process the data so that it is using the same coordinate system.
See the Data Types topic for information on the different types of data that can be imported into Leapfrog Works projects.
You can right-click on data objects within the top-level folders to view more information on that object or carry out actions specific to that object. For example, right-clicking on a table of imported drilling data reveals a menu showing possible actions:
When a bold option appears in the right-click menu, as Open does in the menu above, that option can also be selected by double-clicking on the object.
You can select more than one object in the project tree by holding down the Shift key or the Ctrl key while clicking. This is useful for viewing or deleting multiple objects at once.
The way folders and objects are organised in the project tree lets you reveal or hide information about an object to focus on objects you are currently working with. This is also useful when you are exploring a project and want to determine how something was put together. The arrows next to objects in the project tree let you reveal or hide an object’s details to focus on objects you are currently working with. Here, the Topographies folder is expanded to show a Topography object that is made up of a mesh:
Also note that:
- The mesh itself is stored in the Meshes folder, but is hyperlinked to from wherever it is used in the project.
- Folders that have no arrow have no detail stored.
Expanding a data table () shows the columns in that table contains, including category data columns (), numeric data columns () and query filters (), among others:
Some tables are marked as having errors (), which are discussed in Identifying and Correcting Data Errors in Leapfrog Works.
Expanding a geological model reveals information about how it was built. Here, a geological model has been expanded to show the basic objects that make up a model:
The five objects underneath the geological model “GM” represent the five basic parts of a geological model:
- The Boundary object defines the outer limits of the geological model.
- The Fault System object defines faults and their interactions in the geological model.
- The Lithologies object defines the lithologies in the model.
- The Surface Chronology object defines the structure of the model’s contact surfaces.
- The Output Volumes folder contains the generated units (outputs) that make up the geological model.
Here, boundary objects for a geological model have been expanded to show how they were created:
The Topography object is included as the model’s upper boundary. The “East_boundary” object was created using a polyline from the Polylines folder and the “North_boundary” object was created using a GIS data object in the GIS Data, Maps and Photos folder. Clicking on the hyperlinks will locate the object from which the extent was created.
The project tree may also contain restricted objects:
Restricted objects are objected that were created using features only available in extensions. Restricted objects cannot be viewed, used as the basis for another object or exported. You can, however, delete a restricted object.
Other objects may be restricted because they are dependent on a restricted object. When a restricted object is dependent on an unrestricted object that reprocesses, the changes to the restricted object will not be processed.
If when you open a project you get a message saying that the project contains restricted objects, this is because one or more objects were creating using Leapfrog Works features available in an extension you did not sign in with. Click Show restricted objects to view the affected objects.
If an object you expect to be able to modify is marked as Restricted, check your permissions to ensure that you selected the required extension when you signed in. Do this by clicking on the Seequent ID menu, then on Manage Permissions.
If the extension you expect to see is not listed, click on Select Extensions. This opens the entitlements page in your browser. See Signing In With Seequent ID.
Objects in a project have a View Relationships option that lets you see how the object is used in the project. To see this information, right-click on an object in the project tree and select View Relationships.
In the window that appears, all inputs and outputs to an object are listed. Here, relationships are shown for an imported mesh. There are no inputs, but the mesh has a border edges object that was created when it was imported into the project. The mesh has been used to create a topography object, which has then been used as a boundary in two geological models.
Here, viewing relationships for a fault in a geological model shows us not just the mesh that the fault was created from, but the different parts of the geological model that have been used in building the fault. In the Outputs part of the window, we can see that the fault has been used as an input to the fault system and so also affects the different fault blocks in the model.
Information in the View Relationships window is useful in understanding how models have been built in Leapfrog Works and in understanding the effects on a project should an object be updated or deleted. For example, if you are going to be working on an object and do not wish to have dependent objects reprocessed each time you make a change, you can use the View Relationships window to determine which objects you should freeze until you are finished working on the object. See Controlling Processing for more information on object processing.
Objects that are up-to-date are displayed in the project tree using black text. When an object is being processed, its processing state is indicated in the project tree in either blue or grey text. For example, here the Maia Geological Model is being updated:
The Surface Chronology is currently being processed, and the objects displayed in grey are awaiting processing. The geological model itself is displayed in grey because one or more of its child objects are being processed or are awaiting processing.
The processing queue shows how many tasks are currently being processed:
The button will turn grey when all processing is complete.
Click the button or press Alt + P to view the processing queue:
Objects will be added to the processing queue when you make changes to them via the project tree.
- To pause processing, press Ctrl + P.
- To resume processing, press Ctrl + P again.
You can close a project while it is still running tasks. When you next open the project, the remainder of the tasks in the processing queue will be processed.
When a project contains only a small amount of data, all changes can be processed when they are made without interrupting your work. As a project grows larger and more complex, you may wish to use the different processing controls to determine when changes you make to objects are processed. There are two ways to control when objects are processed:
These tools are described below. Experiment with both of them separately to get an idea of how they work; this will help in determining the approach that best suits your projects as you add more data and models to them.
Objects can be prioritised so that they and their inputs are processed before other objects. To prioritise an object, right-click on it the project tree and click the Prioritise button (). Prioritised objects are marked in the project tree with an arrow:
Prioritising an object is useful when you are editing it and wish to view the effect of changes without reprocessing all objects in the project. For example, you may be modifying a surface that is used for a model boundary. You can prioritise the surface, then run it each time you make changes; the surface and objects it is dependent on will be processed before any other objects are processed.
To limit processing of other objects further, you can set the processing queue so that only prioritised objects are processed. If your project has a lot of objects that are dependent on the object you are working on, this is useful for limiting the amount of time Leapfrog Works dedicates to processing. To restrict processing in this way, click the processing queue button, then click Priority Only:
The processing queue button will change to show that only priority tasks will be run:
When changes are made to the prioritised object, the only objects processed will be those needed to make the prioritised object valid. For example, here the QzP surface has been prioritised. The geological model itself, its surface chronology and its output volumes will not be updated when the prioritised surface is updated:
Objects not needed to validate the prioritised object will remain in the processing queue in Waiting and Queued states:
The number of objects that have been prioritised is indicated by the button at the top of the project tree ():
To view prioritised objects, click the button. All prioritised objects will be selected and displayed in the project tree.
To reset a priority object, right-click on it and click the Clear Priority button ().
Click the processing queue button, then click Run All to resume normal processing.
Objects can also be frozen so that they will not be processed, which is a useful way of working on one object without having all linked objects reprocess upon each change. For example, you may wish to modify a surface in a geological model, in which case you can freeze all objects other than the surface.
You can display frozen objects in the scene, change how they are displayed and export them, but you cannot make changes to the objects themselves.
Some objects become frozen because they are restricted objects created using features only available in extensions. Frozen restricted objects can only be unfrozen if you switch to using the relevant extension.
To freeze an object, right-click on it the project tree and click the Freeze button (). You can also quickly freeze multiple objects by selecting them and then right-clicking on the selection:
Frozen objects are marked in the project tree with a pause button (). Here, some of the contact surfaces and all of the output volumes have been frozen so that work can be done on the QzP surface without processing all other changes to the model:
When a frozen object has unprocessed changes, it will be displayed in the project tree in blue text, which is the case here for the model’s output volumes:
The frozen contact surfaces are still displayed in black because changing the QzP surface does not change those other surfaces. However, all of the output volumes are displayed using blue text because they have unprocessed changes as a result of the changes made to the QzP surface.
The number of objects in a project that have been frozen is indicated by the button at the top of the project tree . To quickly select all frozen objects, click the button. All frozen objects will be selected in the project tree.
The number of objects that have been frozen is indicated by the button at the top of the project tree ():
To view frozen objects, click the button. All frozen objects will be selected and displayed in the project tree.
If processing of an object fails, all other objects dependent on that object will also fail. Open the processing queue to view the errors. To inspect the source of error, right-click on the object in the queue and select Show Error:
The object’s Properties window will be opened with the Errors tab displayed. The information in this tab may be helpful in fixing the error.
Leapfrog Works has a number of tools to help you organise the large numbers of objects in a project. One of these tools is the use of display lines in the project tree to better show relationships:
If you wish to display line in the project tree, open the Settings window from the Leapfrog Works menu. Click on User Interface and enable Show Tree Lines.
When you have a large number of folders open in the project tree, you can close all folders by right-clicking on the top of the project tree and selecting Collapse All:
Hotkeys for opening and closing folders include:
- Ctrl + shift + left arrow collapses all folders.
- Right arrow expands a collapsed folder or object but keeps child objects collapsed.
- Shift + right arrow expands a collapsed folder or object and child objects.
- Left arrow collapses an expanded folder or object but keeps child objects expanded.
- Shift + left arrow collapses an expanded folder or object and child objects.
Hotkeys work with more than one object selected.
In many project tree folders, you can create subfolders that help in organising large numbers of data objects. For example, here colour gradients have been organised into subfolders:
To add a subfolder, right-click on a folder in the project tree and select New Subfolder. Add objects to subfolders by dragging and dropping them. You can also use Cut (Ctrl-X) and Paste (Ctrl-V) shortcuts to move objects and subfolders.
Subfolders can be renamed, moved and deleted, but cannot be moved to other top-level folders.
Subfolders have the same right-click commands as their parent folder, which means you can import or create new data objects inside the subfolder rather than in the parent folder. You can also add comments to folders to aid in keeping data organised:
You can view all objects in the subfolder by dragging the folder into the scene or by right-clicking on the subfolder and selecting View All.
When lists of objects are displayed, the subfolder organisation will be reflected in the list. For example, when creating a mesh from points, the list of points objects that can be used to create a mesh is displayed organised by subfolder:
Subfolders cannot be created in the Borehole Data folder, although they can be created in the Composites and Planned Boreholes folders.
Many objects in the project tree can be copied. Right-click on an object and select Copy. You will be prompted to enter a name for the object’s copy.
The copied object is not linked to the original object. However, if the original object is linked to other objects in the project, the copy will also be linked to those objects.
When an object is created in Leapfrog Works, it is given a default name. It is a good idea to give objects in Leapfrog Works names that will help you distinguish them from other objects, as large projects with complicated models will contain many objects.
To rename an object in the project tree, right-click on the object and select Rename. The Rename Object window will be displayed:
Enter a new name for the object. Click Rename to change the object’s name.
To find objects in the project tree, click the search button at the top of the project tree:
You can also click anywhere in the project tree and type “Ctrl-F”.
In the Find window, enter the information you are searching for, then click Backwards or Forwards to locate the object in the project tree.
Some objects are created as part of working with other objects and are not available elsewhere in the project. An example of this is a polyline drawn as part of creating a model boundary. To share such objects within the project, right-click on the object in the project tree and click Share. The shared object will be copied to the relevant location in the project tree and a hyperlink added to the object it was shared from.
For example, here a polyline created as part of a lateral extent is shared:
The polyline is saved to the Polylines folder and a hyperlink to it appears as part of the model’s boundary. Whenever the polyline is updated, changes will be made wherever it is shared in the project.
You can delete objects from the project by right-clicking on them in the project tree and selecting Delete. A window will be displayed showing how many other objects will be affected by deleting the object. You can click on the link to view a list of objects that will be deleted and those that will be reprocessed:
The Confirm Delete window may also appear when you make changes to objects in the project.
You can also open the View Relationships window from the Confirm Delete window. See Viewing Relationships Between Objects earlier in this topic.
Some of the reprocessed objects will be put into an error state; you will need to correct those errors before the affected object can be used elsewhere in the project. Consider also that reprocessing of a project when objects are deleted can take some time.
It is strongly recommended that you use the View Relationships option to understand how the project will be affected before you start the process of deleting an object. Consider carefully the effects on other objects in the project, as once an object is deleted, it cannot be recovered.
To delete more than one object from the tree, hold down the Shift key or the Ctrl key while selecting objects.
You can view the properties of most objects imported into or created in Leapfrog Works. To do this, right-click on the object in the project tree and select Properties.
The information available in the Properties window depends on the type of object. Tabs may include:
- A Processing tab that shows the current status of the processing (queued to process, processing, finished).
- An Errors tab that displays errors that have occurred while processing the object. See Object Processing.
- A General tab that summarises information about the object. The amount of information in the General tab will vary according to the type of object. For example, for table objects, the General tab shows the table’s data structure.
- A Statistics tab that shows statistics for some types of interpolants.
- A History tab that records information about who created and modified an object and when.
Another aid to documenting work in a project is comments.
You can record comments on many objects in the project tree, including subfolders. This can be helpful when the project contains many objects and when several different people are working on a model. Objects that have comments are indicated in the project tree by a comment balloon (). The comment will be displayed when you right-click on the object:
Tab or click to add a new comment or edit an existing one. You can also add standard information to a comment, such as date and time. If you add a URL to a comment, it will be converted to a clickable link.
You can add information about the project as a whole using the Notes object (), which is the last object in the project tree. Double-click on the Notes object to open it and add information. When viewing projects in the Projects tab, information in a project’s Notes will be displayed when you hold the mouse cursor over the project’s thumbnail:
Keyboard shortcuts for navigating in the project tree are as follows:
|Up and down arrows||Navigate up and down the tree|
|Right arrow||Expand folder/object or go down one level|
|Left arrow||Close folder/object or go up one level|
|Ctrl+shift+left arrow||Close all folders/objects|
|Shift+right arrow||Expand the selected folder/object and any objects in it|
|Shift+left arrow||Close the selected folder/object and any objects in it|
|Ctrl+A and Ctrl+/||Selects all folders and objects|
|Ctrl+F||Search for objects|
|Enter||The equivalent of double-clicking on an object|
|Ctrl-X||Cut an object or subfolder. Use with Ctrl-V to move objects and subfolders.|
|Ctrl-V||Paste an object or subfolder|
Some actions are not available until data has been imported into the project.