Document structure

From LabRPS Documentation
Revision as of 19:02, 25 October 2024 by LabRPS (talk | contribs) (Created page with " {{Docnav |Getting started |Property editor }} {{TOCright}} left A LabRPS document contains all the objects of your scene. It can contain groups, and objects made with any workbench. You can therefore switch between workbenches, and still work on the same document. The document is what gets saved to disk when you save your work. You can also open several documents at the same time in LabRPS, and...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Screenshot treeview.jpg

A LabRPS document contains all the objects of your scene. It can contain groups, and objects made with any workbench. You can therefore switch between workbenches, and still work on the same document. The document is what gets saved to disk when you save your work. You can also open several documents at the same time in LabRPS, and open several views of the same document.

Inside the document, the objects can be moved into groups, and have a unique name. Managing groups, objects and object names is done mainly from the Tree view. Note: It can also be done, of course, like everything in LabRPS, from the Python interpreter. In the Tree view, you can create Std Group.svg groups, move objects to groups, delete objects or groups, by right-clicking in the tree view or on an object, rename objects by double-clicking on their names, or possibly other operations, depending on the current workbench.

The objects inside a LabRPS document can be of different types. Each workbench can create its own types of objects.

If there is at least one document open in LabRPS, there is always one and only one active document. That's the document that appears in the current Dependency graph view, the document you are currently working on.

Application and User Interface

Like almost everything else in LabRPS, the graphical user interface part (GUI) is separated from the base application part (App). This is also valid for documents. The documents are also made of two parts: the Application document, which contains our objects, and the View document, which contains the representation on screen of our objects.

Think of it as two spaces, where the objects are defined. Their constructive parameters are stored in the Application document, while their graphical representation are stored in the View document. Why is that? Because LabRPS can also be used without graphical interface, for example, inside other programs, and we must still be able to manipulate our objects, even if nothing is drawn on the screen.

Scripting

Documents can be easily created, accessed and modified from the Python interpreter. For example:

LabRPS.ActiveDocument

Will return the current (active) document

LabRPS.ActiveDocument.Sim

Would access an object called "Sim" inside your document

LabRPSGui.ActiveDocument

Will return the view document associated to the current document

LabRPSGui.ActiveDocument.Sim

Would access the graphical representation (view) part of our Sim object

LabRPSGui.ActiveDocument.ActiveView

Will return the current view