ZOSAPI.Tools.ICriticalRaysetGenerator Interface Reference
Last update: 17.07.2025Interfaces and methods for generating a 'critical rayset'; these rays can be used after converting to non-sequential in order to verify that the conversion did not fundamentally alter the geometries. This interface can be accessed via the IOpticalSystemTools interface. More...

Properties | |
| RayPatternOption | RayPattern [get, set] |
| The pattern used to generate the critical rays. | |
| int | NumRays [get, set] |
| The number of rays to include in the critical ray bundle. Note that this is not necessarily the same as the number of total rays generated, and will be used differently for different ray patterns. | |
| double | MinimumEfectiveInputDistance [get] |
| Gets the minimum efective input distance. | |
| double | EffectiveInputDistance [get, set] |
| The pre-progation distance used with infinite conjugate systems; must be >= MinimumEfectiveInputDistance. | |
| bool | UseAllFields [get, set] |
If true, all fields will be included in the critical ray set; otherwise, only the on-axis fields will be included. | |
| bool | UseAllWavelengths [get, set] |
If true, all wavelengths will be included in the critical ray set; otherwise, only the primary wavelength will be included. | |
| string | ReadRaysFromFilename [set] |
| Input ray file (including path) to use when RayPattern is equal to RayPatternOption.List. | |
| string | SaveCriticalRaysFilename [set] |
| Critial rayset output file name, including path. | |
| double | RayScale [get, set] |
Properties inherited from ZOSAPI.Tools.ISystemTool | |
| int | Progress [get] |
| Gets the progress of the current tool, if supported. | |
| string | Status [get] |
| Gets the status of the current tool, if supporoted. | |
| bool | IsRunning [get] |
| Gets a value indicating whether the tool is currently running asynchronously. | |
| bool | CanCancel [get] |
| Gets a value indicating whether the tool can be cancelled. | |
| bool | IsAsynchronous [get] |
| Gets a value indicating whether the tool runs asynchronously (i.e. on a thread). | |
| bool | IsFiniteDuration [get] |
| Gets a value indicating whether this tool will complete on its own. | |
| bool | IsValid [get] |
| Gets a value indicating whether the input settings are valid. | |
| bool | Succeeded [get] |
| Gets a value indicating whether the tool execution succeeded. | |
| string | ErrorMessage [get] |
If Succeeded is false, get the error messages; otherwise, null. | |
Additional Inherited Members | |
Public Member Functions inherited from ZOSAPI.Tools.ISystemTool | |
| bool | Run () |
| Start the tool. Note that for synchronous tools (see IsAsynchronous), this call will block until completion. If it is asynchronous it will start running but return immediately. | |
| bool | RunAndWaitForCompletion () |
| Sames as calling Run followed by WaitForCompletion. | |
| bool | WaitForCompletion () |
| Waits for the asynchronous tool to complete. | |
| bool | Cancel () |
| Cancels the currently running asynchronous tool. | |
| bool | Close () |
| Closes this tool and frees up and associated resources. | |
| RunStatus | WaitWithTimeout (double timeOutSeconds) |
| Waits for the currently running tool to complete, with a specified time out value. Note that if the timeout is exceeded this method will return, however the tool will continue to run. Also note that this method will not start the tool running if it is not already. | |
| RunStatus | RunAndWaitWithTimeout (double timeOutSeconds) |
| Starts the tool running, and waits for it to complete with the specified timeout value. Note that if the timeout is exceeded this method will return, however the tool will continue to run. | |
Detailed Description
Interfaces and methods for generating a 'critical rayset'; these rays can be used after converting to non-sequential in order to verify that the conversion did not fundamentally alter the geometries. This interface can be accessed via the IOpticalSystemTools interface.
Property Documentation
◆ EffectiveInputDistance
|
getset |
The pre-progation distance used with infinite conjugate systems; must be >= MinimumEfectiveInputDistance.
◆ MinimumEfectiveInputDistance
|
get |
Gets the minimum efective input distance.
The minimum efective input distance.
◆ NumRays
|
getset |
The number of rays to include in the critical ray bundle. Note that this is not necessarily the same as the number of total rays generated, and will be used differently for different ray patterns.
◆ RayPattern
|
getset |
The pattern used to generate the critical rays.
◆ RayScale
|
getset |
◆ ReadRaysFromFilename
|
set |
Input ray file (including path) to use when RayPattern is equal to RayPatternOption.List.
◆ SaveCriticalRaysFilename
|
set |
Critial rayset output file name, including path.
◆ UseAllFields
|
getset |
If true, all fields will be included in the critical ray set; otherwise, only the on-axis fields will be included.
◆ UseAllWavelengths
|
getset |
If true, all wavelengths will be included in the critical ray set; otherwise, only the primary wavelength will be included.
Properties inherited from