diff --git a/2025R1_SP1/speos_rpc-25-r1-sp1/README.md b/2025R1_SP1/speos_rpc-25-r1-sp1/README.md index cfce60dd1e..bf7326daaf 100644 --- a/2025R1_SP1/speos_rpc-25-r1-sp1/README.md +++ b/2025R1_SP1/speos_rpc-25-r1-sp1/README.md @@ -26,16 +26,8 @@ The schema shows different ways to use Speos capabilities: - via CADs / Labs / Viewers GUIs - via SpeosRPC Server APIs -```mermaid -flowchart LR -SpeosSolver["Speos Solver"] -SpeosRPCServer["SpeosRPC Server"] -StandardUsers["CADs / Labs / Viewers"] -StandardUsers --> |uses|SpeosSolver -SpeosRPCServer --> |uses|SpeosSolver -User --> |calls APIs from|SpeosRPCServer -User --> |uses UI|StandardUsers -``` +![Alt text](flowchart.svg?raw=true "Title") + ### Speos Solver The Speos Solver represents the intelligence that is used to handle the light simulation. @@ -219,196 +211,7 @@ The Scene is the main Speos feature. It is a way to gather all features that are needed to have an optical scene. Just below can be found the SpeosRPC data preparation big picture: -```mermaid -classDiagram - -class SensorTemplatesManager { - +Create - +Read - +Update - +Delete - +List -} - -class SensorTemplate { - string name - string description - map~string, string~ metadata - OneOf~CameraSensorTemplate, IrradianceSensorTemplate, ...~ sensor_template -} - -class SensorInstance { - string name - string description - map~string, string~ metadata - string sensor_guid - SensorTemplate guid coming from manager - OneOf~CameraSensorProperties, IrradianceSensorProperties, ...~ properties -} - -SensorTemplate --* SensorTemplatesManager : compose -SensorTemplatesManager .. SensorInstance : guid - - -class SourceTemplatesManager { - +Create - +Read - +Update - +Delete - +List -} - -class SourceTemplate { - string name - string description - map~string, string~ metadata - OneOf~Luminaire, Surface, ...~ source -} - -class SourceInstance { - string name - string description - map~string, string~ metadata - string source_guid - SourceTemplate guid coming from manager - OneOf~LuminaireProperties, SurfaceProperties, ...~ properties -} - -SourceTemplate --* SourceTemplatesManager : compose -SourceTemplatesManager .. SourceInstance : guid - -class VOPTemplatesManager { - +Create - +Read - +Update - +Delete - +List -} - -class VOPTemplate { - string name - string description - map~string, string~ metadata - OneOf~Opaque, Optic, ...~ type -} - -class SOPTemplatesManager { - +Create - +Read - +Update - +Delete - +List -} - -class SOPTemplate { - string name - string description - map~string, string~ metadata - OneOf~Mirror, OpticalPolished, ...~ type -} - -class MaterialInstance { - string name - string description - map~string, string~ metadata - string vop_guid - VOPTemplate guid coming from manager - Vector~string~ sop_guids - SOPTemplate guids coming from manager - GeoPaths geometries -} - -VOPTemplate --* VOPTemplatesManager : compose -SOPTemplate --* SOPTemplatesManager : compose -VOPTemplatesManager .. MaterialInstance : guid -SOPTemplatesManager .. MaterialInstance : guid - -class SimulationTemplatesManager { - +Create - +Read - +Update - +Delete - +List -} - -class SimulationTemplate { - string name - string description - map~string, string~ metadata - OneOf~DirectMCSimulationTemplate, InverseMCSimulationTemplate, ...~ simulation_template -} - -class SimulationInstance { - string name - string description - map~string, string~ metadata - string simulation_guid - SimulationTemplate guid coming from manager - Vector~string~ sensor_paths - Vector~string~ source_paths -} - -SimulationTemplate --* SimulationTemplatesManager : compose -SimulationTemplatesManager .. SimulationInstance : guid - -class PartsManager { - +Create - +Read - +Update - +Delete - +List -} - -class Part { - string name - string description - map~string, string~ metadata - Vector~string~ body_guids - Vector~PartInstance~ parts - sub parts -} - -Part --* PartsManager : compose -PartsManager .. Scene : guid - -class ScenesManager { - +Create - +Read - +Update - +Delete - +List -} - -class Scene { - string part_guid - Part guid coming from manager - Vector~MaterialInstance~ materials - Vector~SensorInstance~ sensors - Vector~SourceInstance~ sources - Vector~SimulationInstance~ simulations -} - -Scene --* ScenesManager : compose -SensorInstance --* Scene : compose -SourceInstance --* Scene : compose -SimulationInstance --* Scene : compose -MaterialInstance --* Scene : compose - - -class JobsManager { - +Create - +Read - +Update - +Delete - +List -} - -class Job { - string name - string description - map~string, string~ metadata - string scene_guid - Scene guid coming from manager - string simulation_path - Simulation path in the scene - Type job_type - CPU, GPU - OneOf~DirectMCSimulationProperties, InverseMCSimulationProperties, ...~ simu_properties -} - -Job --* JobsManager : compose -ScenesManager .. Job : guid -``` +![Alt text](classDiagram.svg?raw=true "Title") ### Job The job feature appears in the graph just above. diff --git a/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.png b/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.png new file mode 100644 index 0000000000..9ee406392f Binary files /dev/null and b/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.png differ diff --git a/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.svg b/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.svg new file mode 100644 index 0000000000..524a5dfe1d --- /dev/null +++ b/2025R1_SP1/speos_rpc-25-r1-sp1/classDiagram.svg @@ -0,0 +1,3 @@ + + +

