Skip to main content

ZOS-API interface 2025 R1

ZOSAPI.Tools.ICriticalRaysetGenerator Interface Reference

Last update: 17.07.2025

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. More...

Inheritance diagram for ZOSAPI.Tools.ICriticalRaysetGenerator:

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

double ZOSAPI.Tools.ICriticalRaysetGenerator.EffectiveInputDistance
getset

The pre-progation distance used with infinite conjugate systems; must be >= MinimumEfectiveInputDistance.

◆ MinimumEfectiveInputDistance

double ZOSAPI.Tools.ICriticalRaysetGenerator.MinimumEfectiveInputDistance
get

Gets the minimum efective input distance.

The minimum efective input distance.

◆ NumRays

int ZOSAPI.Tools.ICriticalRaysetGenerator.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

RayPatternOption ZOSAPI.Tools.ICriticalRaysetGenerator.RayPattern
getset

The pattern used to generate the critical rays.

◆ RayScale

double ZOSAPI.Tools.ICriticalRaysetGenerator.RayScale
getset

◆ ReadRaysFromFilename

string ZOSAPI.Tools.ICriticalRaysetGenerator.ReadRaysFromFilename
set

Input ray file (including path) to use when RayPattern is equal to RayPatternOption.List.

◆ SaveCriticalRaysFilename

string ZOSAPI.Tools.ICriticalRaysetGenerator.SaveCriticalRaysFilename
set

Critial rayset output file name, including path.

◆ UseAllFields

bool ZOSAPI.Tools.ICriticalRaysetGenerator.UseAllFields
getset

If true, all fields will be included in the critical ray set; otherwise, only the on-axis fields will be included.

◆ UseAllWavelengths

bool ZOSAPI.Tools.ICriticalRaysetGenerator.UseAllWavelengths
getset

If true, all wavelengths will be included in the critical ray set; otherwise, only the primary wavelength will be included.

Connect with Ansys