Reference documentation
Last update: 12.06.2026LTF/v1/LTF.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Filename
| Field | Type | Label | Description |
|---|---|---|---|
| filename | string |
LightTransferData
| Field | Type | Label | Description |
|---|---|---|---|
| object_direction | Vector3d | ||
| start_point | Point3d | ||
| emissivity | double | ||
| focus_distance | double | ||
| divergence_X | double | ||
| divergence_Y | double | ||
| pupil_surface | LightTransferData.PupilSurface |
LightTransferData.PupilSurface
| Field | Type | Label | Description |
|---|---|---|---|
| disk | PupilSurfaceDisk | ||
| ellipse | PupilSurfaceEllipse | ||
| polygon | PupilSurfacePolygon |
LightTransferDataDistribution
| Field | Type | Label | Description |
|---|---|---|---|
| data | LightTransferData | repeated |
Point2d
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | ||
| y | double |
Point3d
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | ||
| y | double | ||
| z | double |
PupilSurfaceDisk
| Field | Type | Label | Description |
|---|---|---|---|
| radius | double |
PupilSurfaceEllipse
| Field | Type | Label | Description |
|---|---|---|---|
| alpha | double | ||
| semi_major_axis | double | ||
| semi_minor_axis | double |
PupilSurfacePolygon
| Field | Type | Label | Description |
|---|---|---|---|
| nb_points | int32 | ||
| points | Point2d | repeated |
SpectralLightTransferDataDistribution
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength_samples | double | repeated | |
| sensor_sampling_type | SensorSamplingType | ||
| sensor_samples_X | double | repeated | |
| sensor_samples_Y | double | repeated | |
| pupil_surface_type | PupilSurfaceType | ||
| ltf_samples | LightTransferDataDistribution | repeated |
Vector3d
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | ||
| y | double | ||
| z | double |
PupilSurfaceType
| Name | Number | Description |
|---|---|---|
| POINT | 0 | |
| DISK | 1 | |
| ELLIPSE | 2 | |
| POLYGON | 3 |
SensorSamplingType
the sensor sampling type : symmetric = polar coordinates asymmetric = cartesian coordinates
| Name | Number | Description |
|---|---|---|
| SYMMETRIC | 0 | |
| ASYMMETRIC | 1 |
LightTransferFunctionService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | Filename | .google.protobuf.Empty | Serialization for *.OPTDistortion files |
| Save | Filename | .google.protobuf.Empty | |
| Import | SpectralLightTransferDataDistribution | .google.protobuf.Empty | Import/Export of LightTransferDataDistribution |
| Export | .google.protobuf.Empty | SpectralLightTransferDataDistribution |
bsdf/v1/anisotropic_bsdf.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
AnisotropicBsdfData
| Field | Type | Label | Description |
|---|---|---|---|
| description | string | ||
| anisotropy_vector | AnisotropicBsdfData.Double3 | ||
| reflection | AnisotropicBsdfData.Bsdf | ||
| transmission | AnisotropicBsdfData.Bsdf |
AnisotropicBsdfData.Bsdf
| Field | Type | Label | Description |
|---|---|---|---|
| spectrum_incidence | double | spectrum information radians in [0, pi/2] |
|
| spectrum_anisotropy | double | radians in [0, 2*pi] | |
| spectrum | AnisotropicBsdfData.Bsdf.WavelengthCoefficientPair | repeated | |
| anisotropic_samples | AnisotropicBsdfData.Bsdf.AnisotropicSample | repeated |
AnisotropicBsdfData.Bsdf.AnisotropicSample
| Field | Type | Label | Description |
|---|---|---|---|
| anisotropic_sample | double | radians in [0, pi/2] or [0, pi] or [0, 2*pi] | |
| incidence_samples | AnisotropicBsdfData.Bsdf.AnisotropicSample.IncidenceSample | repeated |
AnisotropicBsdfData.Bsdf.AnisotropicSample.IncidenceSample
| Field | Type | Label | Description |
|---|---|---|---|
| incidence_sample | double | radians in [0, pi/2] | |
| theta_samples | double | repeated | intensity diagram radians in [0, pi/2] for reflection // radians in [pi/2, pi] for transmission |
| phi_samples | double | repeated | radians in [0, 2*pi] |
| bsdf_cos_theta | double | repeated | 1/steradians |
| integral | double | reflection/transmission coefficient |
AnisotropicBsdfData.Bsdf.WavelengthCoefficientPair
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength | double | nanometers | |
| coefficient | double | in [0, 1] interval |
AnisotropicBsdfData.Double3
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | ||
| y | double | ||
| z | double |
ConoscopicMap
| Field | Type | Label | Description |
|---|---|---|---|
| output_file_name | string | .xmp | |
| wavelength | double | nanometers | |
| anisotropic_angle | double | radians in [0, 2*pi] | |
| side | ConoscopicMap.BsdfSide | ||
| resolution | int32 |
FileName
| Field | Type | Label | Description |
|---|---|---|---|
| file_name | string |
InterpolationEnhancementData
| Field | Type | Label | Description |
|---|---|---|---|
| anisotropic_samples | InterpolationEnhancementData.AnisotropicSample | repeated |
InterpolationEnhancementData.AnisotropicSample
| Field | Type | Label | Description |
|---|---|---|---|
| incidence_samples | InterpolationEnhancementData.AnisotropicSample.ConeData | repeated |
InterpolationEnhancementData.AnisotropicSample.ConeData
| Field | Type | Label | Description |
|---|---|---|---|
| cone_half_angle | double | radians in [0, pi/2] | |
| cone_height | double | value >= 0 |
RefractiveIndices
| Field | Type | Label | Description |
|---|---|---|---|
| refractive_index_1 | double | ||
| refractive_index_2 | double |
SpectrumImport
| Field | Type | Label | Description |
|---|---|---|---|
| incidence_angle | double | radians in [0, pi/2] | |
| anisotropy_angle | double | radians in [0, 2*pi] | |
| file_name | string | .spectrum |
SpecularInterpolationEnhancementData
| Field | Type | Label | Description |
|---|---|---|---|
| reflection | InterpolationEnhancementData | ||
| transmission | InterpolationEnhancementData | ||
| refractive_index_1 | double | ||
| refractive_index_2 | double |
Wavelength
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength | double | in nanometers |
ConoscopicMap.BsdfSide
| Name | Number | Description |
|---|---|---|
| UNKNOWN | 0 | |
| REFLECTION | 1 | |
| TRANSMISSION | 2 |
AnisotropicBsdfService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | FileName | .google.protobuf.Empty | serialization for native *.anisotropicbsdf files |
| Save | FileName | .google.protobuf.Empty | |
| Import | AnisotropicBsdfData | .google.protobuf.Empty | to and from AnisoptropicSpeosBsdf.AnisotropicBsdfData |
| Export | .google.protobuf.Empty | AnisotropicBsdfData | |
| ImportFile | FileName | .google.protobuf.Empty | to and from serialized AnisoptropicSpeosBsdf.AnisotropicBsdfData |
| ExportFile | FileName | .google.protobuf.Empty | |
| GenerateSpecularInterpolationEnhancementData | RefractiveIndices | .google.protobuf.Empty | interpolation enhancement for specular |
| GetSpecularInterpolationEnhancementData | .google.protobuf.Empty | SpecularInterpolationEnhancementData | |
| SetSpecularInterpolationEnhancementData | SpecularInterpolationEnhancementData | .google.protobuf.Empty | |
| GenerateRetroReflectionInterpolationEnhancementData | .google.protobuf.Empty | .google.protobuf.Empty | interpolation enhancement for retro reflection |
| GetRetroReflectionInterpolationEnhancementData | .google.protobuf.Empty | InterpolationEnhancementData | |
| SetRetroReflectionInterpolationEnhancementData | InterpolationEnhancementData | .google.protobuf.Empty | |
| EnableWhiteSpecular | Wavelength | .google.protobuf.Empty | white specular |
| DisableWhiteSpecular | .google.protobuf.Empty | .google.protobuf.Empty | |
| ImportReflectionSpectrum | SpectrumImport | .google.protobuf.Empty | spectrum import |
| ImportTransmissionSpectrum | SpectrumImport | .google.protobuf.Empty | |
| FreezeAbsorptionReflectionTransmissionCoefficients | .google.protobuf.Empty | .google.protobuf.Empty | constant absorption |
| ExportToConoscopicMap | ConoscopicMap | .google.protobuf.Empty | export to conoscopic map |
bsdf/v1/bsdf_creation.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
AnisotropicBsdfInputData
| Field | Type | Label | Description |
|---|---|---|---|
| input_anisotropic_bsdf_samples | AnisotropicBsdfInputData.Sample | repeated | |
| fix_disparity | bool | ||
| output_file_name | string | .anisotropicbsdf |
AnisotropicBsdfInputData.Sample
| Field | Type | Label | Description |
|---|---|---|---|
| anisotropic_angle | double | radians in [0, 2*pi] | |
| file_name | string | .anisotropicbsdf |
Bsdf180InputData
| Field | Type | Label | Description |
|---|---|---|---|
| input_front_bsdf_file_name | string | .coated *.brdf *.anisotropicbsdf *.scattering | |
| input_opposite_bsdf_file_name | string | .coated *.brdf *.anisotropicbsdf *.scattering | |
| output_file_name | string | .bsdf180 |
SpectralBsdfInputData
| Field | Type | Label | Description |
|---|---|---|---|
| input_anisotropic_samples | SpectralBsdfInputData.Sample | repeated | |
| output_file_name | string | .brdf |
SpectralBsdfInputData.Sample
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength | double | nanometers | |
| file_name | string | .anisotropicbsdf |
BsdfCreationService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| BuildBsdf180 | Bsdf180InputData | .google.protobuf.Empty | create a bsdf180 file |
| BuildSpectralBsdf | SpectralBsdfInputData | .google.protobuf.Empty | create spectral bsdf file |
| BuildAnisotropicBsdf | AnisotropicBsdfInputData | .google.protobuf.Empty | build anisotropic bsdf file |
bsdf/v1/spectral_bsdf.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
ConoscopicMap
| Field | Type | Label | Description |
|---|---|---|---|
| output_file_name | string | .xmp | |
| wavelength | double | nanometers | |
| side | ConoscopicMap.BsdfSide | ||
| resolution | int32 |
FileName
| Field | Type | Label | Description |
|---|---|---|---|
| file_name | string |
RefractiveIndices
| Field | Type | Label | Description |
|---|---|---|---|
| refractive_index_1 | double | ||
| refractive_index_2 | double |
SpectralBsdfData
| Field | Type | Label | Description |
|---|---|---|---|
| description | string | ||
| incidence_samples | double | repeated | radians in [0, pi/2] |
| wavelength_samples | double | repeated | nanometers |
| wavelength_incidence_samples | SpectralBsdfData.WavelengthIncidence | repeated |
SpectralBsdfData.WavelengthIncidence
| Field | Type | Label | Description |
|---|---|---|---|
| reflection | SpectralBsdfData.WavelengthIncidence.Diagram | ||
| transmission | SpectralBsdfData.WavelengthIncidence.Diagram |
SpectralBsdfData.WavelengthIncidence.Diagram
| Field | Type | Label | Description |
|---|---|---|---|
| theta_samples | double | repeated | radians in [0, pi/2] |
| phi_samples | double | repeated | radians in [0, 2*pi] |
| bsdf_cos_theta | double | repeated | 1/steradians |
| integral | double | reflection/transmission coefficient in [0, 1] interval |
SpecularInterpolationEnhancementData
| Field | Type | Label | Description |
|---|---|---|---|
| incidence_nb | int32 | ||
| wavelength_nb | int32 | ||
| refractive_index_1 | double | ||
| refractive_index_2 | double | ||
| wavelength_incidence_samples | SpecularInterpolationEnhancementData.WavelengthIncidence | repeated |
SpecularInterpolationEnhancementData.WavelengthIncidence
| Field | Type | Label | Description |
|---|---|---|---|
| reflection | SpecularInterpolationEnhancementData.WavelengthIncidence.ConeData | ||
| transmission | SpecularInterpolationEnhancementData.WavelengthIncidence.ConeData |
SpecularInterpolationEnhancementData.WavelengthIncidence.ConeData
| Field | Type | Label | Description |
|---|---|---|---|
| cone_half_angle | double | radians in [0, pi/2] | |
| cone_height | double | value >= 0 |
ConoscopicMap.BsdfSide
| Name | Number | Description |
|---|---|---|
| UNKNOWN | 0 | |
| REFLECTION | 1 | |
| TRANSMISSION | 2 |
SpectralBsdfService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | FileName | .google.protobuf.Empty | serialization for native *.brdf files |
| Save | FileName | .google.protobuf.Empty | |
| Import | SpectralBsdfData | .google.protobuf.Empty | to and from SpectralSpeosBsdf.SpectralBsdfData |
| Export | .google.protobuf.Empty | SpectralBsdfData | |
| ImportFile | FileName | .google.protobuf.Empty | to and from serialized SpectralSpeosBsdf.SpectralBsdfData |
| ExportFile | FileName | .google.protobuf.Empty | |
| GenerateSpecularInterpolationEnhancementData | RefractiveIndices | .google.protobuf.Empty | interpolation enhancement for specular |
| GetSpecularInterpolationEnhancementData | .google.protobuf.Empty | SpecularInterpolationEnhancementData | |
| SetSpecularInterpolationEnhancementData | SpecularInterpolationEnhancementData | .google.protobuf.Empty | |
| ExportToConoscopicMap | ConoscopicMap | .google.protobuf.Empty | export to conoscopic map |
common/v1/data.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
DataBytes
raw buffer in bytes, to send any kind of data
| Field | Type | Label | Description |
|---|---|---|---|
| values | bytes | raw values | |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataDoubles
arrays values of doubles
| Field | Type | Label | Description |
|---|---|---|---|
| values | double | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataFloats
arrays values of floats
| Field | Type | Label | Description |
|---|---|---|---|
| values | float | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataIntegers32
arrays values of integers
| Field | Type | Label | Description |
|---|---|---|---|
| values | int32 | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataIntegers64
arrays values of integers
| Field | Type | Label | Description |
|---|---|---|---|
| values | int64 | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataUIntegers32
arrays values of integers
| Field | Type | Label | Description |
|---|---|---|---|
| values | uint32 | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
DataUIntegers64
arrays values of integers
| Field | Type | Label | Description |
|---|---|---|---|
| values | uint64 | repeated | raw values |
| magnitude_size | uint64 | number of values needed to describe the magnitude (ex : simple value=1 / vector=3 / color_rgb=3 ...) | |
| dimensions | uint64 | repeated | size of dimensions where the magnitudes are applied = total number of dimension representation of the data, each value representing its dimension size |
| magnitude | Magnitude | magnitude of the value of what we have received | |
| unit | Unit | units of the values |
Magnitude
Magnitude represent a physical quantity
| Name | Number | Description |
|---|---|---|
| irradiance | 0 | radiometric irradiance |
| illuminance | 1 | photometric irradiance |
| spectral_irradiance | 2 | spectral radiometric irradiance |
| spectral_illuminance | 3 | spectral photometric irradiance |
| radiance | 4 | radiometric radiance |
| luminance | 5 | photometric radiance |
| spectral_radiance | 6 | spectral radiometric radiance |
| spectral_luminance | 7 | spectral photometric radiance |
| radiant_intensity | 8 | radiometric intensity |
| luminous_intensity | 9 | photometric intensity |
| spectral_radiant_intensity | 10 | spectral radiometric intensity |
| spectral_luminous_intensity | 11 | spectral photometric intensity |
| exposure | 12 | radiometric exposure |
| luminous_exposure | 13 | photometric exposure |
| spectral_exposure | 14 | spectral radiometric exposure |
| spectral_luminous_exposure | 15 | spectral photometric exposure |
| radiant_flux | 16 | radiometric flux |
| luminous_flux | 17 | photometric flux |
| wavelength | 26 | wavelength |
| ratio | 27 | magnitude ratio |
| color | 37 | color |
| ray_sampling | 38 | rays sampling |
| distance | 48 | distance |
| dimension | 49 | dimension |
| plane_angle | 50 | plane angle |
| curvature | 51 | curvature |
| curvature_product | 52 | curvature product |
| photometric_power_density | 62 | photometric power density |
| radiometric_power_density | 63 | radiometric power density |
| spherical_probability_density | 64 | spherical probability density |
| temperature_elevation | 74 | temperature elevation |
| colorimetric_error | 84 | colorimetric error |
| signal_to_noise_ratio | 85 | SNR |
| precision | 86 | precision |
| relative_standard_error | 87 | relative standard error |
| refractive_power | 97 | refractive power |
| refractive_index | 98 | refractive index |
| absorption | 99 | absorption |
| x_color | 109 | xyY color space |
| y_color | 110 | xyY color space |
| u_color | 111 | uvY color space |
| v_color | 112 | uvY color space |
| u_prime_color | 113 | u'v'Y color space |
| v_prime_color | 114 | u'v'Y color space |
| u_star_color | 115 | Luv* color space |
| v_star_color | 116 | Luv* color space |
| a_star_color | 117 | Lab* color space |
| b_star_color | 118 | Lab* color space |
| uppercase_c_star_color | 119 | LCh color space |
| h_color | 120 | LCh color space |
| uppercase_x_color | 121 | XYZ color space |
| uppercase_y_color | 122 | XYZ color space |
| uppercase_z_color | 123 | XYZ color space |
| uppercase_l_star_color | 124 | Luv* color space |
| glare | 134 | glare |
Unit
Units used in Speos data
| Name | Number | Description |
|---|---|---|
| watts | 0 | W |
| watts_per_square_meters | 1 | W/(m2) |
| watts_per_steradians | 2 | W/(sr) |
| watts_per_nanometers | 3 | W/(nm) |
| watts_per_square_meters_steradians | 4 | W/(m2.sr) |
| watts_per_steradians_nanometers | 5 | W/(sr.nm) |
| watts_per_square_meters_nanometers | 6 | W/(m2.nm) |
| watts_per_square_foot | 7 | W/ft2 |
| watts_per_square_foot_nanometer | 8 | W/(ft2.nm) |
| watts_per_square_centimeter | 9 | W/cm2 |
| watts_per_square_foot_steradian | 10 | W/(ft2.sr) |
| watts_per_square_meter_steradian_nanometer | 11 | W/(m2.sr.nm) |
| watts_per_square_foot_steradian_nanometer | 12 | W/(ft2.sr.nm) |
| watts_per_cubic_meter | 13 | W/m3 |
| watts_per_cubic_centimeter | 14 | W/cm3 |
| joules | 16 | J |
| joules_per_nanometers | 17 | J/(nm) |
| joules_per_square_meters | 18 | J/(m2) |
| joules_per_square_meters_nanometers | 19 | J/(m2.nm) |
| joules_per_square_centimeter | 20 | J/cm2 |
| joules_per_square_foot | 21 | J/ft2 |
| joules_per_square_foot_nanometer | 22 | J/(ft2.nm) |
| luxes | 29 | lx |
| luxes_seconds | 30 | lx.s |
| luxes_per_nanometers | 31 | lx.s/(nm) |
| luxes_seconds_per_nanometers | 32 | lx.s/(nm) |
| candelas | 42 | cd |
| candelas_per_square_meters | 43 | cd/(m2) |
| candelas_per_nanometers | 44 | cd/(m2) |
| candelas_per_squaremeters_nanometers | 45 | cd/(m2.nm) |
| candelas_per_square_centimeter | 46 | cd/cm2 |
| candelas_per_square_foot | 47 | cd/ft2 |
| candelas_per_square_foot_nanometer | 48 | cd/(ft2.nm) |
| lumens_per_square_meters_nanometers | 49 | lm/(m2.nm) |
| lumens | 55 | lm |
| lumens_seconds | 56 | lm.s |
| lumens_per_nanometers | 57 | lm/(nm) |
| lumens_per_square_centimeter | 59 | lm/cm2 |
| percent | 60 | % |
| lumens_per_cubic_meter | 61 | lm/m3 |
| lumens_seconds_per_square_centimeter | 62 | lm.s/cm2 |
| color_XYZ | 70 | XYZ CIE |
| color_xyY | 71 | xy CIE |
| color_uvY | 72 | uvY 1960 UCS CIE |
| color_uvY_prime | 73 | u'v'Y' 1976 UCS CIE |
| color_Luv | 74 | Luv CIELUV |
| color_Lab | 75 | Lab CIELAB |
| color_LCh | 76 | LCh CIELAB |
| color_rgb | 77 | rgb |
| color_rgba | 79 | rgba |
| foot_candles | 90 | fc |
| foot_candles_per_nanometer | 91 | fc/nm |
| foot_candles_seconds | 92 | fc.s |
| foot_candles_seconds_per_nanometer | 93 | fc.s/nm |
| foot_lamberts | 94 | fL |
| foot_lamberts_per_nanometer | 95 | fL/nm |
| nanometers | 120 | nm |
| micrometers | 121 | um |
| millimeters | 122 | mm |
| meters | 123 | m |
| radians | 124 | rad |
| degrees | 125 | deg |
| steradians | 126 | sr |
| ray_per_pixel | 127 | rays/pixel |
| feet | 128 | ft |
| inches | 129 | in |
| milliradians | 130 | mrad |
| arcminutes | 131 | ' |
| arcseconds | 132 | '' |
| kelvin | 133 | K |
| diopters | 134 | D |
| millidiopters | 135 | mD |
| unit_precision | 136 | % |
| square_meters | 140 | m2 |
| square_centimeters | 141 | cm2 |
| square_millimeters | 142 | mm2 |
| square_micrometers | 143 | micron2 |
| square_nanometers | 144 | nm2 |
| square_feet | 145 | ft2 |
| square_inches | 146 | inch2 |
| invert_meter | 150 | m-1 |
| invert_millimeter | 151 | mm-1 |
| invert_foot | 152 | ft-1 |
| invert_inch | 153 | in-1 |
| invert_steradian | 154 | sr-1 |
| no_unit | 160 |
file/v1/file_transfer.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
AddDependencies_Request
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | uri of the FileSystemItem to be completed with dependencies | |
| dependency_uris | string | repeated | FileSystemItem uris to be added as dependencies |
AddDependencies_Response
Chunk
| Field | Type | Label | Description |
|---|---|---|---|
| binary | bytes | ||
| size | int64 | ||
| file_name | string | file name. Mandatory in the first chunk exchanged. |
Delete_Request
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | uri of the FileSystemItem to be deleted |
Delete_Response
Download_Request
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | uri of the FileSystemItem to be downloaded |
Download_Response
Used in File Transfer helpers
| Field | Type | Label | Description |
|---|---|---|---|
| info | FileSystemItemInformation | Information about the FileSystemItem downloaded | |
| download_duration | google.protobuf.Duration |
FileSystemItemInformation
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | FileSystemItem uri | |
| file_name | string | ||
| file_size | uint64 |
ListDependencies_Request
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | uri of the FileSystemItem |
ListDependencies_Response
| Field | Type | Label | Description |
|---|---|---|---|
| dependency_infos | FileSystemItemInformation | repeated | Information about the FileSystemItems noticed as dependencies |
Reserve_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_name | string | FileSystemItem's name |
Reserve_Response
| Field | Type | Label | Description |
|---|---|---|---|
| uri | string | uri of the FileSystemItem reserved |
Upload_Response
| Field | Type | Label | Description |
|---|---|---|---|
| info | FileSystemItemInformation | Information about the FileSystemItem created | |
| upload_duration | google.protobuf.Duration |
FileTransferService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Reserve | Reserve_Request | Reserve_Response | Reserve a FileSystemItem |
| Upload | Chunk stream | Upload_Response | Upload a file Mandatory Client's Metadata: key: "file-size" - value: size of the file in bytes Optional Client's Metadata: key: "reserved-file-uri" - value: FileSystemItem reserved uri |
| Download | Download_Request | Chunk stream | Download a FileSystemItem Server's' Initial Metadata: key: "file-size" - value: size of the file in bytes |
| Delete | Delete_Request | Delete_Response | Delete a FileSystemItem |
| AddDependencies | AddDependencies_Request | AddDependencies_Response | Add dependencies to a FileSystemItem |
| ListDependencies | ListDependencies_Request | ListDependencies_Response | List all dependencies of a FileSystemItem |
intensity/v1/intensity.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a Intensity in IntensityTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| intensity_template | IntensityTemplate | Intensity containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Intensity created in IntensityTemplatesManager |
Delete_Request
Request to delete a Intensity in IntensityTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Intensity to be deleted |
Delete_Response
GetLibraryTypeInfo_Request
Request of GetLibraryTypeInfo
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the IntensityTemplate to get information about intensity file (example: flux). Only for IntensityTemplate of type Library. |
GetLibraryTypeInfo_Response
Response of GetLibraryTypeInfo
| Field | Type | Label | Description |
|---|---|---|---|
| flux | common.v1.DataDoubles | Flux of the intensity file |
IntensityTemplate
Intensity with its basic characteristics
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Intensity name | |
| description | string | Intensity descrition | |
| metadata | IntensityTemplate.MetadataEntry | repeated | User defined metadatas |
| library | IntensityTemplate.Library | From file | |
| lambertian | IntensityTemplate.Lambertian | Deprecated (use cos instead) - Lambertian distribution | |
| cos | IntensityTemplate.Cos | Lambert cosine law distribution | |
| symmetric_gaussian | IntensityTemplate.SymmetricGaussian | Deprecated (use gaussian instead) - Symmetric gaussian distribution | |
| asymmetric_gaussian | IntensityTemplate.AsymmetricGaussian | Deprecated (use gaussian instead) - Asymmetric gaussian distribution | |
| gaussian | IntensityTemplate.Gaussian | Gaussian distribution |
IntensityTemplate.AsymmetricGaussian
| Field | Type | Label | Description |
|---|---|---|---|
| FWHM_angle_x | double | Full Width in degrees following x at Half Maximum | |
| FWHM_angle_y | double | Full Width in degrees following y at Half Maximum | |
| total_angle | double | total angle in degrees of the emission of the light source |
IntensityTemplate.Cos
| Field | Type | Label | Description |
|---|---|---|---|
| N | double | Order of cos law | |
| total_angle | double | total angle in degrees of the emission of the light source |
IntensityTemplate.Gaussian
| Field | Type | Label | Description |
|---|---|---|---|
| FWHM_angle_x | double | Full Width in degrees following x at Half Maximum | |
| FWHM_angle_y | double | Full Width in degrees following y at Half Maximum | |
| total_angle | double | total angle in degrees of the emission of the light source |
IntensityTemplate.Lambertian
| Field | Type | Label | Description |
|---|---|---|---|
| total_angle | double | total angle in degrees of the emission of the light source |
IntensityTemplate.Library
| Field | Type | Label | Description |
|---|---|---|---|
| intensity_file_uri | string | uri of the intensity file IES (.ies), Eulumdat (.ldt), speos intensities (.xmp) |
IntensityTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
IntensityTemplate.SymmetricGaussian
| Field | Type | Label | Description |
|---|---|---|---|
| FWHM_angle | double | Full Width in degrees at Half Maximum | |
| total_angle | double | total angle in degrees of the emission of the light source |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the Intensities in IntensityTemplatesManager |
Read_Request
Request to read a Intensity in IntensityTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Intensity to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| intensity_template | IntensityTemplate | Intensity corresponding to the guid given in Read_Request |
Update_Request
Request to update a Intensity in IntensityTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Intensity to be updated | |
| intensity_template | IntensityTemplate | Intensity that will be used for the update |
Update_Response
IntensityTemplateActions
Actions available on a IntensityTemplate
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetLibraryTypeInfo | GetLibraryTypeInfo_Request | GetLibraryTypeInfo_Response | Get information about intensity library template |
IntensityTemplatesManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a Intensity |
| Read | Read_Request | Read_Response | Read a Intensity |
| Update | Update_Request | Update_Response | Update a Intensity |
| Delete | Delete_Request | Delete_Response | Delete a Intensity |
| List | List_Request | List_Response | List all Intensities in manager |
intensity_distributions/v1/base_map_template.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
LayerData
| Field | Type | Label | Description |
|---|---|---|---|
| layer_name | string | ||
| initial_source_power | double | ||
| initial_source_power_watt | double | ||
| initial_source_power_lumen | double | ||
| wavelength | double | repeated | |
| value | double | repeated |
Map
| Field | Type | Label | Description |
|---|---|---|---|
| x_nb | int32 | number of x samples | |
| y_nb | int32 | number of y samples | |
| layer_nb | int32 | number of layers | |
| x_min | double | ||
| x_max | double | ||
| y_min | double | ||
| y_max | double | ||
| precision | double | ||
| value_type | ValueTypes | ||
| intensity_type | IntensityTypes | ||
| unit_type | UnitTypes | ||
| colorimetric_standard | CIEStandard | ||
| coordinate_unit | CoordinateUnits | ||
| map_type | MapTypes | ||
| layer_type | LayerTypes | ||
| layer | LayerData | repeated | |
| is_finite_distance | bool | ||
| finite_difference_sensor_radius | double | ||
| detector_extent | bool | ||
| rad_angular_resolution_radius | double |
CIEStandard
| Name | Number | Description |
|---|---|---|
| CIE_STANDARD_UNKNOWN | 0 | |
| CIE_STANDARD_1931 | 1 | |
| CIE_STANDARD_1964 | 2 |
CoordinateUnits
| Name | Number | Description |
|---|---|---|
| OptisUnitDefault | 0 | |
| OptisUnitMillimetre | 1 | |
| OptisUnitDegree | 2 | |
| OptisUnitRadian | 3 | |
| OptisUnitFeet | 4 | |
| OptisUnitMicrometre | 5 | |
| OptisUnitNanometre | 6 | |
| OptisUnitMetre | 7 | |
| OptisUnitPercent | 8 | |
| OptisUnitdB | 9 | |
| OptisUnitInvertMillimetre | 10 | |
| OptisUnitNoUnit | 11 | |
| OptisUnitWave | 12 |
IntensityTypes
| Name | Number | Description |
|---|---|---|
| OptisIntensityOptis | 0 | Unsupported |
| OptisIntensitySAETypeA | 1 | |
| OptisIntensitySAETypeB | 2 | |
| OptisIntensityConoscopic | 3 |
LayerTypes
| Name | Number | Description |
|---|---|---|
| OptisMapLayerTypeNone | 0 | |
| OptisMapLayerTypeSource | 1 | |
| OptisMapLayerTypeSurface | 2 | |
| OptisMapLayerTypeError | 3 | Unsupported |
| OptisMapLayerTypeSequence | 4 | |
| OptisMapLayerTypePolarization | 5 | |
| OptisMapLayerTypeIncidenceAngle | 6 |
MapTypes
| Name | Number | Description |
|---|---|---|
| OptisMapTypeBasic | 0 | Unsupported |
| OptisMapTypeLaser | 1 | Unsupported |
| OptisMapTypeSpectral | 2 | |
| OptisMapTypeExtended | 3 | |
| OptisMapTypeUnknown | 4 | |
| OptisMapTypeGainMatrix | 5 | |
| OptisMapTypeRays | 6 | |
| OptisMapTypeFTM | 7 | |
| OptisMapTypeOptisVR | 8 | |
| OptisMapType3D | 9 |
UnitTypes
| Name | Number | Description |
|---|---|---|
| OptisUnitTypeRadiometric | 0 | |
| OptisUnitTypePhotometric | 1 | |
| OptisUnitTypeTemperature | 2 | |
| OptisUnitTypeUnknown | 3 | |
| OptisUnitTypeFTM | 4 | Unsupported |
| OptisUnitTypeDegree | 5 | |
| OptisUnitTypeInverseMeter | 6 | |
| OptisUnitTypeInverseSquareMeter | 7 | |
| OptisUnitTypePercent | 8 | |
| OptisUnitTypeDiopter | 9 | |
| OptisUnitTypeMeter | 10 | |
| OptisUnitTypeInverseSteradian | 11 |
ValueTypes
| Name | Number | Description |
|---|---|---|
| OptisValueTypeIrradiance | 0 | |
| OptisValueTypeIntensity | 1 | |
| OptisValueTypeRadiance | 2 | |
| OptisValueTypeVisual | 3 | |
| OptisValueTypeSel | 4 | Unsupported |
| OptisValueTypeLaserPhase | 5 | Unsupported |
| OptisValueTypeLaserPhasePlane | 6 | Unsupported |
| OptisValueTypeDirectionalIrradiance | 7 | |
| OptisValueTypeGain | 8 | Unsupported |
| OptisValueTypeWaveFront | 9 | Unsupported |
| OptisValueTypeFTM | 10 | Unsupported |
| OptisValueTypeRP | 11 | Unsupported |
| OptisValueTypePowerDensity | 12 | |
| OptisValueTypePopulation | 13 | |
| OptisValueTypeTemperature | 14 | |
| OptisValueTypeAngle | 15 | |
| OptisValueTypeCurvature | 16 | |
| OptisValueTypeCurvatureProduct | 17 | |
| OptisValueTypePercentage | 18 | |
| OptisValueTypeUnknown | 19 | |
| OptisValueTypeRefractivePower | 20 | |
| OptisValueTypeFlyThrough | 21 | |
| OptisValueTypeColorimetricError | 22 | |
| OptisValueTypeConoscopicRadiance | 23 | |
| OptisValueTypeSNR | 24 | |
| OptisValueTypeSNRIntensity | 25 | |
| OptisValueTypeSNRDirectionalIrradiance | 26 | |
| OptisValueTypePrecision | 27 | |
| OptisValueTypePrecisionIntensity | 28 | |
| OptisValueTypePrecisionDirectionalIrradiance | 29 | |
| OptisValueTypeDistance | 30 | |
| OptisValueTypeEyeSensorRadiance | 31 | |
| OptisValueTypeSphericalProbabilityDensity | 32 | |
| OptisValueTypeRSE | 33 | |
| OptisValueTypeRSEIntensity | 34 | |
| OptisValueTypeExposure | 35 |
intensity_distributions/v1/eulumdat.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
EulumdatFileInformation
| Field | Type | Label | Description |
|---|---|---|---|
| company_identification | string | ||
| measurement_report_number | string | ||
| luminaire_name | string | ||
| luminaire_number | string | ||
| file_name | string | ||
| date | string |
EulumdatIntensityData
| Field | Type | Label | Description |
|---|---|---|---|
| number_lamps | int32 | integer > 0 | |
| type_lamps | string | ||
| total_luminous_flux | double | double > 0 | |
| color_temperature | string | ||
| color_rendering_index | string | ||
| wattage_including_ballast | double |
EulumdatIntensityDistribution
| Field | Type | Label | Description |
|---|---|---|---|
| description | string | ||
| file_info | EulumdatFileInformation | ||
| type_indicator | int32 | ||
| symmetry_indicator | int32 | ||
| c_plane_number | int32 | ||
| distance_c_planes | double | ||
| g_angle_number | int32 | ||
| distance_g_angle | double | ||
| diameter_luminaire | double | (mm) | |
| width_luminaire | double | (mm) | |
| height_luminaire | double | (mm) | |
| diameter_luminous_area | double | (mm) | |
| width_luminous_area | double | (mm) | |
| height_luminous_area_c0 | double | (mm) | |
| height_luminous_area_c90 | double | (mm) | |
| height_luminous_area_c180 | double | (mm) | |
| height_luminous_area_c270 | double | (mm) | |
| downward_flux_fraction | double | Percentage between 0% and 100% | |
| light_ouput_ratio | double | Percentage between 0% and 100% | |
| conversion_factor | double | ||
| measurement_tilt | double | ||
| number_standard_set_lamps | int32 | ||
| lamp_distribution | EulumdatIntensityData | repeated | |
| direct_ratio | double | repeated | |
| c_plane | double | repeated | |
| g_angle | double | repeated | |
| luminous_intensity_per_klm | double | repeated | (cd/klm) |
Export_Request
Import_Response
Load_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Load_Response
Save_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Save_Response
EulumdatIntensityService
service to manage eulumdat file
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | Load_Request | Load_Response | Load CEulumdat from filename |
| Save | Save_Request | Save_Response | Save CEulumdat to filename |
| Import | EulumdatIntensityDistribution | Import_Response | import EulumdatIntensityDistribution to CEulumdat |
| Export | Export_Request | EulumdatIntensityDistribution | export CEulumdat to EulumdatIntensityDistribution |
intensity_distributions/v1/extended_map_template.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
ExtendedMap
| Field | Type | Label | Description |
|---|---|---|---|
| base_data | Map | ||
| value | Values |
Values
| Field | Type | Label | Description |
|---|---|---|---|
| layer | Values.Layers | repeated | map layers |
Values.Layers
| Field | Type | Label | Description |
|---|---|---|---|
| y | Values.Layers.ys | repeated | y samples of the map |
Values.Layers.ys
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | repeated | x samples of the map |
intensity_distributions/v1/ies.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Export_Request
IesIntensityDistribution
| Field | Type | Label | Description |
|---|---|---|---|
| norme_version | int32 | ||
| key_words | string | repeated | |
| unit | int32 | feet or meters | |
| nb_vertical_angle | int32 | ||
| nb_horizontal_angle | int32 | ||
| tilt_type | int32 | tilt_type set to 1 means None. | |
| tilt_geometry | int32 | ||
| nb_lamp | int32 | integer > 0 | |
| photo_type | int32 | ||
| lumen_lamp | double | ||
| multiplier | double | ||
| width | double | (feet) or (meters) according to 'int32' unit type. | |
| length | double | (feet) | |
| height | double | (feet) | |
| ballast | double | float > 0 | |
| future_use | double | float > 0 | |
| input_watt | double | float > 0 | |
| vertical_angle | double | repeated | |
| horizontal_angle | double | repeated | |
| candela_value | double | repeated | |
| tilt_angle | double | repeated | |
| tilt_mult_factor | double | repeated | |
| local_vert | double | ||
| tilt_nb_pair_angle | int32 |
Import_Response
Load_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Load_Response
Save_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Save_Response
IesIntensityService
service to manage IES files
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | Load_Request | Load_Response | serialization for native files |
| Save | Save_Request | Save_Response | |
| Import | IesIntensityDistribution | Import_Response | import export of IesIntensityDistribution to CIES |
| Export | Export_Request | IesIntensityDistribution |
intensity_distributions/v1/spectral_map_template.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
ColorValues
| Field | Type | Label | Description |
|---|---|---|---|
| layer | ColorValues.Layers | repeated | map layers |
ColorValues.Layers
| Field | Type | Label | Description |
|---|---|---|---|
| y | ColorValues.Layers.ys | repeated | y samples of the map |
ColorValues.Layers.ys
| Field | Type | Label | Description |
|---|---|---|---|
| x | ColorValues.Layers.ys.xs | repeated | x samples of the map |
ColorValues.Layers.ys.xs
| Field | Type | Label | Description |
|---|---|---|---|
| color_x | float | ||
| color_y | float | ||
| color_z | float | ||
| radio | float |
Depth
| Field | Type | Label | Description |
|---|---|---|---|
| y | Depth.ys | repeated | y samples of the map |
Depth.ys
| Field | Type | Label | Description |
|---|---|---|---|
| x | float | repeated | x samples of the map |
SpectralMap
| Field | Type | Label | Description |
|---|---|---|---|
| base_data | Map | ||
| wavelength_nb | int32 | Integer >= 3 | |
| wavelength_min | double | Range is between 100nm and 100000nm | |
| wavelength_max | double | Range is between 100nm and 100000nm | |
| spectral_value | SpectralValues | spectral values | |
| color_value | ColorValues | colorimetric and radiometric data | |
| depth_value | Depth | ||
| spectral_data_loaded | bool | spectral data is not always loaded unless explicitly specified | |
| depth_data_loaded | bool | depth data not always filled out |
SpectralValues
| Field | Type | Label | Description |
|---|---|---|---|
| layer | SpectralValues.Layers | repeated | map layers |
SpectralValues.Layers
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength | SpectralValues.Layers.Wavelengths | repeated | wavelength |
SpectralValues.Layers.Wavelengths
| Field | Type | Label | Description |
|---|---|---|---|
| y | SpectralValues.Layers.Wavelengths.ys | repeated | y samples of the map |
SpectralValues.Layers.Wavelengths.ys
| Field | Type | Label | Description |
|---|---|---|---|
| x | float | repeated | x samples of the map |
intensity_distributions/v1/xmp.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Export_Request
Import_Response
Load_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Load_Response
Save_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string |
Save_Response
XmpDistribution
xmp map definition
| Field | Type | Label | Description |
|---|---|---|---|
| extended_map | ExtendedMap | ||
| spectral_map | SpectralMap |
XmpIntensityService
service to manage XMP files
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Load | Load_Request | Load_Response | Load XMP intensity distributions from file |
| Save | Save_Request | Save_Response | Save XMP intensity distributions to file |
| Import | XmpDistribution | Import_Response | import XmpDistribution to COptisMap |
| Export | Export_Request | XmpDistribution | export COPtisMap to XmpDistribution |
job/v2/job.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a Job in JobsManager
| Field | Type | Label | Description |
|---|---|---|---|
| job | Job | Job characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job created in JobsManager |
Delete_Request
Request to delete a Job in JobsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job to be deleted |
Delete_Response
GetError_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
GetError_Response
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| category | string | ||
| severity | int32 | ||
| request | string | ||
| diagnostic | string | ||
| advice | string | ||
| error_file | string | ||
| error_line | int32 |
GetInformation_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
GetInformation_Response
| Field | Type | Label | Description |
|---|---|---|---|
| title | string | ||
| name | string | ||
| infos | string | ||
| progress | double | value between 0.0 and 1.0 | |
| elapsed_time | google.protobuf.Duration | ||
| remaining_time | google.protobuf.Duration | ||
| process_unit_models | string | repeated | Depending on the Job::Type, list of the CPU or GPU models |
| rays_number | uint64 | Number of rays emitted since the (re)start of the simulation | |
| rays_number_per_second | uint64 | Number of rays emitted in the last second |
GetProgressStatus_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
GetProgressStatus_Response
| Field | Type | Label | Description |
|---|---|---|---|
| title | string | ||
| name | string | ||
| infos | string | ||
| progress | double | value between 0.0 and 1.0 | |
| elapsed_time | google.protobuf.Duration | ||
| remaining_time | google.protobuf.Duration | ||
| process_unit_models | string | repeated | Depending on the Job::Type, list of the CPU or GPU models |
| rays_number | uint64 | Number of rays emitted since the (re)start of the simulation | |
| rays_number_per_second | uint64 | Number of rays emitted in the last second |
GetRayPaths_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. | |
| raw_data | bool | optional | Boolean to get the wavelengths in response stream |
| display_data | bool | optional | Boolean to get the colors (RGB24 format) in response stream |
GetResults_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
GetResults_Response
| Field | Type | Label | Description |
|---|---|---|---|
| results | Result | repeated | List of the Job results |
GetState_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
GetState_Response
| Field | Type | Label | Description |
|---|---|---|---|
| state | Job.State |
Job
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Job name | |
| description | string | Job descrition | |
| metadata | Job.MetadataEntry | repeated | User defined metadatas |
| scene_guid | string | Guid of the Scene in ScenesManager | |
| simulation_path | string | Simulation path in the scene that will be used by the job | |
| job_type | Job.Type | Type of the job : CPU, GPU | |
| direct_mc_simulation_properties | Job.DirectMCSimulationProperties | Properties to be filled for simulation based on DirectMCSimulationTemplate | |
| inverse_mc_simulation_properties | Job.InverseMCSimulationProperties | Properties to be filled for simulation based on InverseMCSimulationTemplate | |
| interactive_simulation_properties | Job.InteractiveSimulationProperties | Properties to be filled for simulation based on Interactive | |
| virtualbsdfbench_simulation_properties | Job.VirtualBSDFBenchSimulationProperties | Properties to be filled for simulation based on VirtualBSDFBench |
Job.DirectMCSimulationProperties
If several stop conditions are set, the first condition reached ends the simulation. If no stop condition is set, the simulation ends when you stop the process.
| Field | Type | Label | Description |
|---|---|---|---|
| stop_condition_rays_number | int64 | optional | To stop the simulation after a certain number of rays were sent |
| stop_condition_duration | int64 | optional | To stop the simulation after a certain duration |
| automatic_save_frequency | int32 | Define a backup interval (s). This option is useful when computing long simulations. Note: A reduced number of save operations naturally increases the simulation performance. 0 disables intermediary backup saves. |
Job.InteractiveSimulationProperties
| Field | Type | Label | Description |
|---|---|---|---|
| rays_number_per_sources | Job.InteractiveSimulationProperties.RaysNumberPerSource | repeated | If a source present in Scene::SimulationInstance is not mentioned here, its rays_nb is defaulted to 100. |
| light_expert | bool | To generate a light expert file. | |
| impact_report | bool | To integrate details like number of impacts, position and surface state to the HTML simulation report. |
Job.InteractiveSimulationProperties.RaysNumberPerSource
| Field | Type | Label | Description |
|---|---|---|---|
| source_path | string | Path to the source. Hint: same path that was given in Scene::SimulationInstance | |
| rays_nb | uint32 | optional | Number of rays sent by the source referenced via its source_path. Default 100 |
Job.InverseMCSimulationProperties
If several stop conditions are set, the first condition reached ends the simulation. If no stop condition is set, the simulation ends when you stop the process.
| Field | Type | Label | Description |
|---|---|---|---|
| optimized_propagation_none | Job.InverseMCSimulationProperties.OptimizedPropagationNone | No optimization. Do not forget to fill stop conditions if needed. | |
| optimized_propagation_relative | Job.InverseMCSimulationProperties.OptimizedPropagationRelative | ||
| optimized_propagation_absolute | Job.InverseMCSimulationProperties.OptimizedPropagationAbsolute | ||
| stop_condition_duration | int64 | optional | To stop the simulation after a certain duration |
| automatic_save_frequency | int32 | Define a backup interval (s). This option is useful when computing long simulations. Note: A reduced number of save operations naturally increases the simulation performance. 0 disables intermediary backup saves. | |
| timeline | Job.Timeline | Timeline activation. This parameter is linked to trajectory_file_uri of scene's CameraProperties, flux_variation_file_uri of SourceTemplate (type Surface), and trajectory_file_uri of Scene's SceneInstance. |
Job.InverseMCSimulationProperties.OptimizedPropagationAbsolute
The algorithm adapts the number of passes per pixel to send the optimal number of rays according to the signal each pixel needs. As a result, the SNR is adequate in areas where pixels need more rays, thus giving a balanced image. The Optimized propagation algorithm is only compatible with the Radiance sensors.
| Field | Type | Label | Description |
|---|---|---|---|
| min_pass_number | uint32 | Minimum number of passes without pass optimization. | |
| stop_condition_absolute_value | uint32 | Absolute photometric value of pixel standard deviation threshold |
Job.InverseMCSimulationProperties.OptimizedPropagationNone
No optimization : the same number of passes is used for each pixel of the image
| Field | Type | Label | Description |
|---|---|---|---|
| stop_condition_passes_number | uint32 | optional | To stop the simulation after a certain number of passes |
Job.InverseMCSimulationProperties.OptimizedPropagationRelative
The algorithm adapts the number of passes per pixel to send the optimal number of rays according to the signal each pixel needs. As a result, the SNR is adequate in areas where pixels need more rays, thus giving a balanced image. The Optimized propagation algorithm is only compatible with the Radiance sensors.
| Field | Type | Label | Description |
|---|---|---|---|
| min_pass_number | uint32 | Minimum number of passes without pass optimization. | |
| stop_condition_relative_value | uint32 | Relative pixel standard deviation threshold, in percent. Value expected from 0 to 100. |
Job.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Job.Timeline
If timeline is applied to the job, fill Timeline message.
| Field | Type | Label | Description |
|---|---|---|---|
| start_time | double | Define the start time (s). |
Job.VirtualBSDFBenchSimulationProperties
If no stop condition is set, the simulation ends when you stop the process.
| Field | Type | Label | Description |
|---|---|---|---|
| stop_condition_rays_number | int64 | Number of rays sent per configuration, meaning number of rays per angle incident (and wavelength in iridescence case) |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the Jobs in JobsManager |
Read_Request
Request to read a Job in JobsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| job | Job | Job corresponding to the guid given in Read_Request |
Result
| Field | Type | Label | Description |
|---|---|---|---|
| path | string | Result path on the server | |
| upload_response | file.v1.Upload_Response | Result uploaded to server's file system (via FileTransferService) -> returns Upload_Response |
SaveFile_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. | |
| file_uri | string | URI of the *.speos file to save. (Local path or guid from FileTransferService). |
SaveFile_Response
Start_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
Start_Response
Stop_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job in JobsManager. |
Stop_Response
Update_Request
Request to update a Job in JobsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Job to be updated | |
| job | Job | Job that will be used for the update |
Update_Response
Job.State
| Name | Number | Description |
|---|---|---|
| QUEUED | 0 | |
| RUNNING | 1 | |
| PAUSED | 2 | |
| STOPPED | 3 | |
| FINISHED | 4 | |
| IN_ERROR | 5 |
Job.Type
| Name | Number | Description |
|---|---|---|
| CPU | 0 | |
| GPU | 1 |
JobActions
Service to handle a job
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetState | GetState_Request | GetState_Response | Get the state of a Job |
| Start | Start_Request | Start_Response | Start a Job |
| Stop | Stop_Request | Stop_Response | Stop a Job |
| GetError | GetError_Request | GetError_Response | Get error of a Job |
| GetResults | GetResults_Request | GetResults_Response | Get the results of a Job |
| GetInformation | GetInformation_Request | GetInformation_Response | Get Information about a Job |
| GetRayPaths | GetRayPaths_Request | results.v1.RayPath stream | Get RayPaths generated by a Job based on an interactive simulation |
| GetProgressStatus | GetProgressStatus_Request | GetProgressStatus_Response | Get progress status about a Job |
| SaveFile | SaveFile_Request | SaveFile_Response | Save a Job into .speos file |
JobsManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a Job |
| Read | Read_Request | Read_Response | Read a Job |
| Update | Update_Request | Update_Response | Update a Job |
| Delete | Delete_Request | Delete_Response | Delete a Job |
| List | List_Request | List_Response | List all Jobs in manager |
lpf/v2/lpf_file_reader.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
CloseLpfFileName_Request_Mono
CloseLpfFileName_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string |
CloseLpfFileName_Response
ComputeUniqueFaceId_Request_Mono
| Field | Type | Label | Description |
|---|---|---|---|
| body_context_id | uint32 | ||
| face_id | uint32 |
ComputeUniqueFaceId_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string | ||
| body_context_id | uint32 | ||
| face_id | uint32 |
ComputeUniqueFaceId_Response
| Field | Type | Label | Description |
|---|---|---|---|
| unique_face_id | uint32 |
Create_Request_Multi
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string |
Delete_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string |
Delete_Response
DoubletDouble
| Field | Type | Label | Description |
|---|---|---|---|
| x | double | ||
| y | double |
GetInformation_Request_Mono
GetInformation_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string |
GetInformation_Response
| Field | Type | Label | Description |
|---|---|---|---|
| nb_of_traces | int64 | ||
| nb_of_xmps | uint32 | ||
| has_sensor_contributions | bool | ||
| sensor_names | string | repeated | The sensor position in the repeated field sensor_names gives the sensor_id |
InitLpfFileName_Request_Mono
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_file_uri | string | This can be uri returned by the server when uploading the file, or a local path (in this case the file has to be accessible by the server) |
InitLpfFileName_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string | ||
| lpf_file_uri | string | This can be uri returned by the server when uploading the file, or a local path (in this case the file has to be accessible by the server) |
InitLpfFileName_Response
RayPath
| Field | Type | Label | Description |
|---|---|---|---|
| impacts | TripletFloat | repeated | |
| wavelengths | double | repeated | |
| body_context_ids | uint32 | repeated | |
| unique_face_ids | uint32 | repeated | |
| interaction_statuses | RayPath.PhotonStatus | repeated | |
| lastDirection | TripletFloat | ||
| sensor_contributions | RayPath.SensorContribution | repeated |
RayPath.SensorContribution
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_id | uint32 | The sensor_id corresponds to the position of the sensor in the repeated field GetInformation_Response::sensor_names | |
| coordinates | DoubletDouble |
Read_Request_Mono
Read_Request_Multi
| Field | Type | Label | Description |
|---|---|---|---|
| lpf_reader_guid | string |
TripletFloat
| Field | Type | Label | Description |
|---|---|---|---|
| x | float | ||
| y | float | ||
| z | float |
RayPath.PhotonStatus
| Name | Number | Description |
|---|---|---|
| StatusAbsorbed | 0 | |
| StatusSpecularTransmitted | 1 | |
| StatusGaussianTransmitted | 2 | |
| StatusLambertianTransmitted | 3 | |
| StatusVolumicDiffused | 4 | |
| StatusJustEmitted | 5 | |
| StatusDiracTransmitted | 6 | |
| StatusError | 7 | |
| StatusErrorVolumicBodyNotClosed | 8 | |
| StatusErrorVolumeConflict | 9 | |
| StatusError2DTangency | 10 | |
| StatusError2DIntersect3DWarning | 11 | |
| StatusErrorNonOpticalMaterial | 12 | |
| StatusErrorIntersection | 13 | |
| StatusErrorNonOpticalMaterialAtEmission | 14 | |
| StatusError3DTextureSupportTangency | 15 | |
| StatusLast | 16 | |
| StatusFirst | -7 | |
| StatusDiracReflected | -6 | |
| StatusReserved | -5 | |
| StatusGrinStep | -4 | |
| StatusLambertianReflected | -3 | |
| StatusGaussianReflected | -2 | |
| StatusSpecularReflected | -1 |
LpfFileReader_Mono
service to read lpf file - server can handle one reading - call CloseLpfFileName then InitLpfFileName to start another reading.
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| InitLpfFileName | InitLpfFileName_Request_Mono | InitLpfFileName_Response | Init the lpf file with its path - returns nothing |
| GetInformation | GetInformation_Request_Mono | GetInformation_Response | Get information about the lpf file, for example number of traces, number of xmps... |
| CloseLpfFileName | CloseLpfFileName_Request_Mono | CloseLpfFileName_Response | Close the lpf file - returns nothing |
| Read | Read_Request_Mono | RayPath stream | Read lpf file and get all the ray paths |
| ComputeUniqueFaceId | ComputeUniqueFaceId_Request_Mono | ComputeUniqueFaceId_Response | Compute a unique face id from bodyContextId and faceId |
LpfFileReader_Multi
service to read lpf file - server can handle several reading.
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request_Multi | Create_Response | Create a lpf file reader - returns its guid |
| InitLpfFileName | InitLpfFileName_Request_Multi | InitLpfFileName_Response | Init the lpf file with its path - returns nothing |
| GetInformation | GetInformation_Request_Multi | GetInformation_Response | Get information about the lpf file, for example number of traces, number of xmps... |
| CloseLpfFileName | CloseLpfFileName_Request_Multi | CloseLpfFileName_Response | Close the lpf file - returns nothing |
| Read | Read_Request_Multi | RayPath stream | Read lpf file and get all the ray paths |
| ComputeUniqueFaceId | ComputeUniqueFaceId_Request_Multi | ComputeUniqueFaceId_Response | Compute a unique face id from bodyContextId and faceId |
| Delete | Delete_Request_Multi | Delete_Response | Delete a lpf file reader - returns nothing |
part/v1/body.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Body
Body definition made of faces
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in its Part | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Body.MetadataEntry | repeated | User defined metadata |
| face_guids | string | repeated | List of faces constituting the body |
Body.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Create_Request
Request to create a body
| Field | Type | Label | Description |
|---|---|---|---|
| body | Body | body to create | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
Response to create a body
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the created body |
Delete_Request
Request to delete a body
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the body to be deleted |
Delete_Response
Response to delete a body
List_Request
Request to list all bodies
List_Response
Response to list all bodies
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of all bodies |
ReadAll_Request
Request to read all bodies
ReadAll_Response
Response to read all bodies
| Field | Type | Label | Description |
|---|---|---|---|
| bodies | ReadAll_Response.BodiesEntry | repeated | Read bodies with their Guids |
ReadAll_Response.BodiesEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | Body |
Read_Request
Request to read a body
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the body to be read |
Read_Response
Response to read a body
| Field | Type | Label | Description |
|---|---|---|---|
| body | Body | body corresponding to the guid given in Read_Request |
Update_Request
Request to update a body
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the body to be updated | |
| body | Body | New body that will be used for the update |
Update_Response
Response to update a body
BodiesManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a new body |
| Read | Read_Request | Read_Response | Read a body |
| Update | Update_Request | Update_Response | Update a body |
| Delete | Delete_Request | Delete_Response | Delete a body |
| List | List_Request | List_Response | List all bodies in manager |
| ReadAll | ReadAll_Request | ReadAll_Response | Read the whole database, use a field mask in message grpc request metadata (key = read_masks) to only get needed fields. i.e.: bodies.*.name -> would only return the names of the bodies in the message |
BodyActions
Actions available on a body
| Method Name | Request Type | Response Type | Description |
|---|
part/v1/face.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Chunk
Chunk of a Face
| Field | Type | Label | Description |
|---|---|---|---|
| face_header | Chunk.FaceHeader | Common face data - Field used only in first Chunk (to take advantage of vectors sizes) - If several faces are uploaded/downloaded, then this message determines the start of a new face streaming. | |
| vertices | Chunk.Vertices | coordinates of all points (p1x p1y p1z p2x p2y p2z ...) | |
| facets | Chunk.Facets | indexes of points for all triangles (t1_1 t1_2 t1_3 t2_1 t2_2 t2_3 ...) | |
| normals | Chunk.Normals | normal vector for all points (n1x n1y n1z n2x n2y n2z ...) | |
| vertices_data | Chunk.VerticesData | List of data applied to vertices (like texture coordinates uv) | |
| facets_data | Chunk.FacetsData | List of data applied to facets (like temperature) |
Chunk.FaceHeader
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a FacesManager element - Used for FaceActions.Upload rpc | |
| name | string | ||
| display_name | string | ||
| description | string | ||
| metadata | Chunk.FaceHeader.MetadataEntry | repeated | |
| sizes | int32 | repeated | vectors sizes in Face: (vertices_normals_size, facets_size, vertices_data_size, facets_data_size) - vertices and normals vectors have same size, therefore they are grouped in vertices_normals_size |
Chunk.FaceHeader.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Chunk.Facets
| Field | Type | Label | Description |
|---|---|---|---|
| data | uint32 | repeated |
Chunk.FacetsData
| Field | Type | Label | Description |
|---|---|---|---|
| new_layer | bool | Boolean to express a new layer (MeshData) for facets_data. | |
| name | string | Identifier name (uv, temperature...) | |
| size | int32 | Total size for vector in MeshData: data_size | |
| data | float | repeated | Raw data for each facet |
Chunk.Normals
| Field | Type | Label | Description |
|---|---|---|---|
| data | float | repeated |
Chunk.Vertices
| Field | Type | Label | Description |
|---|---|---|---|
| data | float | repeated |
Chunk.VerticesData
| Field | Type | Label | Description |
|---|---|---|---|
| new_layer | bool | Boolean to express a new layer (MeshData) for vertices_data. | |
| name | string | Identifier name (uv, temperature...) | |
| size | int32 | Total size for vector in MeshData: data_size | |
| data | float | repeated | Raw data for each vertice |
Create_Request
Request to create a face
| Field | Type | Label | Description |
|---|---|---|---|
| face | Face | face to create | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
Response to create a face
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the created face |
Delete_Request
Request to delete a face
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the face to be deleted |
Delete_Response
Response to delete a face
Download_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a FacesManager element | |
| guids | string | repeated | Guids of FacesManager elements to download. |
| only_face_header | bool | optional | If this optional boolean is set to true, only the FaceHeader will be returned in answer stream. |
Face
Face definition with meshing information
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in its Body | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Face.MetadataEntry | repeated | user defined metadata |
| vertices | float | repeated | coordinates of all points (p1x p1y p1z p2x p2y p2z ...) |
| facets | uint32 | repeated | indexes of points for all triangles (t1_1 t1_2 t1_3 t2_1 t2_2 t2_3 ...) |
| normals | float | repeated | normal vector for all points (n1x n1y n1z n2x n2y n2z ...) |
| vertices_data | Face.MeshData | repeated | List of data applied to vertices (like texture coordinates uv) |
| facets_data | Face.MeshData | repeated | List of data applied to facets (like temperature) |
Face.MeshData
Store named data on meshed
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Identifier name (uv, temperature...) | |
| data | float | repeated | Raw data for each mesh |
Face.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
List_Request
Request to list all faces
List_Response
Response to list all faces
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of all faces |
Read_Request
Request to read a face
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the face to be read |
Read_Response
Response to read a face
| Field | Type | Label | Description |
|---|---|---|---|
| face | Face | face corresponding to the guid given in Read_Request |
ReserveFace_Request
| Field | Type | Label | Description |
|---|---|---|---|
| faces | Face | repeated | repeated face headers |
ReserveFace_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | guids of the created faces, in the order sent |
Update_Request
Request to update a face
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the face to be updated | |
| face | Face | New face that will be used for the update |
Update_Response
Response to update a face
Upload_Response
FaceActions
Actions available on a face
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| ReserveFaces | ReserveFace_Request stream | ReserveFace_Response stream | allocate faces before uploading them. to have maximum benefit, only the name, description and metadata should be filled |
| Upload | Chunk stream | Upload_Response | Update a face via streaming |
| Download | Download_Request | Chunk stream | Read a face via streaming |
FacesManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a new face |
| Read | Read_Request | Read_Response | Read a face |
| Update | Update_Request | Update_Response | Update a face |
| Delete | Delete_Request | Delete_Response | Delete a face |
| List | List_Request | List_Response | List all faces in manager |
part/v1/part.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create an element
| Field | Type | Label | Description |
|---|---|---|---|
| part | Part | Element to create | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
Response to create an element
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the created element |
Delete_Request
Request to delete an element
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the element to be deleted |
Delete_Response
Response to delete an element
List_Request
Request to list all elements
List_Response
Response to list all elements
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of all Parts |
Part
Part definition, a Part is related to a CAD part file (scdocx, prt, ...) made of meshed bodies and faces
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Part.MetadataEntry | repeated | User defined metadata |
| body_guids | string | repeated | List of bodies constituting the part |
| parts | Part.PartInstance | repeated | List of sub parts |
Part.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Part.PartInstance
Instance of Part in parent coordinates system
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in its Part | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Part.PartInstance.MetadataEntry | repeated | User defined metadata |
| part_guid | string | Guid of Part in PartsManager | |
| axis_system | double | repeated | Part position relative to parent reference (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Part.PartInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
ReadAll_Request
Request to read all parts
ReadAll_Response
Response to read all parts
| Field | Type | Label | Description |
|---|---|---|---|
| parts | ReadAll_Response.PartsEntry | repeated | Read parts with their Guids |
ReadAll_Response.PartsEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | Part |
Read_Request
Request to read an element
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the element to be read |
Read_Response
Response to read an element
| Field | Type | Label | Description |
|---|---|---|---|
| part | Part | Element corresponding to the guid given in Read_Request |
Update_Request
Request to update an element
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the PartTemplate to be updated | |
| part | Part | New element that will be used for the update |
Update_Response
Response to update an element
PartActions
Actions available on a Part
| Method Name | Request Type | Response Type | Description |
|---|
PartsManager
Service to manage geometrical objects
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a new part |
| Read | Read_Request | Read_Response | Read a part |
| Update | Update_Request | Update_Response | Update a part |
| Delete | Delete_Request | Delete_Response | Delete a part |
| List | List_Request | List_Response | List all parts in manager |
| ReadAll | ReadAll_Request | ReadAll_Response | Read the whole database, use a field mask in message grpc request metadata (key = read_masks) to only get needed fields. i.e.: parts.*.name -> would only return the names of the bodies in the message |
results/v1/map.proto
ExportXMPToImage_Request
| Field | Type | Label | Description |
|---|---|---|---|
| xmp_file_uri | string | Uri of the XMP file to export to PNG image. (Local path or guid from FileTransferService). | |
| image_file_uri | string | Uri of the image exported. (Local path or guid from FileTransferService). If pointing to folder or empty filename reserved from FileTransferService, filename will be the one of the XMP file and the guid provided will point to the generated file. If extension is not PNG, ".png" will be added at the end of filename. |
ExportXMPToImage_Response
MergeSpeos360ToStereoSpeos360_Request
| Field | Type | Label | Description |
|---|---|---|---|
| map_left_to_merge_uri | string | Absolute path to left Speos360 file to merge. | |
| map_right_to_merge_uri | string | Absolute path to right Speos360 file to merge. | |
| map_merged_uri | string | Absolute path to merged stereoscopic Speos360 file. |
MergeSpeos360ToStereoSpeos360_Response
MergeXMPsToXMPOrSpeos360_Request
| Field | Type | Label | Description |
|---|---|---|---|
| map_to_merge_uri | string | repeated | List of absolute path to XMP files to merge. |
| map_merged_uri | string | Absolute path to merged XMP or Speos360 file. | |
| axis_system | double | repeated | Optional axis system to force orientation in merged Speos360 file. |
MergeXMPsToXMPOrSpeos360_Response
SplitSpeos360IntoXMPs_Request
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string | Uri of the speos360 file to split. |
SplitSpeos360IntoXMPs_Response
| Field | Type | Label | Description |
|---|---|---|---|
| splitted_map_uri | string | repeated | List of uris to XMP files. |
MapActions
Actions available with XMP and Speos360 result file.
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| MergeXMPsToXMPOrSpeos360 | MergeXMPsToXMPOrSpeos360_Request | MergeXMPsToXMPOrSpeos360_Response | Merge list of XMP files into a XMP or Speos360 file. [Unsupported] |
| MergeSpeos360ToStereoSpeos360 | MergeSpeos360ToStereoSpeos360_Request | MergeSpeos360ToStereoSpeos360_Response | Merge left and right speos360 files into a stereoscopic Speos360 file. [Unsupported] |
| SplitSpeos360IntoXMPs | SplitSpeos360IntoXMPs_Request | SplitSpeos360IntoXMPs_Response | Split a Speos360 file into a list of XMP files. [Unsupported] |
| ExportXMPToImage | ExportXMPToImage_Request | ExportXMPToImage_Response | Export XMP to PNG |
results/v1/ray_path.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
RayPath
| Field | Type | Label | Description |
|---|---|---|---|
| impacts_coordinates | float | repeated | Impacts coordinates of this RayPath. (i0x, i0y, i0z, i1x, i1y, i1z, ..., iNx, iNy, iNz) with N+1 impacts |
| wavelengths | double | repeated | Wavelength at each impact. |
| body_context_ids | uint32 | repeated | ID of the body impacted at each impact. |
| unique_face_ids | uint32 | repeated | ID of the face impacted at each impact. |
| interaction_statuses | RayPath.PhotonStatus | repeated | Interaction type at each impact with the elements encountered. |
| last_direction | float | repeated | Direction after the last impact. (x, y, z) |
| colors | common.v1.DataBytes | The color in RGB24 format at each impact |
RayPath.PhotonStatus
| Name | Number | Description |
|---|---|---|
| StatusAbsorbed | 0 | |
| StatusSpecularTransmitted | 1 | |
| StatusGaussianTransmitted | 2 | |
| StatusLambertianTransmitted | 3 | |
| StatusVolumicDiffused | 4 | |
| StatusJustEmitted | 5 | |
| StatusDiracTransmitted | 6 | |
| StatusError | 7 | |
| StatusErrorVolumicBodyNotClosed | 8 | |
| StatusErrorVolumeConflict | 9 | |
| StatusError2DTangency | 10 | |
| StatusError2DIntersect3DWarning | 11 | |
| StatusErrorNonOpticalMaterial | 12 | |
| StatusErrorIntersection | 13 | |
| StatusErrorNonOpticalMaterialAtEmission | 14 | |
| StatusError3DTextureSupportTangency | 15 | |
| StatusLast | 16 | |
| StatusFirst | -7 | |
| StatusDiracReflected | -6 | |
| StatusReserved | -5 | |
| StatusGrinStep | -4 | |
| StatusLambertianReflected | -3 | |
| StatusGaussianReflected | -2 | |
| StatusSpecularReflected | -1 |
scene/v1/scene.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| scene | Scene |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene created in ScenesManager |
Delete_Request
Request to delete a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be deleted |
Delete_Response
GetSourceRayPaths_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element | |
| source_path | string | path to the source in the Scene : " |
|
| rays_nb | uint32 | optional | Number of rays sent by the source. Default 100 |
| raw_data | bool | optional | Boolean to get the wavelengths in response stream |
| display_data | bool | optional | Boolean to get the colors (RGB24 format) in response stream |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the Scenes in ScenesManager |
LoadFile_Request
Request to LoadFile service
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element to update | |
| file_uri | string | File uri (path or guid from FileTransferService) |
LoadFile_Response
Response to LoadFile service
Read_Request
Request to read a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| scene | Scene | Scene corresponding to the guid given in Read_Request |
SaveFile_Request
Request to SaveFile service. Warning: SaveFile is not supported.
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element to save | |
| file_uri | string | File uri (path or guid from FileTransferService) |
SaveFile_Response
Response to SaveFile service. Warning: SaveFile is not supported.
Scene
Optical scene definition made of parts, optical properties, sources, sensors and simulations
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.MetadataEntry | repeated | User defined metadata |
| part_guid | string | Guid from PartsManager of the geometrical part included inside the scene | |
| vops | Scene.VOPInstance | repeated | The volume materials applied on geometries |
| sops | Scene.SOPInstance | repeated | The surface materials applied on geometries |
| sources | Scene.SourceInstance | repeated | The sources added in the scene |
| sensors | Scene.SensorInstance | repeated | The sensors added in the scene |
| simulations | Scene.SimulationInstance | repeated | The simulations added in the scene |
| scenes | Scene.SceneInstance | repeated | Sub scenes |
Scene.GeoPaths
Geometry path of object that will include the specific property (can be sub-scene/part/body/face).
Empty or "" for all geometries, or in the format :
| Field | Type | Label | Description |
|---|---|---|---|
| geo_paths | string | repeated | list of geo paths |
Scene.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SOPInstance
Instance of a SOP to apply on geometries of the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.SOPInstance.MetadataEntry | repeated | User defined metadata |
| sop_guid | string | Guid of the element to instantiate | |
| geometries | Scene.GeoPaths | Geometries that will use this material |
Scene.SOPInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SceneInstance
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.SceneInstance.MetadataEntry | repeated | User defined metadata |
| scene_guid | string | Guid of the element to instantiate | |
| axis_system | double | repeated | Scene position relative to parent PartTemplate reference (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
Scene.SceneInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SensorInstance
Instance of a sensor to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.SensorInstance.MetadataEntry | repeated | User defined metadata |
| sensor_guid | string | Guid of the SensorTemplate in SensorTemplatesManager to instantiate | |
| result_file_name | string | Result file name without extention. Result files of the sensor will be based on this name. | |
| camera_sensor_properties | Scene.SensorInstance.CameraSensorProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type CameraSensorTemplate | |
| irradiance_sensor_properties | Scene.SensorInstance.IrradianceSensorProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type IrradianceSensorTemplate | |
| radiance_sensor_properties | Scene.SensorInstance.RadianceSensorProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type SensorTemplate::Radiance |
Scene.SensorInstance.CameraSensorProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| trajectory_file_uri | string | Trajectory file, used to define the positions and orientations of the Camera sensor in time. | |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source |
Scene.SensorInstance.IrradianceSensorProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| ray_file_type | Scene.SensorInstance.EnumRayFileType | Choose type of ray file generated after the simulation. | |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source | |
| layer_type_face | Scene.SensorInstance.LayerTypeFace | Layer type : Face | |
| layer_type_sequence | Scene.SensorInstance.LayerTypeSequence | Layer type : Sequence | |
| layer_type_polarization | Scene.SensorInstance.LayerTypePolarization | Layer type : Polarization | |
| layer_type_incidence_angle | Scene.SensorInstance.LayerTypeIncidenceAngle | Layer type : Incidence angle | |
| integration_direction | double | repeated | Sensor global integration direction [x,y,z], optional (default direction is normal to sensor plane (anti-normal of the sensor)) and only settable for sensor template with IlluminanceTypePlanar or IlluminanceTypeSemiCylindrical as illuminance_type |
| output_face_geometries | Scene.GeoPaths | List of output faces for inverse simulation optimization |
Scene.SensorInstance.LayerTypeFace
Includes one layer per surface selected in the result.
| Field | Type | Label | Description |
|---|---|---|---|
| sca_filtering_mode | Scene.SensorInstance.LayerTypeFace.EnumSCAFilteringType | ||
| layers | Scene.SensorInstance.LayerTypeFace.Layer | repeated | Layers that will be taken into account in the result. |
Scene.SensorInstance.LayerTypeFace.Layer
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Name of the layer | |
| geometries | Scene.GeoPaths | Surface selected. |
Scene.SensorInstance.LayerTypeIncidenceAngle
Includes one layer per range of incident angles.
| Field | Type | Label | Description |
|---|---|---|---|
| sampling | uint32 |
Scene.SensorInstance.LayerTypeNone
Includes the simulation's results in one layer.
Scene.SensorInstance.LayerTypePolarization
Includes one layer per Stokes parameter using the polarization parameter.
Scene.SensorInstance.LayerTypeSequence
Includes one layer per sequence in the result.
| Field | Type | Label | Description |
|---|---|---|---|
| maximum_nb_of_sequence | uint32 | ||
| define_sequence_per | Scene.SensorInstance.LayerTypeSequence.EnumSequenceType |
Scene.SensorInstance.LayerTypeSource
Includes one layer per active source in the result.
Scene.SensorInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SensorInstance.RadianceSensorProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| observer_point | double | repeated | Position of the observer point (Ox Oy Oz), optional (default: focal length is used) |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source | |
| layer_type_face | Scene.SensorInstance.LayerTypeFace | Layer type : Face | |
| layer_type_sequence | Scene.SensorInstance.LayerTypeSequence | Layer type : Sequence |
Scene.SimulationInstance
Instance of a simulation to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.SimulationInstance.MetadataEntry | repeated | User defined metadata |
| simulation_guid | string | Guid of the element to instantiate | |
| sensor_paths | string | repeated | Sensors that this simulation will include (empty or "" for all sensors, " |
| source_paths | string | repeated | Sources that this simulation will include (empty or "" for all sources, " |
| geometries | Scene.GeoPaths | Geometries that this simulation will include (empty to select the root part and all the subscenes) |
Scene.SimulationInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SourceInstance
Instance of a source to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.SourceInstance.MetadataEntry | repeated | User defined metadata |
| source_guid | string | Guid of the SourceTemplate in SourceTemplatesManager to instantiate | |
| luminaire_properties | Scene.SourceInstance.LuminaireProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Luminaire | |
| surface_properties | Scene.SourceInstance.SurfaceProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Surface | |
| rayfile_properties | Scene.SourceInstance.RayFileProperties | To be filled if the source_guid corresponds to a SourceTemplate of type RayFile |
Scene.SourceInstance.IntensityProperties
| Field | Type | Label | Description |
|---|---|---|---|
| library_properties | Scene.SourceInstance.IntensityProperties.LibraryProperties | To be filled if the intensity_guid of the source template corresponds to an IntensityTemplate of type Library | |
| asymmetric_gaussian_properties | Scene.SourceInstance.IntensityProperties.AsymmetricGaussianProperties | Deprecated (use gaussian_properties instead) - To be filled if the intensity_guid of the source template corresponds to an IntensityTemplate of type AsymmetricGaussian | |
| gaussian_properties | Scene.SourceInstance.IntensityProperties.GaussianProperties | To be filled if the intensity_guid of the source template corresponds to an IntensityTemplate of type Gaussian |
Scene.SourceInstance.IntensityProperties.AsymmetricGaussianProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | orientation (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
Scene.SourceInstance.IntensityProperties.GaussianProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | optional - orientation of the intensity distribution (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) - if not filled : normal to surface map. |
Scene.SourceInstance.IntensityProperties.LibraryProperties
| Field | Type | Label | Description |
|---|---|---|---|
| exit_geometries | Scene.GeoPaths | Exit Geometries that will use this surface source | |
| axis_system | Scene.SourceInstance.IntensityProperties.LibraryProperties.AxisSystem | orientation (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) | |
| normal_to_surface | Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToSurface | Define the intensity distribution as normal to the selected surface. | |
| normal_to_uv_map | Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToUVMap | Define the intensity distribution as normal to the selected emissive surface and its orientation on the emissive surface. |
Scene.SourceInstance.IntensityProperties.LibraryProperties.AxisSystem
| Field | Type | Label | Description |
|---|---|---|---|
| values | double | repeated | orientation (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToSurface
Define the intensity distribution as normal to the selected surface.
Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToUVMap
Define the intensity distribution as normal to the selected emissive surface and its orientation on the emissive surface.
Scene.SourceInstance.LuminaireProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the source (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
Scene.SourceInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SourceInstance.RayFileProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the source (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| exit_geometries | Scene.GeoPaths | Exit Geometries that will use this rayfile source |
Scene.SourceInstance.SurfaceProperties
| Field | Type | Label | Description |
|---|---|---|---|
| exitance_constant_properties | Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties | To be filled if the Surface SourceTemplate has ExitanceConstant | |
| exitance_variable_properties | Scene.SourceInstance.SurfaceProperties.ExitanceVariableProperties | To be filled if the Surface SourceTemplate has ExitanceVariable | |
| intensity_properties | Scene.SourceInstance.IntensityProperties |
Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties
| Field | Type | Label | Description |
|---|---|---|---|
| geo_paths | Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties.GeoPath | repeated |
Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties.GeoPath
| Field | Type | Label | Description |
|---|---|---|---|
| geo_path | string | Geometry that will use this surface source ("" for a whole body, or "/ |
|
| reverse_normal | bool | optional | optional - if not set or false : normal is not reversed. |
Scene.SourceInstance.SurfaceProperties.ExitanceVariableProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_plane | double | repeated | Position of the exitance map (Ox Oy Oz Xx Xy Xz Yx Yy Yz) |
Scene.VOPInstance
Instance of a VOP to apply on geometries of the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.VOPInstance.MetadataEntry | repeated | User defined metadata |
| vop_guid | string | Guid of the element to instantiate | |
| geometries | Scene.GeoPaths | Geometries that will use this material |
Scene.VOPInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Update_Request
Request to update a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be updated | |
| scene | Scene | Scene that will be used for the update |
Update_Response
Scene.SensorInstance.EnumRayFileType
Ray file types available
| Name | Number | Description |
|---|---|---|
| RayFileNone | 0 | Generates no ray file. |
| RayFileClassic | 1 | Generates a ray file without polarization data. |
| RayFilePolarization | 2 | Generates a ray file with the polarization data for each ray. |
| RayFileTM25 | 3 | Generates a .tm25ray file with polarization data for each ray. |
| RayFileTM25NoPolarization | 4 | Generates a .tm25ray file without polarization data. |
Scene.SensorInstance.LayerTypeFace.EnumSCAFilteringType
| Name | Number | Description |
|---|---|---|
| LastImpact | 0 | |
| IntersectedOneTime | 1 |
Scene.SensorInstance.LayerTypeSequence.EnumSequenceType
| Name | Number | Description |
|---|---|---|
| Geometries | 0 | |
| Faces | 1 |
SceneActions
Actions available on a Scene
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| LoadFile | LoadFile_Request | LoadFile_Response | Load .speos file |
| SaveFile | SaveFile_Request | SaveFile_Response | Save .speos file. Warning: SaveFile is not supported. |
| GetSourceRayPaths | GetSourceRayPaths_Request | results.v1.RayPath stream | Get RayPaths generated by a source |
ScenesManager
Manager for Scenes
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a Scene |
| Read | Read_Request | Read_Response | Read a Scene |
| Update | Update_Request | Update_Response | Update a Scene |
| Delete | Delete_Request | Delete_Response | Delete a Scene |
| List | List_Request | List_Response | List all Scenes in manager |
scene/v2/scene.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| scene | Scene | ||
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene created in ScenesManager |
Delete_Request
Request to delete a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be deleted |
Delete_Response
GetSourceRayPaths_Request
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element | |
| source_path | string | path to the source in the Scene : " |
|
| rays_nb | uint32 | optional | Number of rays sent by the source. Default 100 |
| raw_data | bool | optional | Boolean to get the wavelengths in response stream |
| display_data | bool | optional | Boolean to get the colors (RGB24 format) in response stream |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the Scenes in ScenesManager |
LoadFile_Request
Request to LoadFile service
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element to update | |
| file_uri | string | File uri (path or guid from FileTransferService) | |
| password | string | Password needed to open the speos lightbox file (only necessary if user protects the speos light box with a password) |
LoadFile_Response
Response to LoadFile service
Read_Request
Request to read a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| scene | Scene | Scene corresponding to the guid given in Read_Request |
SaveFile_Request
Request to SaveFile service.
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of a ScenesManager element to save | |
| file_uri | string | File uri (path or guid from FileTransferService) | |
| password | string | Password to be defined if the user wants to protect a Speos Lightbox file. If not, then keep this field empty. | |
| is_black_boxed | bool | Flag to save the scene into a black-boxed Speos Lightbox. If the scene is already tagged as black-boxed, this flag is ignored. |
SaveFile_Response
Response to SaveFile service.
Scene
Optical scene definition made of parts, optical properties, sources, sensors and simulations
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | ||
| description | string | ||
| metadata | Scene.MetadataEntry | repeated | User defined metadata |
| part_guid | string | Guid from PartsManager of the geometrical part included inside the scene | |
| sub_scene_anchor_axis_system | double | repeated | Only used for sub-scene - Represents the axis system to be attached to the one describing the scene instance. If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| sources | Scene.SourceInstance | repeated | The sources added in the scene |
| sensors | Scene.SensorInstance | repeated | The sensors added in the scene |
| simulations | Scene.SimulationInstance | repeated | The simulations added in the scene |
| materials | Scene.MaterialInstance | repeated | The materials (volume + surface) applied on geometries |
| scenes | Scene.SceneInstance | repeated | Sub scenes |
| ground | Scene.GroundPlane | Optional - Only usable when there is at least one Ambient Environment Source Template that has selected a HDR image file. |
Scene.GeoPath
| Field | Type | Label | Description |
|---|---|---|---|
| geo_path | string | Geometry that will be used ("" for a whole body, or "/ |
|
| reverse_normal | bool | optional | optional - if not set or false : normal is not reversed. |
Scene.GeoPaths
Geometry path of object that will include the specific property (can be sub-scene/part/body/face).
geo_path in the format : "
| Field | Type | Label | Description |
|---|---|---|---|
| geo_paths | string | repeated | list of geo paths |
Scene.GroundPlane
| Field | Type | Label | Description |
|---|---|---|---|
| ground_origin | double | repeated | 3D point in the geometry. HDR image is displayed on the ground plane |
| zenith_direction | double | repeated | line normal to the ground or Z direction |
| ground_height | double | height of the environment shooting (unit mm) |
Scene.MaterialInstance
Instance of a material to apply on geometries of the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in the scene | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Scene.MaterialInstance.MetadataEntry | repeated | User defined metadata |
| vop_guid | string | optional | optional - Guid of the volume optical property to instantiate |
| non_homogeneous_properties | Scene.MaterialInstance.NonHomogeneousProperties | To be filled if the vop_guid corresponds to a VOPTemplate of type NonHomogeneous | |
| sop_guids | string | repeated | Deprecated - Better use sop oneof field (either sop_guid or texture) |
| sop_guid | string | Guid of the surface optical property to instantiate | |
| texture | Scene.MaterialInstance.Texture | Surface optical property to instantiate using texture (can be composed of several layers) | |
| geometries | Scene.GeoPaths | Geometries that will use this material |
Scene.MaterialInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.MaterialInstance.NonHomogeneousProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the non homogeneous vop (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Scene.MaterialInstance.Texture
| Field | Type | Label | Description |
|---|---|---|---|
| layers | Scene.MaterialInstance.Texture.Layer | repeated | List of texture layers (also called multi texture in case of several layers) |
Scene.MaterialInstance.Texture.Layer
| Field | Type | Label | Description |
|---|---|---|---|
| sop_guid | string | Guid of the surface optical property to bind to geometry | |
| image_properties | Scene.MaterialInstance.Texture.Layer.TextureMappingInfo | To be filled if the SOPTemplate/Texture contains image field | |
| normal_map_properties | Scene.MaterialInstance.Texture.Layer.TextureMappingInfo | To be filled if the SOPTemplate/Texture contains normal_map field | |
| anisotropy_map_properties | Scene.MaterialInstance.Texture.Layer.TextureMappingInfo | To be filled if the SOPTemplate is anisotropic (for example an anisotropicbsdf as Library file uri) |
Scene.MaterialInstance.Texture.Layer.TextureMappingInfo
| Field | Type | Label | Description |
|---|---|---|---|
| mapping_operator | Scene.MaterialInstance.Texture.MappingOperator | Mapping operator to create UV mapping in corresponding face | |
| vertices_data_index | uint32 | Index in face's vertices_data where UV mapping is stored |
Scene.MaterialInstance.Texture.MappingOperator
| Field | Type | Label | Description |
|---|---|---|---|
| planar | Scene.MaterialInstance.Texture.MappingOperator.Planar | ||
| cubic | Scene.MaterialInstance.Texture.MappingOperator.Cubic | ||
| spherical | Scene.MaterialInstance.Texture.MappingOperator.Spherical | ||
| cylindrical | Scene.MaterialInstance.Texture.MappingOperator.Cylindrical | ||
| axis_system | double | repeated | Reference for the mapping operator (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| u_offset | double | Shift on U direction (mm) | |
| v_offset | double | Shift on V direction (mm) | |
| u_scale_factor | double | Scale factor on U dimension | |
| v_scale_factor | double | Scale factor on V dimension | |
| u_length | double | Dimension on U direction (mm) | |
| v_length | double | optional | Optional - Dimension on V direction (mm). If not filled, then the image ratio is used to define v_length from u_length. |
| rotation | double | Rotation of UVs (degree) ]-360, 360[ |
Scene.MaterialInstance.Texture.MappingOperator.Cubic
Scene.MaterialInstance.Texture.MappingOperator.Cylindrical
| Field | Type | Label | Description |
|---|---|---|---|
| base_perimeter | double |
Scene.MaterialInstance.Texture.MappingOperator.Planar
Scene.MaterialInstance.Texture.MappingOperator.Spherical
| Field | Type | Label | Description |
|---|---|---|---|
| sphere_perimeter | double |
Scene.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SceneInstance
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in the scene | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Scene.SceneInstance.MetadataEntry | repeated | User defined metadata |
| scene_guid | string | Guid of the element to instantiate | |
| axis_system | double | repeated | Scene position relative to parent PartTemplate reference (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| trajectory_file_uri | string | Trajectory file, used to define the positions and orientations of the Scene instance in time. |
Scene.SceneInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SensorInstance
Instance of a sensor to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in the scene | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Scene.SensorInstance.MetadataEntry | repeated | User defined metadata |
| sensor_guid | string | Guid of the SensorTemplate in SensorTemplatesManager to instantiate | |
| result_file_name | string | Result file name without extention. Result files of the sensor will be based on this name. | |
| camera_properties | Scene.SensorInstance.CameraProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type CameraSensorTemplate | |
| irradiance_properties | Scene.SensorInstance.IrradianceProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type IrradianceSensorTemplate | |
| radiance_properties | Scene.SensorInstance.RadianceProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type SensorTemplate::Radiance | |
| intensity_properties | Scene.SensorInstance.IntensityProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type IntensitySensorTemplate | |
| polar_intensity_properties | Scene.SensorInstance.PolarIntensityProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type PolarIntensitySensorTemplate | |
| irradiance_3d_properties | Scene.SensorInstance.Irradiance3DProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type SensorTemplate::Irradiance3D | |
| observer_properties | Scene.SensorInstance.ObserverProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type SensorTemplate::Observer | |
| immersive_properties | Scene.SensorInstance.ImmersiveProperties | To be filled if the sensor_guid corresponds to a SensorTemplate of type SensorTemplate::Immersive | |
| lxp_properties | Scene.SensorInstance.LXPProperties | To activate lxp feature, we must fill this field |
Scene.SensorInstance.CameraProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| trajectory_file_uri | string | Trajectory file, used to define the positions and orientations of the Camera sensor in time. | |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source |
Scene.SensorInstance.ImmersiveProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). X corresponds to Front direction. Y corresponds to Top direction. Z corresponds to Right direction. |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None. | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source. |
Scene.SensorInstance.IntensityProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type: None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type: Source | |
| layer_type_face | Scene.SensorInstance.LayerTypeFace | Layer type: Face | |
| layer_type_sequence | Scene.SensorInstance.LayerTypeSequence | Layer type: Sequence |
Scene.SensorInstance.Irradiance3DProperties
| Field | Type | Label | Description |
|---|---|---|---|
| ray_file_type | Scene.SensorInstance.EnumRayFileType | Choose type of ray file generated after the simulation. | |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source | |
| geometries | Scene.GeoPaths | Geometries that will use this sensor |
Scene.SensorInstance.IrradianceProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| ray_file_type | Scene.SensorInstance.EnumRayFileType | Choose type of ray file generated after the simulation. | |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source | |
| layer_type_face | Scene.SensorInstance.LayerTypeFace | Layer type : Face | |
| layer_type_sequence | Scene.SensorInstance.LayerTypeSequence | Layer type : Sequence | |
| layer_type_polarization | Scene.SensorInstance.LayerTypePolarization | Layer type : Polarization | |
| layer_type_incidence_angle | Scene.SensorInstance.LayerTypeIncidenceAngle | Layer type : Incidence angle | |
| integration_direction | double | repeated | Sensor global integration direction [x,y,z], optional (default direction is Z axis of axis_system). Note: Contrary to any visualization of integration directions within Speos Software or its documentation the integration direction must be set in the anti-rays direction to integrate their signal. Integration direction is only settable for sensor template with IlluminanceTypePlanar or IlluminanceTypeSemiCylindrical as illuminance_type. |
| output_face_geometries | Scene.GeoPaths | List of output faces for inverse simulation optimization |
Scene.SensorInstance.LXPProperties
| Field | Type | Label | Description |
|---|---|---|---|
| nb_max_paths | uint32 | The Maximum paths corresponds to the maximum number of rays the Light Expert file (*.lpf or *.lp3) can contain. |
Scene.SensorInstance.LayerTypeFace
Includes one layer per surface selected in the result.
| Field | Type | Label | Description |
|---|---|---|---|
| sca_filtering_mode | Scene.SensorInstance.LayerTypeFace.EnumSCAFilteringType | ||
| layers | Scene.SensorInstance.LayerTypeFace.Layer | repeated | Layers that will be taken into account in the result. |
Scene.SensorInstance.LayerTypeFace.Layer
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Name of the layer | |
| geometries | Scene.GeoPaths | Surface selected. |
Scene.SensorInstance.LayerTypeIncidenceAngle
Includes one layer per range of incident angles.
| Field | Type | Label | Description |
|---|---|---|---|
| sampling | uint32 |
Scene.SensorInstance.LayerTypeNone
Includes the simulation's results in one layer.
Scene.SensorInstance.LayerTypePolarization
Includes one layer per Stokes parameter using the polarization parameter.
Scene.SensorInstance.LayerTypeSequence
Includes one layer per sequence in the result.
| Field | Type | Label | Description |
|---|---|---|---|
| maximum_nb_of_sequence | uint32 | ||
| define_sequence_per | Scene.SensorInstance.LayerTypeSequence.EnumSequenceType |
Scene.SensorInstance.LayerTypeSource
Includes one layer per active source in the result.
Scene.SensorInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SensorInstance.ObserverProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the observed object/scene. (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). X corresponds to Horizontal direction. Y corresponds to Vertical direction. |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None. | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source. |
Scene.SensorInstance.PolarIntensityProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Scene.SensorInstance.RadianceProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the sensor (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| observer_point | double | repeated | Position of the observer point (Ox Oy Oz), optional (default: focal length is used) |
| layer_type_none | Scene.SensorInstance.LayerTypeNone | Layer type : None | |
| layer_type_source | Scene.SensorInstance.LayerTypeSource | Layer type : Source | |
| layer_type_face | Scene.SensorInstance.LayerTypeFace | Layer type : Face | |
| layer_type_sequence | Scene.SensorInstance.LayerTypeSequence | Layer type : Sequence |
Scene.SimulationInstance
Instance of a simulation to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in the scene | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Scene.SimulationInstance.MetadataEntry | repeated | User defined metadata |
| simulation_guid | string | Guid of the element to instantiate | |
| sensor_paths | string | repeated | Sensors that this simulation will include (empty for no sensor, [""] for all sensors, " |
| source_paths | string | repeated | Sources that this simulation will include (empty for no source, [""] for all sources, " |
| source_groups | Scene.SimulationInstance.SourceGroup | repeated | Source groups that this simulation will include, only sources which are in source_path can be added to a source group. All sources with in one source group will be grouped in one layer in the result, when sensor layering is LayerTypeSource. |
| geometries | Scene.GeoPaths | Geometries that this simulation will include - Not yet functional (All geometries are included by default in each simulation) | |
| vbb_properties | Scene.SimulationInstance.VirtualBSDFBenchProperties | To be filled if the simulation_guid corresponds to a SimulationTemplate of type VirtualBSDFBench |
Scene.SimulationInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SimulationInstance.SourceGroup
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Group name for the source | |
| source_paths | string | repeated | Sources that belong to this group, selection can be done by " |
Scene.SimulationInstance.VirtualBSDFBenchProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Axis system of measurement (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz), O will be the measurement position, Z will be the normal axis (theta angle reference) and X the orientation on the surface (phi angle reference) |
| analysis_x_ratio | double | Ratio to reduce the analysis area following x, must be in range ]0., 100.] | |
| analysis_y_ratio | double | Ratio to reduce the analysis area following y, must be in range ]0., 100.] |
Scene.SourceInstance
Instance of a source to add in the scene
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Unique identifier in the scene | |
| display_name | string | User name to be displayed | |
| description | string | ||
| metadata | Scene.SourceInstance.MetadataEntry | repeated | User defined metadata |
| source_guid | string | Guid of the SourceTemplate in SourceTemplatesManager to instantiate | |
| luminaire_properties | Scene.SourceInstance.LuminaireProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Luminaire | |
| surface_properties | Scene.SourceInstance.SurfaceProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Surface | |
| rayfile_properties | Scene.SourceInstance.RayFileProperties | To be filled if the source_guid corresponds to a SourceTemplate of type RayFile | |
| thermic_properties | Scene.SourceInstance.ThermicProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Thermic Source | |
| display_properties | Scene.SourceInstance.DisplayProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Display | |
| ambient_properties | Scene.SourceInstance.AmbientProperties | To be filled if the source_guid corresponds to a SourceTemplate of type Ambient |
Scene.SourceInstance.AmbientProperties
| Field | Type | Label | Description |
|---|---|---|---|
| zenith_direction | double | repeated | line normal to the ground or Z direction |
| reverse_zenith | bool | optional - if not set or false : normal is not reversed | |
| uniform_ambient_properties | Scene.SourceInstance.AmbientProperties.UniformAmbientProperties | ||
| cie_overcast_properties | Scene.SourceInstance.AmbientProperties.CieOvercastProperties | ||
| cie_general_properties | Scene.SourceInstance.AmbientProperties.CieGeneralProperties | ||
| natural_light_properties | Scene.SourceInstance.AmbientProperties.NaturalLightProperties | ||
| us_standard_properties | Scene.SourceInstance.AmbientProperties.UsStandardProperties | ||
| environment_map_properties | Scene.SourceInstance.AmbientProperties.EnvironmentMapProperties |
Scene.SourceInstance.AmbientProperties.CieGeneralProperties
| Field | Type | Label | Description |
|---|---|---|---|
| north_direction | double | repeated | (X Y Z) Direction to the North |
| reverse_north | bool | optional - if not set or false : normal is not reversed | |
| sun_axis_system | Scene.SourceInstance.AmbientProperties.SunAxisSystem | Set the Sun direction |
Scene.SourceInstance.AmbientProperties.CieOvercastProperties
Scene.SourceInstance.AmbientProperties.EnvironmentMapProperties
| Field | Type | Label | Description |
|---|---|---|---|
| north_direction | double | repeated | (X Y Z) Direction to the North |
| reverse_north | bool | optional - if not set or false : normal is not reversed |
Scene.SourceInstance.AmbientProperties.ManualSun
| Field | Type | Label | Description |
|---|---|---|---|
| sun_direction | double | repeated | (X Y Z) direction to the sun |
| reverse_sun | bool | optional - if not set or false : normal is not reversed |
Scene.SourceInstance.AmbientProperties.NaturalLightProperties
| Field | Type | Label | Description |
|---|---|---|---|
| north_direction | double | repeated | (X Y Z) Direction to the North |
| reverse_north | bool | optional - if not set or false : normal is not reversed | |
| sun_axis_system | Scene.SourceInstance.AmbientProperties.SunAxisSystem | Set the Sun direction |
Scene.SourceInstance.AmbientProperties.SunAxisSystem
| Field | Type | Label | Description |
|---|---|---|---|
| automatic_sun | Scene.SourceInstance.AmbientProperties.SunAxisSystem.AutomaticSun | calculates the sun position according to the north direction and time zone location set | |
| manual_sun | Scene.SourceInstance.AmbientProperties.ManualSun | sets the sun position and direction from scene |
Scene.SourceInstance.AmbientProperties.SunAxisSystem.AutomaticSun
| Field | Type | Label | Description |
|---|---|---|---|
| time_zone_uri | string | ||
| year | int32 | ||
| month | int32 | ||
| day | int32 | ||
| hour | int32 | ||
| minute | int32 | ||
| longitude | float | ||
| latitude | float |
Scene.SourceInstance.AmbientProperties.UniformAmbientProperties
| Field | Type | Label | Description |
|---|---|---|---|
| manual_sun | Scene.SourceInstance.AmbientProperties.ManualSun | sets the sun position and direction from scene |
Scene.SourceInstance.AmbientProperties.UsStandardProperties
| Field | Type | Label | Description |
|---|---|---|---|
| north_direction | double | repeated | (X Y Z) Direction to the North |
| reverse_north | bool | optional - if not set or false : normal is not reversed | |
| sun_axis_system | Scene.SourceInstance.AmbientProperties.SunAxisSystem | Set the Sun direction |
Scene.SourceInstance.DisplayProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the source (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
| intensity_properties | Scene.SourceInstance.IntensityProperties |
Scene.SourceInstance.IntensityProperties
| Field | Type | Label | Description |
|---|---|---|---|
| library_properties | Scene.SourceInstance.IntensityProperties.LibraryProperties | To be filled if the intensity_guid of the source template corresponds to an IntensityTemplate of type Library | |
| gaussian_properties | Scene.SourceInstance.IntensityProperties.GaussianProperties | To be filled if the intensity_guid of the source template corresponds to an IntensityTemplate of type Gaussian |
Scene.SourceInstance.IntensityProperties.GaussianProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | optional - orientation of the intensity distribution (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) - if not filled : normal to surface map. If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Scene.SourceInstance.IntensityProperties.LibraryProperties
| Field | Type | Label | Description |
|---|---|---|---|
| exit_geometries | Scene.GeoPaths | Exit Geometries that will use this surface source | |
| axis_system | Scene.SourceInstance.IntensityProperties.LibraryProperties.AxisSystem | orientation (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized | |
| normal_to_surface | Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToSurface | Define the intensity distribution as normal to the selected surface. | |
| normal_to_uv_map | Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToUVMap | Define the intensity distribution as normal to the selected emissive surface and its orientation on the emissive surface. |
Scene.SourceInstance.IntensityProperties.LibraryProperties.AxisSystem
| Field | Type | Label | Description |
|---|---|---|---|
| values | double | repeated | orientation (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToSurface
Define the intensity distribution as normal to the selected surface.
Scene.SourceInstance.IntensityProperties.LibraryProperties.NormalToUVMap
Define the intensity distribution as normal to the selected emissive surface and its orientation on the emissive surface.
Scene.SourceInstance.LuminaireProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the source (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Scene.SourceInstance.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Scene.SourceInstance.RayFileProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_system | double | repeated | Position of the source (Ox Oy Oz Xx Xy Xz Yx Yy Yz Zx Zy Zz) |
| exit_geometries | Scene.GeoPaths | Exit Geometries that will use this rayfile source |
Scene.SourceInstance.SurfaceProperties
| Field | Type | Label | Description |
|---|---|---|---|
| exitance_constant_properties | Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties | To be filled if the Surface SourceTemplate has ExitanceConstant | |
| exitance_variable_properties | Scene.SourceInstance.SurfaceProperties.ExitanceVariableProperties | To be filled if the Surface SourceTemplate has ExitanceVariable | |
| intensity_properties | Scene.SourceInstance.IntensityProperties |
Scene.SourceInstance.SurfaceProperties.ExitanceConstantProperties
| Field | Type | Label | Description |
|---|---|---|---|
| geo_paths | Scene.GeoPath | repeated |
Scene.SourceInstance.SurfaceProperties.ExitanceVariableProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_plane | double | repeated | Position of the exitance map (Ox Oy Oz Xx Xy Xz Yx Yy Yz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Scene.SourceInstance.ThermicProperties
| Field | Type | Label | Description |
|---|---|---|---|
| emissive_faces_properties | Scene.SourceInstance.ThermicProperties.EmissiveFacesProperties | source emits from faces | |
| temperature_field_properties | Scene.SourceInstance.ThermicProperties.TemperatureFieldProperties | a specific OPTTemperature file is required (mesh + triangle temperature in Kelvin) |
Scene.SourceInstance.ThermicProperties.EmissiveFacesProperties
| Field | Type | Label | Description |
|---|---|---|---|
| geo_paths | Scene.GeoPath | repeated | the list of emitting faces of the source |
Scene.SourceInstance.ThermicProperties.TemperatureFieldProperties
| Field | Type | Label | Description |
|---|---|---|---|
| axis_plane | double | repeated | Position of the exitance map (Ox Oy Oz Xx Xy Xz Yx Yy Yz). If the coordinate system is not orthonormal, it will be automatically orthonormalized |
Update_Request
Request to update a Scene in ScenesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Scene to be updated | |
| scene | Scene | Scene that will be used for the update |
Update_Response
Scene.SensorInstance.EnumRayFileType
Ray file types available
| Name | Number | Description |
|---|---|---|
| RayFileNone | 0 | Generates no ray file. |
| RayFileClassic | 1 | Generates a ray file without polarization data. |
| RayFilePolarization | 2 | Generates a ray file with the polarization data for each ray. |
| RayFileTM25 | 3 | Generates a .tm25ray file with polarization data for each ray. |
| RayFileTM25NoPolarization | 4 | Generates a .tm25ray file without polarization data. |
Scene.SensorInstance.LayerTypeFace.EnumSCAFilteringType
| Name | Number | Description |
|---|---|---|
| LastImpact | 0 | |
| IntersectedOneTime | 1 |
Scene.SensorInstance.LayerTypeSequence.EnumSequenceType
| Name | Number | Description |
|---|---|---|
| Geometries | 0 | |
| Faces | 1 |
SceneActions
Actions available on a Scene
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| LoadFile | LoadFile_Request | LoadFile_Response | Load .speos, .SPEOSLightBox file |
| SaveFile | SaveFile_Request | SaveFile_Response | Save .SPEOSLightBox file. |
| GetSourceRayPaths | GetSourceRayPaths_Request | results.v1.RayPath stream | Get RayPaths generated by a source |
ScenesManager
Manager for Scenes
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a Scene |
| Read | Read_Request | Read_Response | Read a Scene |
| Update | Update_Request | Update_Response | Update a Scene |
| Delete | Delete_Request | Delete_Response | Delete a Scene |
| List | List_Request | List_Response | List all Scenes in manager |
sensor/v1/camera_sensor.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
CameraSensorTemplate
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_mode_geometric | SensorCameraModeGeometric | Sensor mode : Geometric | |
| sensor_mode_photometric | SensorCameraModePhotometric | Sensor mode : Photometric | |
| focal_length | double | Distance between the center of the optical system and the focus. (mm) | |
| imager_distance | double | Imager distance in mm, the imager is located at the focal point. The Imager distance has no impact on the result. | |
| f_number | double | F-number represents the aperture of the front lens. F number has no impact on the result. | |
| distorsion_file_uri | string | Will be deprecated soon due to typo error - better use distortion_file_uri | |
| distortion_file_uri | string | Optical aberration that deforms and bends straight lines. The distortion is expressed in a .OPTDistortion file. | |
| horz_pixel | uint32 | Defines the horizontal pixels number corresponding to the camera resolution. | |
| vert_pixel | uint32 | Defines the vertical pixels number corresponding to the camera resolution. | |
| width | double | Defines the sensor's width in mm. | |
| height | double | Defines the sensor's height in mm. |
SensorCameraBalanceModeDisplay
Spectral results are converted in a three-channel result. Then a post-treatment is realized to take the distortion induced by the display devices into account. With this method, displayed results are similar to what the camera really gets.
| Field | Type | Label | Description |
|---|---|---|---|
| red_display_file_uri | string | ||
| green_display_file_uri | string | ||
| blue_display_file_uri | string |
SensorCameraBalanceModeGreyworld
The grey world assumption states that the content of the image is grey on average. This method converts spectral results in a three-channel result with the basic conversion. Then it computes and applies coefficients to the red, green and blue images to make sure their averages are equal.
SensorCameraBalanceModeNone
The spectral transmittance of the optical system and the spectral sensitivity for each channel are applied to the detected spectral image before the conversion in a three-channel result. This method is referred to as the basic conversion.
SensorCameraBalanceModeUserwhite
In addition to the basic treatment, it allows you to apply your own coefficients to the red, green, blue images.
| Field | Type | Label | Description |
|---|---|---|---|
| red_gain | double | ||
| green_gain | double | ||
| blue_gain | double |
SensorCameraColorModeColor
Simulation results are available in color according to the White Balance mode.
| Field | Type | Label | Description |
|---|---|---|---|
| red_spectrum_file_uri | string | ||
| green_spectrum_file_uri | string | ||
| blue_spectrum_file_uri | string | ||
| balance_mode_none | SensorCameraBalanceModeNone | Balance mode : None | |
| balance_mode_greyworld | SensorCameraBalanceModeGreyworld | Balance mode : Greyworld | |
| balance_mode_userwhite | SensorCameraBalanceModeUserwhite | Balance mode : Userwhite | |
| balance_mode_display | SensorCameraBalanceModeDisplay | Balance mode : Display |
SensorCameraColorModeMonochromatic
Simulation results are available in grey scale.
| Field | Type | Label | Description |
|---|---|---|---|
| spectrum_file_uri | string |
SensorCameraModeGeometric
Simplified version of the Camera Sensor definition parameters
SensorCameraModePhotometric
Allows to set every Camera Sensor parameters, including the photometric definition parameters
| Field | Type | Label | Description |
|---|---|---|---|
| acquisition_integration | double | Acquisition integration in s | |
| acquisition_lag_time | double | Acquisition lag time in s | |
| transmittance_file_uri | string | Amount of light of the source that passes through the lens and reaches the sensor. The transmittance is expressed in a .spectrum file. | |
| gamma_correction | float | Compensation of the curve before the display on the screen. | |
| png_bits | EnumSensorCameraPNGBits | Choose between 8, 10, 12 and 16-bit. | |
| color_mode_color | SensorCameraColorModeColor | Color mode : Color | |
| color_mode_monochromatic | SensorCameraColorModeMonochromatic | Color mode : Monochromatic | |
| wavelengths_range | WavelengthsRange | Spectral range to use for simulation. |
EnumSensorCameraPNGBits
| Name | Number | Description |
|---|---|---|
| PNG_08 | 0 | |
| PNG_10 | 1 | |
| PNG_12 | 2 | |
| PNG_16 | 3 |
sensor/v1/common.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
AngularRange
Angular range and sampling along two directions.
| Field | Type | Label | Description |
|---|---|---|---|
| x_start | double | Start angle along X direction (deg). | |
| x_end | double | End angle along X direction (deg). | |
| x_sampling | uint32 | Sampling along X direction. | |
| y_start | double | Start angle along Y direction (deg). | |
| y_end | double | End angle along Y direction (deg). | |
| y_sampling | uint32 | Sampling along Y direction. |
ConoscopicIntensityDimensions
Dimensions of the conoscopic intensity sensor
| Field | Type | Label | Description |
|---|---|---|---|
| theta_max | double | Maximum theta angle (deg). | |
| sampling | uint32 | Number of pixels along Theta. |
FromSensorLookingAtSource
FromSourceLookingAtSensor
Intensity result viewing direction
IlluminanceTypeCylindrical
Illuminance sensor with cylindrical integration type.
IlluminanceTypeHemispherical
Illuminance sensor with hemispherical integration type.
IlluminanceTypePlanar
Integration made orthogonally with the sensor plane.
IlluminanceTypeRadial
Illuminance sensor with radial integration type.
IlluminanceTypeSemiCylindrical
Illuminance sensor with semi cylindrical integration type.
IntensityDimensions
Dimensions of the non conoscopic intensity sensor
| Field | Type | Label | Description |
|---|---|---|---|
| x_start | double | Start angle along X direction (deg). | |
| x_end | double | End angle along X direction (deg). | |
| x_sampling | uint32 | Number of pixels along X direction. | |
| y_start | double | Start angle along Y direction (deg). | |
| y_end | double | End angle along Y direction (deg). | |
| y_sampling | uint32 | Number of pixels along Y direction. |
IntensityOrientationConoscopic
The sensor considers conoscopic orientation.
| Field | Type | Label | Description |
|---|---|---|---|
| conoscopic_intensity_dimensions | ConoscopicIntensityDimensions | Dimensions for non conoscopic sensor |
IntensityOrientationXAsMeridian
The sensor considers X direction as meridian and Y direction as parallel.
| Field | Type | Label | Description |
|---|---|---|---|
| intensity_dimensions | IntensityDimensions | Dimensions for non conoscopic sensor |
IntensityOrientationXAsParallel
The sensor considers X direction as parallel and Y direction as meridian.
| Field | Type | Label | Description |
|---|---|---|---|
| intensity_dimensions | IntensityDimensions | Dimensions for non conoscopic sensor |
PolarIntensityDimensions
Dimensions of the conoscopic intensity sensor
| Field | Type | Label | Description |
|---|---|---|---|
| horizontal_sampling | int32 | Number of horizontal samples of the intensity file (IESNA or EULUMDAT). | |
| vertical_sampling | int32 | Number of vertical samples of the intensity file (IESNA or EULUMDAT). |
PolarIntensityEulumdat
The polar intensity sensor generates an Eulumdat file.
PolarIntensityIesnaA
The polar intensity sensor generates an Iesna A type file.
PolarIntensityIesnaB
The polar intensity sensor generates an Iesna B type file.
PolarIntensityIesnaC
The polar intensity sensor generates an Iesna C type file.
SensorDimensions
Dimensions of the sensor
| Field | Type | Label | Description |
|---|---|---|---|
| x_start | double | Start distance from center along X direction (mm). | |
| x_end | double | End distance from center along X direction (mm). | |
| x_sampling | uint32 | Number of pixels along X direction. | |
| y_start | double | Start distance from center along Y direction (mm). | |
| y_end | double | End distance from center along Y direction (mm). | |
| y_sampling | uint32 | Number of pixels along Y direction. |
SensorNearField
Near field intensity or polar intensity sensor
| Field | Type | Label | Description |
|---|---|---|---|
| cell_distance | double | Distance of the cell from the center of the intensity sensor (mm). | |
| cell_integration_angle | double | Integration angle of the cell (deg). Used with cell_distance to calculate the cell diameter. |
SensorTypeColorimetric
Color results without any spectral data or layer separation.
| Field | Type | Label | Description |
|---|---|---|---|
| wavelengths_range | WavelengthsRange | Spectral range to use for simulation. |
SensorTypePhotometric
The sensor considers the visible spectrum and gets the results.
SensorTypeRadiometric
The sensor considers the entire spectrum and gets the results.
SensorTypeSpectral
Color results and spectral data separated by wavelength.
| Field | Type | Label | Description |
|---|---|---|---|
| wavelengths_range | WavelengthsRange | Spectral range to use for simulation. |
WavelengthsRange
Spectral range to use for simulation.
| Field | Type | Label | Description |
|---|---|---|---|
| w_start | double | Defines the minimum wavelength. (nm) | |
| w_end | double | Defines the maximum wavelength. (nm) | |
| w_sampling | uint32 | Defines the number of wavelengths to be taken into account between the minimum and maximum wavelengths set. |
sensor/v1/irradiance_sensor.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
IrradianceSensorTemplate
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_type_photometric | SensorTypePhotometric | Sensor type : Photometric | |
| sensor_type_colorimetric | SensorTypeColorimetric | Sensor type : Colorimetric | |
| sensor_type_radiometric | SensorTypeRadiometric | Sensor type : Radiometric | |
| sensor_type_spectral | SensorTypeSpectral | Sensor type : Spectral | |
| illuminance_type_planar | IlluminanceTypePlanar | Illuminance type : Planar | |
| illuminance_type_radial | IlluminanceTypeRadial | Illuminance type : Radial | |
| illuminance_type_hemispherical | IlluminanceTypeHemispherical | Illuminance type : Hemispherical | |
| illuminance_type_cylindrical | IlluminanceTypeCylindrical | Illuminance type : Cylindrical | |
| illuminance_type_semi_cylindrical | IlluminanceTypeSemiCylindrical | Illuminance type : SemiCylindrical | |
| dimensions | SensorDimensions | Dimensions of the sensor |
sensor/v1/sensor.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a SensorTemplate in SensorTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_template | SensorTemplate | SensorTemplate containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SensorTemplate created in SensorTemplatesManager |
Delete_Request
Request to delete a SensorTemplate in SensorTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SensorTemplate to be deleted |
Delete_Response
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the SensorTemplates in SensorTemplatesManager |
Read_Request
Request to read a SensorTemplate in SensorTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SensorTemplate to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_template | SensorTemplate | SensorTemplate corresponding to the guid given in Read_Request |
SensorTemplate
Sensor template with its basic characteristics
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | SensorTemplate name | |
| description | string | SensorTemplate description | |
| metadata | SensorTemplate.MetadataEntry | repeated | User defined metadata |
| camera_sensor_template | CameraSensorTemplate | ||
| irradiance_sensor_template | IrradianceSensorTemplate | ||
| radiance_sensor_template | SensorTemplate.Radiance | ||
| intensity_sensor_template | SensorTemplate.Intensity | ||
| polar_intensity_sensor_template | SensorTemplate.PolarIntensity | ||
| irradiance_3d | SensorTemplate.Irradiance3D | ||
| observer_sensor_template | SensorTemplate.Observer | ||
| immersive_sensor_template | SensorTemplate.Immersive |
SensorTemplate.Immersive
| Field | Type | Label | Description |
|---|---|---|---|
| sampling | uint32 | Sampling (horizontal and vertical number of pixels) for a face. | |
| stereo | SensorTemplate.Stereo | Activates stereo. When not set, stereo is disabled for the sensor. | |
| integration_angle | double | Integration angle in degrees for direct simulations. | |
| wavelengths_range | WavelengthsRange | Spectral range to use for simulation. | |
| exclude_faces | SensorTemplate.Immersive.ExcludeFaces | Possibility to exclude some faces. |
SensorTemplate.Immersive.ExcludeFaces
| Field | Type | Label | Description |
|---|---|---|---|
| front | bool | Exclude front face if true. | |
| back | bool | Exclude back face if true. | |
| left | bool | Exclude left face if true. | |
| right | bool | Exclude right face if true. | |
| top | bool | Exclude top face if true. | |
| bottom | bool | Exclude bottom face if true. |
SensorTemplate.Intensity
Carthesian intensity sensor, generating a XMP result
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_type_photometric | SensorTypePhotometric | Sensor type: Photometric | |
| sensor_type_colorimetric | SensorTypeColorimetric | Sensor type: Colorimetric | |
| sensor_type_radiometric | SensorTypeRadiometric | Sensor type: Radiometric | |
| sensor_type_spectral | SensorTypeSpectral | Sensor type: Spectral | |
| intensity_orientation_x_as_meridian | IntensityOrientationXAsMeridian | Orientation type: X As Meridian, Y as Parallel | |
| intensity_orientation_x_as_parallel | IntensityOrientationXAsParallel | Orientation type: X As Parallel, Y as Meridian | |
| intensity_orientation_conoscopic | IntensityOrientationConoscopic | Orientation type: Conoscopic | |
| near_field | SensorNearField | Activates Near field. When not set, near field is disabled for the sensor | |
| from_source_looking_at_sensor | FromSourceLookingAtSensor | Viewing direction from source looking at sensor | |
| from_sensor_looking_at_source | FromSensorLookingAtSource | Viewing direction from sensor looking at source |
SensorTemplate.Irradiance3D
| Field | Type | Label | Description |
|---|---|---|---|
| type_photometric | SensorTemplate.Irradiance3D.TypePhotometric | Sensor type : Photometric | |
| type_colorimetric | SensorTemplate.Irradiance3D.TypeColorimetric | Sensor type : Colorimetric | |
| type_radiometric | SensorTemplate.Irradiance3D.TypeRadiometric | Sensor type : Radiometric |
SensorTemplate.Irradiance3D.IntegrationTypePlanar
Integration made orthogonally with the sensor plane.
| Field | Type | Label | Description |
|---|---|---|---|
| reflection | bool | Reflection is taking into account for the integrating faces of the sensor. | |
| transmission | bool | Transmission is taking into account for the integrating faces of the sensor. | |
| absorption | bool | Absorption is taking into account for the integrating faces of the sensor. |
SensorTemplate.Irradiance3D.IntegrationTypeRadial
SensorTemplate.Irradiance3D.TypeColorimetric
Color results without any spectral data or layer separation (in lx or W//m2).
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength_start | double | (nm) | |
| wavelength_end | double | (nm) | |
| integration_type | SensorTemplate.Irradiance3D.TypeColorimetric.IntegrationType | will determine the integration type of the sensor between radial and planar |
SensorTemplate.Irradiance3D.TypePhotometric
The sensor considers the visible spectrum and gets the results in lm/m2 or lx.
| Field | Type | Label | Description |
|---|---|---|---|
| integration_type_radial | SensorTemplate.Irradiance3D.IntegrationTypeRadial | Integration type : Radial | |
| integration_type_planar | SensorTemplate.Irradiance3D.IntegrationTypePlanar | Integration type : Planar |
SensorTemplate.Irradiance3D.TypeRadiometric
The sensor considers the entire spectrum and gets the results in W/m2.
| Field | Type | Label | Description |
|---|---|---|---|
| integration_type_radial | SensorTemplate.Irradiance3D.IntegrationTypeRadial | Integration type : Radial | |
| integration_type_planar | SensorTemplate.Irradiance3D.IntegrationTypePlanar | Integration type : Planar |
SensorTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
SensorTemplate.Observer
| Field | Type | Label | Description |
|---|---|---|---|
| focal | double | Distance between the sensor radiance plan and the observer point. The larger the focal, the closer to the object. (mm) | |
| integration_angle | double | Integration angle in degrees for direct simulations. | |
| wavelengths_range | WavelengthsRange | Spectral range to use for simulation. | |
| dimensions | SensorDimensions | Dimensions of the sensor. | |
| stereo | SensorTemplate.Stereo | Activates stereo. When not set, stereo is disabled for the sensor. | |
| distance | double | Radius of the sphere on which the sensors will be placed. (mm) | |
| sensors_locations | AngularRange | Locations of the sensors on the sphere. X corresponds to Horizontal direction. Y corresponds to Vertical direction. |
SensorTemplate.PolarIntensity
| Field | Type | Label | Description |
|---|---|---|---|
| iesna_a | PolarIntensityIesnaA | Sensor format: Iesna A type | |
| iesna_b | PolarIntensityIesnaB | Sensor format: Iesna B type | |
| iesna_c | PolarIntensityIesnaC | Sensor format: Iesna C type | |
| eulumdat | PolarIntensityEulumdat | Sensor format: Eulumdat | |
| dimensions | PolarIntensityDimensions | Horizontal and vertical samplings. Dimensions are fixed by the format or the adaptive sampling file | |
| adaptive_sampling_uri | string | Path to the adaptive sampling file | |
| far_field | SensorTemplate.PolarIntensity.SensorFarField | Far field, only used when near field is disabled for the sensor. It permits to set the integration angle. | |
| near_field | SensorNearField | Near field parameters: cell distance and diameter. Integration angle needs to be calculated from these parameters. |
SensorTemplate.PolarIntensity.SensorFarField
| Field | Type | Label | Description |
|---|---|---|---|
| integration_angle | double | Integration angle (deg) |
SensorTemplate.Radiance
| Field | Type | Label | Description |
|---|---|---|---|
| sensor_type_photometric | SensorTypePhotometric | Sensor type : Photometric | |
| sensor_type_colorimetric | SensorTypeColorimetric | Sensor type : Colorimetric | |
| sensor_type_radiometric | SensorTypeRadiometric | Sensor type : Radiometric | |
| sensor_type_spectral | SensorTypeSpectral | Sensor type : Spectral | |
| focal | double | Observer type : focal (mm) | |
| integration_angle | double | Integration angle, in degree | |
| dimensions | SensorDimensions | Dimensions of the sensor |
SensorTemplate.Stereo
| Field | Type | Label | Description |
|---|---|---|---|
| interocular_distance | double | distance between viewpoints in mm. To use, make sure that front direction is horizontal and top vertical |
Update_Request
Request to update a SensorTemplate in SensorTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SensorTemplate to be updated | |
| sensor_template | SensorTemplate | SensorTemplate that will be used for the update |
Update_Response
SensorTemplate.Irradiance3D.TypeColorimetric.IntegrationType
Defines how the illuminance is integrated in the sensor
| Name | Number | Description |
|---|---|---|
| Radial | 0 | Integration type : Radial |
| Planar | 1 | Integration type : Planar |
SensorTemplatesManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a SensorTemplate |
| Read | Read_Request | Read_Response | Read a SensorTemplate |
| Update | Update_Request | Update_Response | Update a SensorTemplate |
| Delete | Delete_Request | Delete_Response | Delete a SensorTemplate |
| List | List_Request | List_Response | List all SensorTemplates in manager |
server_info/v1/server_info.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
GetVersion_Request
GetVersion_Response
| Field | Type | Label | Description |
|---|---|---|---|
| version | string | Version of the server. Format: "major.minor.patch.build". Example "2025.2.1.31394". |
ServerInfo
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetVersion | GetVersion_Request | GetVersion_Response | Get the server version |
simulation/v1/simulation_template.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a SimulationTemplate in SimulationTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| simulation_template | SimulationTemplate | SimulationTemplate containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SimulationTemplate created in SimulationTemplatesManager |
Delete_Request
Request to delete a SimulationTemplate in SimulationTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SimulationTemplate to be deleted |
Delete_Response
DirectMCSimulationTemplate
| Field | Type | Label | Description |
|---|---|---|---|
| geom_distance_tolerance | double | Maximum distance in mm to consider two faces as tangent | |
| max_impact | int32 | To define a value to determine the maximum number of ray impacts during propagation. When a ray has interacted N times with the geometry, the propagation of the ray stops. | |
| weight | Weight | To activate Weight. The Weight represents the ray energy. In real life, a ray looses some energy (power) when it interacts with an object. | |
| colorimetric_standard | EnumColorimetricStandard | To define the Colorimetric Standard | |
| dispersion | bool | To activate the dispersion calculation. | |
| fast_transmission_gathering | bool | To accelerate the simulation by neglecting the light refraction that occurs when the light is being transmitted through a transparent surface. | |
| ambient_material_uri | string | To select an ambient material *.material | |
| texture | Texture | To activate texture. |
InverseMCSimulationTemplate
| Field | Type | Label | Description |
|---|---|---|---|
| geom_distance_tolerance | double | Maximum distance in mm to consider two faces as tangent. | |
| max_impact | int32 | To define a value to determine the maximum number of ray impacts during propagation. When a ray has interacted N times with the geometry, the propagation of the ray stops. | |
| weight | Weight | To activate Weight. The Weight represents the ray energy. In real life, a ray looses some energy (power) when it interacts with an object. | |
| colorimetric_standard | EnumColorimetricStandard | To define the Colorimetric Standard | |
| dispersion | bool | To activate the dispersion calculation. | |
| splitting | bool | To split each propagated ray into several paths at their first impact after leaving the observer point. | |
| number_of_gathering_rays_per_source | uint32 | This number pilots the number of shadow rays to target at each source. | |
| maximum_gathering_error | uint32 | Deprecated - Better use maximum_gathering_error_percentage. | |
| maximum_gathering_error_percentage | double | This value defines the level below which a source can be neglected. 0, the default value means that no approximation will be done. | |
| fast_transmission_gathering | bool | To accelerate the simulation by neglecting the light refraction that occurs when the light is being transmitted through a transparent surface. | |
| ambient_material_uri | string | To select an ambient material *.material | |
| texture | Texture | To activate texture. |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the SimulationTemplates in SimulationTemplatesManager |
Read_Request
Request to read a SimulationTemplate in SimulationTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SimulationTemplate to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| simulation_template | SimulationTemplate | SimulationTemplate corresponding to the guid given in Read_Request |
SimulationTemplate
Simulation template with its basic characteristics
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Simulation name | |
| description | string | Simulation description | |
| metadata | SimulationTemplate.MetadataEntry | repeated | User defined metadata |
| direct_mc_simulation_template | DirectMCSimulationTemplate | ||
| inverse_mc_simulation_template | InverseMCSimulationTemplate | ||
| interactive_simulation_template | SimulationTemplate.Interactive | ||
| virtual_bsdf_bench_simulation_template | SimulationTemplate.VirtualBSDFBench |
SimulationTemplate.Interactive
| Field | Type | Label | Description |
|---|---|---|---|
| geom_distance_tolerance | double | Maximum distance in mm to consider two faces as tangent. | |
| max_impact | int32 | Defines a value to determine the maximum number of ray impacts during propagation. When a ray has interacted N times with the geometry, the propagation of the ray stops. | |
| weight | Weight | Activates Weight. Highly recommended to fill | |
| colorimetric_standard | EnumColorimetricStandard | Default Colorimetric Standard | |
| ambient_material_uri | string | To define the environment in which the light will propagate (water, fog, smoke etc.). It is expressed in a .material file | |
| texture | Texture | To activate texture. |
SimulationTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
SimulationTemplate.VirtualBSDFBench
Virtual BSDF Bench
| Field | Type | Label | Description |
|---|---|---|---|
| geom_distance_tolerance | double | Maximum distance in mm to consider two faces as tangent. | |
| max_impact | int32 | Defines a value to determine the maximum number of ray impacts during propagation. When a ray has interacted N times with the geometry, the propagation of the ray stops. | |
| weight | Weight | Activates Weight. It is highly recommended to activate. | |
| colorimetric_standard | EnumColorimetricStandard | Default Colorimetric Standard | |
| texture | Texture | Activates texture. | |
| roughness_only | SimulationTemplate.VirtualBSDFBench.RoughnessOnly | BSDF depends on surface roughness only | |
| all_characteristics | SimulationTemplate.VirtualBSDFBench.AllCharacteristics | BSDF depends on all properties | |
| wavelengths_range | sensor.v1.WavelengthsRange | ||
| sensor | SimulationTemplate.VirtualBSDFBench.Sensor | Sensor definition |
SimulationTemplate.VirtualBSDFBench.AllCharacteristics
| Field | Type | Label | Description |
|---|---|---|---|
| is_bsdf180 | bool | Corresponds to the parameter "BSDF depends on light incidence side". When set to true, the Theta sampling for the source is defined on [0,180] instead of [0,90]. | |
| iridescence | SimulationTemplate.VirtualBSDFBench.AllCharacteristics.Iridescence | Color depends on viewing direction | |
| no_iridescence | SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence | Color does not depend on viewing direction | |
| sensor_reflection_and_transmission | bool | When set to true, it measures the reflection and transmission (theta in [0,180]). When set to false, it measures the reflection only (theta in [0,90]). |
SimulationTemplate.VirtualBSDFBench.AllCharacteristics.Iridescence
| Field | Type | Label | Description |
|---|---|---|---|
| uniform_isotropic | SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformIsotropic | ||
| adaptive | SimulationTemplate.VirtualBSDFBench.SourceSamplingAdaptive |
SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence
| Field | Type | Label | Description |
|---|---|---|---|
| isotropic | SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence.Isotropic | ||
| anisotropic | SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence.Anisotropic |
SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence.Anisotropic
| Field | Type | Label | Description |
|---|---|---|---|
| uniform_anisotropic | SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformAnisotropic | ||
| adaptive | SimulationTemplate.VirtualBSDFBench.SourceSamplingAdaptive |
SimulationTemplate.VirtualBSDFBench.AllCharacteristics.NoIridescence.Isotropic
| Field | Type | Label | Description |
|---|---|---|---|
| uniform_isotropic | SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformIsotropic | ||
| adaptive | SimulationTemplate.VirtualBSDFBench.SourceSamplingAdaptive |
SimulationTemplate.VirtualBSDFBench.RoughnessOnly
| Field | Type | Label | Description |
|---|---|---|---|
| uniform_isotropic | SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformIsotropic | oneof with adaptive | |
| adaptive | SimulationTemplate.VirtualBSDFBench.SourceSamplingAdaptive |
SimulationTemplate.VirtualBSDFBench.Sensor
| Field | Type | Label | Description |
|---|---|---|---|
| integration_angle | double | ||
| uniform | SimulationTemplate.VirtualBSDFBench.Sensor.SensorSamplingUniform | ||
| automatic | SimulationTemplate.VirtualBSDFBench.Sensor.SensorSamplingAutomatic |
SimulationTemplate.VirtualBSDFBench.Sensor.SensorSamplingAutomatic
SimulationTemplate.VirtualBSDFBench.Sensor.SensorSamplingUniform
| Field | Type | Label | Description |
|---|---|---|---|
| theta_sampling | uint32 | Number of samples created along the polar angle Theta (around the normal Z-axis) in the range [0,90] degrees. Each sample represents the position of the sensor on Theta. | |
| phi_sampling | uint32 | Number of samples created along the azimuthal angle Phi (around the X-axis). Each sample represents the position of the sensor on Phi. |
SimulationTemplate.VirtualBSDFBench.SourceSamplingAdaptive
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string | uri of incident sampling file |
SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformAnisotropic
| Field | Type | Label | Description |
|---|---|---|---|
| theta_sampling | uint32 | Number of samples created along the polar angle Theta (around the normal Z-axis) in the range [0,90] degrees, with a minimum value of 2 degrees. Each sample represents the position of the source on Theta. | |
| phi_sampling | uint32 | Number of samples created along the azimuthal angle Phi (around the X-axis). Each sample represents the position of the source on Phi. | |
| symmetry_type | SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformAnisotropic.PhiSymmetry | Define symmetry type. Not needed if there is no symmetry in measure. |
SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformIsotropic
| Field | Type | Label | Description |
|---|---|---|---|
| theta_sampling | uint32 | Number of samples created along the polar angle Theta (around the normal Z-axis) in the range [0,90] degrees, with a minimum value of 2 degrees. Each sample represents the position of the source on Theta. |
Texture
If texture has been applied in the scene, fill Texture message.
| Field | Type | Label | Description |
|---|---|---|---|
| texture_normalization | Texture.TextureNormalization | Rendering of the texture. | |
| normal_map | bool | To activate normal map. |
Update_Request
Request to update a SimulationTemplate in SimulationTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SimulationTemplate to be updated | |
| simulation_template | SimulationTemplate | SimulationTemplate that will be used for the update |
Update_Response
Weight
The Weight represents the ray energy. In real life, a ray looses some energy (power) when it interacts with an object. Activating weight means that the Weight message is present. When weight is not activated, rays' energy stays constant and probability laws dictate if rays continue or stop propagating. When weight is activated, rays' energy evolves with interactions until rays reach the sensors. It is highly recommended to activate Weight, except in Interactive simulation. Not activating Weight is useful to understand certain phenomena as absorption.
| Field | Type | Label | Description |
|---|---|---|---|
| minimum_energy_percentage | double | The Minimum energy percentage parameter defines the minimum energy ratio to continue to propagate a ray with weight. 1 = 100%. |
EnumColorimetricStandard
Default Colorimetric Standard
| Name | Number | Description |
|---|---|---|
| CIE_1931 | 0 | 2 degrees CIE Standard Colorimetric Observer Data. |
| CIE_1964 | 1 | 10 degrees CIE Standard Colorimetric Observer Data. |
SimulationTemplate.VirtualBSDFBench.SourceSamplingUniformAnisotropic.PhiSymmetry
| Name | Number | Description |
|---|---|---|
| PHI_SYMMETRY_UNSPECIFIED | 0 | |
| PHI_SYMMETRY_NONE | 1 | |
| PHI_SYMMETRY_1_PLANE | 2 | Symmetry to plane 0 - 180 |
| PHI_SYMMETRY_2_PLANES | 3 | Symmetry to planes 0 - 180 and 90 - 270 |
Texture.TextureNormalization
| Name | Number | Description |
|---|---|---|
| TEXTURE_NORMALIZATION_UNSPECIFIED | 0 | |
| TEXTURE_NORMALIZATION_NONE | 1 | The simulation result uses both the image texture and the texture mapping optical properties. |
| TEXTURE_NORMALIZATION_COLOR_FROM_TEXTURE | 2 | The simulation result uses the color and the color lightness of the image texture. |
| TEXTURE_NORMALIZATION_COLOR_FROM_BSDF | 3 | The simulation result uses the BSDF information of the texture mapping optical properties. |
SimulationTemplatesManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a SimulationTemplate |
| Read | Read_Request | Read_Response | Read a SimulationTemplate |
| Update | Update_Request | Update_Response | Update a SimulationTemplate |
| Delete | Delete_Request | Delete_Response | Delete a SimulationTemplate |
| List | List_Request | List_Response | List all SimulationTemplates in manager |
sop/v1/sop.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a SOPTemplate in SOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| sop_template | SOPTemplate | SOPTemplate containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SOPTemplate created in SOPTemplatesManager |
Delete_Request
Request to delete a SOPTemplate in SOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SOPTemplate to be deleted |
Delete_Response
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the SOPTemplates in SOPTemplatesManager |
Read_Request
Request to read a SOPTemplate in SOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SOPTemplate to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| sop_template | SOPTemplate | SOPTemplate corresponding to the guid given in Read_Request |
SOPTemplate
SOP: Surface Optical Properties Defines the behavior of light rays when they hit the surface of a body.
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | SOPTemplate name | |
| description | string | SOPTemplate description | |
| metadata | SOPTemplate.MetadataEntry | repeated | User defined metadata |
| mirror | SOPTemplate.Mirror | Perfect specular surface | |
| optical_polished | SOPTemplate.OpticalPolished | Transparent or perfectly polished material (glass, plastic) | |
| library | SOPTemplate.Library | Based on surface optical properties file | |
| plugin | SOPTemplate.Plugin | Custom made plug-in | |
| texture | SOPTemplate.Texture | Define to activate texture - optional |
SOPTemplate.Library
| Field | Type | Label | Description |
|---|---|---|---|
| sop_file_uri | string | Surface optical properties file, *.scattering, *.bsdf, *.brdf, *.coated, ... |
SOPTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
SOPTemplate.Mirror
Perfect specular surface
| Field | Type | Label | Description |
|---|---|---|---|
| reflectance | double | Reflectance, expected from 0. to 100. in % |
SOPTemplate.OpticalPolished
Transparent or perfectly polished material (glass, plastic)
SOPTemplate.Plugin
Custom made plug-in
| Field | Type | Label | Description |
|---|---|---|---|
| plugin_sop_file_uri | string | .sop plug-in | |
| parameters_file_uri | string | parameters file needed for the plug-in |
SOPTemplate.Texture
Activate texture
| Field | Type | Label | Description |
|---|---|---|---|
| image | SOPTemplate.Texture.Image | ||
| normal_map | SOPTemplate.Texture.NormalMap |
SOPTemplate.Texture.Image
| Field | Type | Label | Description |
|---|---|---|---|
| bitmap_file_uri | string | Bitmap | |
| repeat_along_u | bool | Activate/deactivate the repeatability of the texture image on U axe. | |
| repeat_along_v | bool | Activate/deactivate the repeatability of the texture image on V axe. |
SOPTemplate.Texture.NormalMap
| Field | Type | Label | Description |
|---|---|---|---|
| from_image | SOPTemplate.Texture.NormalMap.FromImage | ||
| from_normal_map | SOPTemplate.Texture.NormalMap.FromNormalMap | ||
| roughness | float | ||
| repeat_along_u | bool | Activate/deactivate the repeatability of the texture normal map on U axe. | |
| repeat_along_v | bool | Activate/deactivate the repeatability of the texture normal map on V axe. |
SOPTemplate.Texture.NormalMap.FromImage
| Field | Type | Label | Description |
|---|---|---|---|
| bitmap_file_uri | string | Bitmap used to build normal map. |
SOPTemplate.Texture.NormalMap.FromNormalMap
| Field | Type | Label | Description |
|---|---|---|---|
| normal_map_file_uri | string | Normal map file. |
Update_Request
Request to update a SOPTemplate in SOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SOPTemplate to be updated | |
| sop_template | SOPTemplate | SOPTemplate that will be used for the update |
Update_Response
SOPTemplateActions
Actions available on a SOPTemplate
| Method Name | Request Type | Response Type | Description |
|---|
SOPTemplatesManager
Manager for SOPTemplates (SOP: Surface Optical Properties)
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a SOPTemplate |
| Read | Read_Request | Read_Response | Read a SOPTemplate |
| Update | Update_Request | Update_Response | Update a SOPTemplate |
| Delete | Delete_Request | Delete_Response | Delete a SOPTemplate |
| List | List_Request | List_Response | List all SOPTemplates in manager |
source/v1/source.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a SourceTemplate in SourceTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| source_template | SourceTemplate | SourceTemplate containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SourceTemplate created in SourceTemplatesManager |
Delete_Request
Request to delete a SourceTemplate in SourceTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SourceTemplate to be deleted |
Delete_Response
GetRayFileInfo_Request
Request of GetRayFileInfo
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SourceTemplate to get information about ray file (example: flux). Only for SourceTemplate of type RayFile. |
GetRayFileInfo_Response
Response of GetRayFileInfo
| Field | Type | Label | Description |
|---|---|---|---|
| flux | common.v1.DataDoubles | Flux of the ray file | |
| has_spectral_data | bool | The ray file contains Spectrum information |
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the SourceTemplates in SourceTemplatesManager |
Read_Request
Request to read a SourceTemplate in SourceTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SourceTemplate to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| source_template | SourceTemplate | SourceTemplate corresponding to the guid given in Read_Request |
SourceTemplate
Source template with its basic characteristics
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | SourceTemplate name | |
| description | string | SourceTemplate description | |
| metadata | SourceTemplate.MetadataEntry | repeated | User defined metadata |
| luminaire | SourceTemplate.Luminaire | ||
| surface | SourceTemplate.Surface | ||
| rayfile | SourceTemplate.RayFile | ||
| thermic | SourceTemplate.Thermic | ||
| display | SourceTemplate.Display | ||
| ambient | SourceTemplate.Ambient |
SourceTemplate.Ambient
| Field | Type | Label | Description |
|---|---|---|---|
| uniform_ambient | SourceTemplate.Ambient.UniformAmbient | sets a specific and common luminance for the entire sky without any contribution of the sun. The sun has a specific value calculated according to its position | |
| cie_overcast | SourceTemplate.Ambient.CieOvercast | generates a specific distribution for the sky according to a luminance value and CIE standard overcast model | |
| cie_general | SourceTemplate.Ambient.CieGeneral | generates a specific distribution for the sky according to a luminance value and sky model | |
| natural_light | SourceTemplate.Ambient.NaturalLight | generates natural lighting based on a day time or night time model | |
| us_standard | SourceTemplate.Ambient.UsStandard | The U.S. Standard Atmosphere Ambient Source follows a specific atmospheric model to simulate a sky radiation ranging from 280nm into ultraviolet to 4μm into infrared. | |
| environment_map | SourceTemplate.Ambient.EnvironmentMap | creates a background using an image file |
SourceTemplate.Ambient.CieGeneral
| Field | Type | Label | Description |
|---|---|---|---|
| luminance | double | Luminance in cd per squared meter | |
| cie_type | SourceTemplate.Ambient.CieGeneral.CieType | sky model |
SourceTemplate.Ambient.CieOvercast
| Field | Type | Label | Description |
|---|---|---|---|
| luminance | double | Luminance in cd per squared meter | |
| spectrum_guid | string | blackbody or library spectra only |
SourceTemplate.Ambient.EnvironmentMap
| Field | Type | Label | Description |
|---|---|---|---|
| luminance | double | Luminance in cd per squared meter | |
| image_uri | string | image file or HDRI. HDRIs have relative luminance values, so the lumiance value will be applied to the (1,1,1) pixels and all other colors will be defined relatively | |
| predefined_color_space | SourceTemplate.PredefinedColorSpace | pre-defined color space | |
| user_defined_rgb_space | SourceTemplate.UserDefinedRGBSpace | custom RGB space with either pre-defined or custom white point |
SourceTemplate.Ambient.NaturalLight
| Field | Type | Label | Description |
|---|---|---|---|
| turbidity | double | cloudiness of the environment. The lower the value the clearer the environment. Varies between 1.9 and 9.9 | |
| with_sky | bool | if false, only the sun is used in the simulation. If true, both ambient sky model and sun are used in the simulation |
SourceTemplate.Ambient.UniformAmbient
| Field | Type | Label | Description |
|---|---|---|---|
| luminance | double | Luminance in cd per squared meter | |
| mirrored_extent | bool | if true then the ambient light covers all space, if false only covers the upper half space | |
| spectrum_guid | string | blackbody or library spectra only |
SourceTemplate.Ambient.UsStandard
SourceTemplate.Display
| Field | Type | Label | Description |
|---|---|---|---|
| image_file_uri | string | png,jpeg,bmp,tiff or rgb format file uri | |
| source_dimensions | SourceTemplate.SourceDimensions | horizontal and vertical dimensions (mm) | |
| luminous_flux | double | luminace in cd/m2 | |
| contrast_ratio | int32 | optional | Contrast ratio, infitine if not defined |
| intensity_guid | string | Intensity guid in intensity manager | |
| pre_defined_color_space | SourceTemplate.PredefinedColorSpace | pre-defined color space | |
| user_defined_rbg_space | SourceTemplate.UserDefinedRGBSpace | custom rgb color space with pre-defined or custom withe point |
SourceTemplate.FromIntensityFile
Take flux from intensity file provided
SourceTemplate.FromRayFile
SourceTemplate.Luminaire
| Field | Type | Label | Description |
|---|---|---|---|
| flux_from_intensity_file | SourceTemplate.FromIntensityFile | Take flux from intensity file provided | |
| luminous_flux | SourceTemplate.Luminous | Luminous flux in lumens, value >=0 | |
| radiant_flux | SourceTemplate.Radiant | Radiant flux in watts, value >=0 | |
| intensity_file_uri | string | IES or EULUMDAT format file uri | |
| spectrum_guid | string | Spectrum guid in spectrum manager |
SourceTemplate.Luminous
| Field | Type | Label | Description |
|---|---|---|---|
| luminous_value | double | Luminous flux in lumens |
SourceTemplate.LuminousIntensity
| Field | Type | Label | Description |
|---|---|---|---|
| luminous_intensity_value | double | Luminous intensity in candelas |
SourceTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
SourceTemplate.PredefinedColorSpace
| Field | Type | Label | Description |
|---|---|---|---|
| color_space_type | SourceTemplate.PredefinedColorSpace.ColorSpaceType | pre-defined color space type |
SourceTemplate.PredefinedWhitePoint
color space can be used for both ambient sources and display sources
| Field | Type | Label | Description |
|---|---|---|---|
| white_point_type | SourceTemplate.PredefinedWhitePoint.WhitePointType | pre-defined white point type |
SourceTemplate.Radiant
| Field | Type | Label | Description |
|---|---|---|---|
| radiant_value | double | Radiant flux in watts |
SourceTemplate.RayFile
| Field | Type | Label | Description |
|---|---|---|---|
| ray_file_uri | string | Rayfile format file uri (.ray or .tm25ray files expected) | |
| flux_from_ray_file | SourceTemplate.FromRayFile | Take flux from ray file provided | |
| luminous_flux | SourceTemplate.Luminous | Luminous flux in lumens, value >=0 | |
| radiant_flux | SourceTemplate.Radiant | Radiant flux in watts, value >=0 | |
| spectrum_from_ray_file | SourceTemplate.RayFile.SpectrumFromRayFile | Take spectrum from ray file provided | |
| spectrum_guid | string | Spectrum guid in spectrum manager |
SourceTemplate.RayFile.SpectrumFromRayFile
Spectrum messages
SourceTemplate.SourceDimensions
source dimensions
| Field | Type | Label | Description |
|---|---|---|---|
| x_start | double | (mm) | |
| x_end | double | (mm) | |
| y_start | double | (mm) | |
| y_end | double | (mm) |
SourceTemplate.Surface
| Field | Type | Label | Description |
|---|---|---|---|
| flux_from_intensity_file | SourceTemplate.FromIntensityFile | Take flux from intensity file provided | |
| luminous_flux | SourceTemplate.Luminous | Luminous flux in lumens | |
| radiant_flux | SourceTemplate.Radiant | Radiant flux in watts | |
| luminous_intensity_flux | SourceTemplate.LuminousIntensity | Luminous intensity in candelas | |
| intensity_guid | string | Intensity guid in intensity manager | |
| exitance_constant | SourceTemplate.Surface.ExitanceConstant | Constant | |
| exitance_variable | SourceTemplate.Surface.ExitanceVariable | Taken from XMP map | |
| spectrum_from_xmp_file | SourceTemplate.Surface.SpectrumFromXMPFile | Take spectrum from xmp file provided | |
| spectrum_guid | string | Spectrum guid in spectrum manager | |
| timeline | SourceTemplate.Surface.Timeline | Define timeline parameters |
SourceTemplate.Surface.ExitanceConstant
SourceTemplate.Surface.ExitanceVariable
Exitance messages
| Field | Type | Label | Description |
|---|---|---|---|
| exitance_xmp_file_uri | string | XMP file describing exitance, if spectral, spectrum is not needed in source definition |
SourceTemplate.Surface.SpectrumFromXMPFile
Take spectrum from xmp file provided
SourceTemplate.Surface.Timeline
Define the variation of the source's power in time and represent flickering Surface source
| Field | Type | Label | Description |
|---|---|---|---|
| flux_variation_file_uri | string | Flux variation file, used to define the samples for one period representing the variation of the relative flux of the source with time. | |
| relative_lag | double | Relative lag (percentage, default value of 0%) represents the relative time along the period when the source starts to emit light. That means the relative lag includes a temporal shift of the time period. |
SourceTemplate.Thermic
| Field | Type | Label | Description |
|---|---|---|---|
| emissives_faces | SourceTemplate.Thermic.EmissiveFaces | black body with temperature on each face | |
| temperature_field | SourceTemplate.Thermic.TemperatureField | file with meshed data and triangle temperature | |
| intensity_guid | string | Intensity guid in intensity manager Lambertian or cos only |
SourceTemplate.Thermic.EmissiveFaces
| Field | Type | Label | Description |
|---|---|---|---|
| temperature | double | the temperature in Kelvin of the blackbody (Kirchhoff's law) for every face |
SourceTemplate.Thermic.TemperatureField
| Field | Type | Label | Description |
|---|---|---|---|
| temperature_field_uri | string | file with meshed data and temperature for each triangle | |
| sop_guid | string | SOP for geometry, must have absorption, required with temperature field |
SourceTemplate.UserDefinedRGBSpace
| Field | Type | Label | Description |
|---|---|---|---|
| pre_defined_white_point | SourceTemplate.PredefinedWhitePoint | pre-defined white point | |
| user_defined_white_point | SourceTemplate.UserDefinedWhitePoint | custom Y and X white point coordinates | |
| red_spectrum_guid | string | red Spectrum guid in spectrum manager | |
| green_spectrum_guid | string | green Spectrum guid in spectrum manager | |
| blue_spectrum_guid | string | blue Spectrum guid in spectrum manager |
SourceTemplate.UserDefinedWhitePoint
| Field | Type | Label | Description |
|---|---|---|---|
| white_point | double | repeated | X and Y coordinates of the white point. |
Update_Request
Request to update a SourceTemplate in SourceTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the SourceTemplate to be updated | |
| source_template | SourceTemplate | SourceTemplate that will be used for the update |
Update_Response
SourceTemplate.Ambient.CieGeneral.CieType
| Name | Number | Description |
|---|---|---|
| standard_overcast | 0 | |
| overcast_steep_gradation | 1 | |
| overcast_azimuthal_uniformity | 2 | |
| overcast_slight_brightening | 3 | |
| uniform_luminance | 4 | |
| cloudy_slight_brightening | 5 | |
| cloudy_nogradation_circumsolar | 6 | |
| cloudy_solar_corona | 7 | |
| cloudy_obscured_sun | 8 | |
| cloudy_circumsolar_region | 9 | |
| white_blue_distinct | 10 | |
| standard_low_luminance | 11 | |
| standard_polluted_atmosphere | 12 | |
| cloudless_turbid_corona | 13 | |
| white_blue_broad | 14 |
SourceTemplate.PredefinedColorSpace.ColorSpaceType
| Name | Number | Description |
|---|---|---|
| sRGB | 0 | standard and most commonly used model |
| AdobeRGB | 1 | larger gamut |
SourceTemplate.PredefinedWhitePoint.WhitePointType
| Name | Number | Description |
|---|---|---|
| C | 0 | average daylight illuminant |
| D50 | 1 | natural horizon light |
| D65 | 2 | standard daylight illuminant |
| E | 3 | illuminant that gives equal weight to all wavelengths |
SourceTemplateActions
Actions available on a SourceTemplate
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetRayFileInfo | GetRayFileInfo_Request | GetRayFileInfo_Response | Get Flux from ray file |
SourceTemplatesManager
Manager for SourceTemplates
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a SourceTemplate |
| Read | Read_Request | Read_Response | Read a SourceTemplate |
| Update | Update_Request | Update_Response | Update a SourceTemplate |
| Delete | Delete_Request | Delete_Response | Delete a SourceTemplate |
| List | List_Request | List_Response | List all SourceTemplates in manager |
spectrum/v1/spectrum.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a Spectrum in SpectrumsManager
| Field | Type | Label | Description |
|---|---|---|---|
| spectrum | Spectrum | Spectrum containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Spectrum created in SpectrumsManager |
Delete_Request
Request to delete a Spectrum in SpectrumsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Spectrum to be deleted |
Delete_Response
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the Spectrums in SpectrumsManager |
Read_Request
Request to read a Spectrum in SpectrumsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Spectrum to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| spectrum | Spectrum | Spectrum corresponding to the guid given in Read_Request |
Spectrum
Spectrum with its basic characteristics
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | Spectrum name | |
| description | string | Spectrum description | |
| metadata | Spectrum.MetadataEntry | repeated | User defined metadata |
| monochromatic | Spectrum.Monochromatic | ||
| blackbody | Spectrum.BlackBody | ||
| sampled | Spectrum.Sampled | ||
| library | Spectrum.Library | ||
| predefined | Spectrum.Predefined |
Spectrum.BlackBody
| Field | Type | Label | Description |
|---|---|---|---|
| temperature | double | Temperature of the blackbody, in K |
Spectrum.DaylightFluorescent
Spectrum.Halogen
Spectrum.HighPressureSodium
Spectrum.Incandescent
Spectrum.Library
| Field | Type | Label | Description |
|---|---|---|---|
| file_uri | string | uri of the spectrum file |
Spectrum.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
Spectrum.MetalHalide
Spectrum.Monochromatic
| Field | Type | Label | Description |
|---|---|---|---|
| wavelength | double | Wavelength of the monochromatic spectrum, in nm |
Spectrum.Predefined
Predefined sampled spectrums
| Field | Type | Label | Description |
|---|---|---|---|
| incandescent | Spectrum.Incandescent | ||
| warmwhitefluorescent | Spectrum.WarmWhiteFluorescent | ||
| daylightfluorescent | Spectrum.DaylightFluorescent | ||
| whiteLED | Spectrum.WhiteLED | ||
| halogen | Spectrum.Halogen | ||
| metalhalide | Spectrum.MetalHalide | ||
| highpressuresodium | Spectrum.HighPressureSodium |
Spectrum.Sampled
| Field | Type | Label | Description |
|---|---|---|---|
| wavelengths | double | repeated | List of wavelengths, in nm |
| values | double | repeated | List of values, expected from 0. to 100. in % |
Spectrum.WarmWhiteFluorescent
Spectrum.WhiteLED
Update_Request
Request to update a Spectrum in SpectrumsManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the Spectrum to be updated | |
| spectrum | Spectrum | Spectrum that will be used for the update |
Update_Response
SpectrumsManager
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a Spectrum |
| Read | Read_Request | Read_Response | Read a Spectrum |
| Update | Update_Request | Update_Response | Update a Spectrum |
| Delete | Delete_Request | Delete_Response | Delete a Spectrum |
| List | List_Request | List_Response | List all Spectrums in manager |
vop/v1/vop.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Create_Request
Request to create a VOPTemplate in VOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| vop_template | VOPTemplate | VOPTemplate containing its basic characteristics | |
| guid | string | optional | Optional field to specify the guid used in the database. If not set, a unique guid will be generated for that entry and sent back in the Create_Response. |
Create_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the VOPTemplate created in VOPTemplatesManager |
Delete_Request
Request to delete a VOPTemplate in VOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the VOPTemplate to be deleted |
Delete_Response
List_Request
List_Response
| Field | Type | Label | Description |
|---|---|---|---|
| guids | string | repeated | Guids of the VOPTemplates in VOPTemplatesManager |
Read_Request
Request to read a VOPTemplate in VOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the VOPTemplate to be read |
Read_Response
| Field | Type | Label | Description |
|---|---|---|---|
| vop_template | VOPTemplate | VOPTemplate corresponding to the guid given in Read_Request |
Update_Request
Request to update a VOPTemplate in VOPTemplatesManager
| Field | Type | Label | Description |
|---|---|---|---|
| guid | string | Guid of the VOPTemplate to be updated | |
| vop_template | VOPTemplate | VOPTemplate that will be used for the update |
Update_Response
VOPTemplate
VOP: Volume Optical Properties Defines the behavior of light rays when they are propagated in a body.
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | VOPTemplate name | |
| description | string | VOPTemplate description | |
| metadata | VOPTemplate.MetadataEntry | repeated | User defined metadatas |
| opaque | VOPTemplate.Opaque | Non-transparent material | |
| optic | VOPTemplate.Optic | Transparent colorless material without bulk scattering | |
| library | VOPTemplate.Library | Based on *.material file | |
| non_homogeneous | VOPTemplate.NonHomogeneous | Material with non-homogeneous refractive index |
VOPTemplate.Library
| Field | Type | Label | Description |
|---|---|---|---|
| material_file_uri | string | .material file |
VOPTemplate.MetadataEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | string |
VOPTemplate.NonHomogeneous
Material with non-homogeneous refractive index
| Field | Type | Label | Description |
|---|---|---|---|
| gradedmaterial_file_uri | string | .gradedmaterial file that describes the spectral variations of refractive index and absorption with respect to position in space |
VOPTemplate.Opaque
Non-transparent material
VOPTemplate.Optic
Transparent colorless material without bulk scattering
| Field | Type | Label | Description |
|---|---|---|---|
| index | double | Refractive index | |
| absorption | double | ||
| constringence | double | optional | Abbe number |
VOPTemplateActions
Actions available on a VOPTemplate
| Method Name | Request Type | Response Type | Description |
|---|
VOPTemplatesManager
Manager for VOPTemplates (VOP: Volume Optical Properties)
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| Create | Create_Request | Create_Response | Create a VOPTemplate |
| Read | Read_Request | Read_Response | Read a VOPTemplate |
| Update | Update_Request | Update_Response | Update a VOPTemplate |
| Delete | Delete_Request | Delete_Response | Delete a VOPTemplate |
| List | List_Request | List_Response | List all VOPTemplates in manager |
xmp/v1/xmp_file.proto
(c) 2026 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
Coordinate2d
| Field | Type | Label | Description |
|---|---|---|---|
| pixel_x | uint32 | ||
| pixel_y | uint32 |
FileName
| Field | Type | Label | Description |
|---|---|---|---|
| file_name | string | .xmp |
Pixel
| Field | Type | Label | Description |
|---|---|---|---|
| nb_pixel | uint32 |
Value
| Field | Type | Label | Description |
|---|---|---|---|
| value | float |
XmpFileService_Mono
service to manage xmp file
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| CreateXMPFileInfo | FileName | .google.protobuf.Empty | Create Xmp file Info @param[in] FileName The Path to the Xmp file. |
| BuildMapRelativeStandardError | .google.protobuf.Empty | .google.protobuf.Empty | Build Relative Standard Error accessor Xmp file |
| GetValueRelativeStandardError | Coordinate2d | Value | Get Value Relative Standard Error file |
| GetNbPixelXRelativeStandardError | .google.protobuf.Empty | Pixel | Get Nb pixel X Relative Standard Error file |
| GetNbPixelYRelativeStandardError | .google.protobuf.Empty | Pixel | Get Nb pixel Y Relative Standard Error file |
| ExportXmpFileRelativeStandardError | FileName | .google.protobuf.Empty | Export Xmp File Relative Standard Error |