compose

guid

compose

guid

compose

compose

guid

guid

compose

guid

compose

guid

compose

compose

compose

compose

compose

compose

guid

SensorTemplatesManager

+Create

+Read

+Update

+Delete

+List

SensorTemplate

string name

string description

map<string, string> metadata

OneOfUnsupported markdown: del sensor_template

SensorInstance

string name

string description

map<string, string> metadata

string sensor_guid - SensorTemplate guid coming from manager

OneOfUnsupported markdown: del properties

SourceTemplatesManager

+Create

+Read

+Update

+Delete

+List

SourceTemplate

string name

string description

map<string, string> metadata

OneOfUnsupported markdown: del source

SourceInstance

string name

string description

map<string, string> metadata

string source_guid - SourceTemplate guid coming from manager

OneOfUnsupported markdown: del properties

VOPTemplatesManager

+Create

+Read

+Update

+Delete

+List

VOPTemplate

string name

string description

map<string, string> metadata

OneOfUnsupported markdown: del type

SOPTemplatesManager

+Create

+Read

+Update

+Delete

+List

SOPTemplate

string name

string description

map<string, string> metadata

OneOfUnsupported markdown: del type

MaterialInstance

string name

string description

map<string, string> metadata

string vop_guid - VOPTemplate guid coming from manager

Vector<string> sop_guids - SOPTemplate guids coming from manager

GeoPaths geometries

SimulationTemplatesManager

+Create

+Read

+Update

+Delete

+List

SimulationTemplate

string name

string description

map<string, string> metadata

OneOfUnsupported markdown: del simulation_template

SimulationInstance

string name

string description

map<string, string> metadata

string simulation_guid - SimulationTemplate guid coming from manager

Vector<string> sensor_paths

Vector<string> source_paths

PartsManager

+Create

+Read

+Update

+Delete

+List

Part

string name

string description

map<string, string> metadata

Vector<string> body_guids

Vector<PartInstance> parts - sub parts

Scene

string part_guid - Part guid coming from manager

Vector<MaterialInstance> materials

Vector<SensorInstance> sensors

Vector<SourceInstance> sources

Vector<SimulationInstance> simulations

ScenesManager

+Create

+Read

+Update

+Delete

+List

JobsManager

+Create

+Read

+Update

+Delete

+List

Job

string name

string description

map<string, string> metadata

string scene_guid - Scene guid coming from manager

string simulation_path - Simulation path in the scene

Type job_type - CPU, GPU

OneOfUnsupported markdown: del simu_properties

\ No newline at end of file diff --git a/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.png b/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.png new file mode 100644 index 0000000000..9290087d1b Binary files /dev/null and b/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.png differ diff --git a/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.svg b/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.svg new file mode 100644 index 0000000000..588ee91bc4 --- /dev/null +++ b/2025R1_SP1/speos_rpc-25-r1-sp1/flowchart.svg @@ -0,0 +1,3 @@ + + +

uses

uses

calls APIs from

uses UI

Speos Solver

SpeosRPC Server

CADs / Labs / Viewers

User

\ No newline at end of file