Skip to content

Commit

Permalink
Documentation updates. Adding some developer centric docs (#4807)
Browse files Browse the repository at this point in the history
* Renamed How to build file so the Wiki link works

* Some documentation updates.

* added clarifications and updates
  • Loading branch information
vipulrajan authored Jun 28, 2024
1 parent edf2aeb commit 31df3f0
Show file tree
Hide file tree
Showing 11 changed files with 76 additions and 3 deletions.
7 changes: 4 additions & 3 deletions doc/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Welcome to the OrcaSlicer WIKI!

We have divided it roughly into the following pages:

* [Calibration](wiki/Calibration)
* [Print settings](wiki/Print-settings)
* [How to build Orca Slicer](wiki/How-to-build)
- [Calibration](./Calibration)
- [Print settings](./Print-settings)
- [How to build Orca Slicer](./How-to-build)
- [Developer Reference](./developer-reference/Home)
File renamed without changes.
6 changes: 6 additions & 0 deletions doc/developer-reference/Home.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# For Developers

This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless.

- [Preset, PresetBundle and PresetCollection](./Preset-and-bundle)
- [Plater, Sidebar, Tab, ComboBox](./plater-sidebar-tab-combobox)
43 changes: 43 additions & 0 deletions doc/developer-reference/Preset-and-bundle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
This page deals with the explanation for 3 classes in the code.

## [`Preset`](../../src/libslic3r/Preset.hpp)

As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements

#### Note: There is a lot of outdated and legacy code in the code base.

- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.

<img src="../images/process-preset.png" alt="Example Image" width="320">

- `TYPE_FILAMENT`: As the name suggests this preset is for filaments

<img src="../images/filament-preset.png" alt="Example Image" width="320">

- `TYPE_PRINTER`: Preset for printers.

<img src="../images/printer-preset.png" alt="Example Image" width="320">

There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.

## [`PresetBundle`](../../src/libslic3r/PresetBundle.hpp)

This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).

`PresetCollection prints`\
`PresetCollection filaments`\
`PrinterPresetCollection printers`

each one of these contains a collection of processes, filaments and printers respectively.\

#### Note: Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.

## [`PresetCollection`](../../src/libslic3r/Preset.hpp)

`PrinterPresetCollection` is a class derived from `PresetCollection`.

These contain a collection of presets. The presets could be of any type.\
functions of note here are:

`get_edited_preset()`: returns the current selected preset along with any modifications the user has made.\
`get_selected_preset()`: returns the current selected preset without the modifications the user has made.
23 changes: 23 additions & 0 deletions doc/developer-reference/plater-sidebar-tab-combobox.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
### !! incomplete, possibly inaccurate, being updated with new info !!

## [`Plater`](../../src/slic3r/GUI/Plater.hpp)

Refers to the entire application. The whole view, file loading, project saving and loading is all managed by this class. This class contains members for the model viewer, the sidebar, gcode viewer and everything else.

## [`Sidebar`](../../src/slic3r/GUI/Plater.hpp)

This is relating the the sidebar in the application window

<img src="../images/full-sidebar.png" alt="Example Image" width="320">

## [`ComboBox`](../../src/slic3r/GUI/Widgets/ComboBox.hpp)

The drop down menus where you can see and select presets

<img src="../images/combobox.png" alt="Example Image" width="320">

## [`Tab`](../../src/slic3r/GUI/Tab.hpp)

Refers to the various windows with settings. e.g. the Popup to edit printer or filament preset. Also the section to edit process preset and the object list. These 4 are managed by `TabPrinter`, `TabFilament`, `TabPrint` and `TabPrintModel` respectively.

<img src="../images/tab-popup.png" alt="Example Image" width="320">
Binary file added doc/images/combobox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/filament-preset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/full-sidebar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/printer-preset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/process-preset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/tab-popup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 31df3f0

Please sign in to comment.