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 -``` + + ### 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 -``` + ### 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 @@ + + +composeguidcomposeguidcomposecomposeguidguidcomposeguidcomposeguidcomposecomposecomposecomposecomposecomposeguidSensorTemplatesManager+Create+Read+Update+Delete+ListSensorTemplatestring namestring descriptionmap<string, string> metadataOneOfUnsupported markdown: del sensor_templateSensorInstancestring namestring descriptionmap<string, string> metadatastring sensor_guid - SensorTemplate guid coming from managerOneOfUnsupported markdown: del propertiesSourceTemplatesManager+Create+Read+Update+Delete+ListSourceTemplatestring namestring descriptionmap<string, string> metadataOneOfUnsupported markdown: del sourceSourceInstancestring namestring descriptionmap<string, string> metadatastring source_guid - SourceTemplate guid coming from managerOneOfUnsupported markdown: del propertiesVOPTemplatesManager+Create+Read+Update+Delete+ListVOPTemplatestring namestring descriptionmap<string, string> metadataOneOfUnsupported markdown: del typeSOPTemplatesManager+Create+Read+Update+Delete+ListSOPTemplatestring namestring descriptionmap<string, string> metadataOneOfUnsupported markdown: del typeMaterialInstancestring namestring descriptionmap<string, string> metadatastring vop_guid - VOPTemplate guid coming from managerVector<string> sop_guids - SOPTemplate guids coming from managerGeoPaths geometriesSimulationTemplatesManager+Create+Read+Update+Delete+ListSimulationTemplatestring namestring descriptionmap<string, string> metadataOneOfUnsupported markdown: del simulation_templateSimulationInstancestring namestring descriptionmap<string, string> metadatastring simulation_guid - SimulationTemplate guid coming from managerVector<string> sensor_pathsVector<string> source_pathsPartsManager+Create+Read+Update+Delete+ListPartstring namestring descriptionmap<string, string> metadataVector<string> body_guidsVector<PartInstance> parts - sub partsScenestring part_guid - Part guid coming from managerVector<MaterialInstance> materialsVector<SensorInstance> sensorsVector<SourceInstance> sourcesVector<SimulationInstance> simulationsScenesManager+Create+Read+Update+Delete+ListJobsManager+Create+Read+Update+Delete+ListJobstring namestring descriptionmap<string, string> metadatastring scene_guid - Scene guid coming from managerstring simulation_path - Simulation path in the sceneType job_type - CPU, GPUOneOfUnsupported 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 @@ + + +usesusescalls APIs fromuses UISpeos SolverSpeosRPC ServerCADs / Labs / ViewersUser \ No newline at end of file
compose
guid
SensorTemplatesManager
+Create
+Read
+Update
+Delete
+List
SensorTemplate
string name
string description
map<string, string> metadata
OneOfUnsupported markdown: del sensor_template
SensorInstance
string sensor_guid - SensorTemplate guid coming from manager
OneOfUnsupported markdown: del properties
SourceTemplatesManager
SourceTemplate
OneOfUnsupported markdown: del source
SourceInstance
string source_guid - SourceTemplate guid coming from manager
VOPTemplatesManager
VOPTemplate
OneOfUnsupported markdown: del type
SOPTemplatesManager
SOPTemplate
MaterialInstance
string vop_guid - VOPTemplate guid coming from manager
Vector<string> sop_guids - SOPTemplate guids coming from manager
GeoPaths geometries
SimulationTemplatesManager
SimulationTemplate
OneOfUnsupported markdown: del simulation_template
SimulationInstance
string simulation_guid - SimulationTemplate guid coming from manager
Vector<string> sensor_paths
Vector<string> source_paths
PartsManager
Part
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
JobsManager
Job
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
uses
calls APIs from
uses UI
Speos Solver
SpeosRPC Server
CADs / Labs / Viewers
User