Skip to main content

ZOS-API interface 2024 R2 SP02

ZOSAPI.Editors.NCE.INCECoatScatterFaceData Interface Reference

Last update: 17.07.2025

Coat/Scatter settings for a specific face. This interface can be accessed via the INCECoatScatterData interface. More...

Public Member Functions

bool UseCustomSettings ()
 
bool UseProfile (string profile)
 
string[] GetAvailableProfiles ()
 
bool DeleteProfile ()
 
bool SaveProfile (string profileName)
 
string[] GetAvailableCoatings ()
 
IObjectScatteringSettings CreateScatterModelSettings (ObjectScatteringTypes type)
 
bool ChangeScatterModelSettings (IObjectScatteringSettings newSettings)
 
void CopySettingsFrom (INCECoatScatterFaceData fromFace)
 Copies the coat/scatter settings from the specified face to this face.
 

Properties

bool IsValid [get]
 
int FaceNumber [get]
 
string FaceName [get]
 
bool IsReadOnly [get]
 
bool IsCustom [get]
 
bool IsProfile [get]
 
string ProfileName [get]
 
FaceIsType FaceIs [get, set]
 
string Coating [get, set]
 
ObjectScatteringTypes CurrentScatterModel [get]
 
IObjectScatteringSettings CurrentScatterModelSettings [get]
 
bool ThinWindowScattering [get, set]
 
int NumberOfRays [get, set]
 

Detailed Description

Coat/Scatter settings for a specific face. This interface can be accessed via the INCECoatScatterData interface.

Usage (see Example 21 for a full sample)

C#

// Make Face 1 of object 3 has Lambertian scattering properties
// To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
// And then assign is to object 3 by ChangeScatterModelSettings().
IObjectScatteringSettings ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ObjectScatteringTypes.Lambertian);
ScatType_Lam._S_Lambertian.ScatterFraction = 1;
Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam);
Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1;
Scatter model settings for a specific face. This interface can be accessed via the INCECoatScatterFac...
Definition: InterfacesNCE.cs:6323
ObjectScatteringTypes
Definition: InterfacesNCE.cs:6200

C++

// Make Face 1 of object 3 has Lambertian scattering properties
// To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
// And then assign is to object 3 by ChangeScatterModelSettings().
IObjectScatteringSettingsPtr ScatType_Lam = Object_3->CoatScatterData->GetFaceData(1)->CreateScatterModelSettings(ObjectScatteringTypes_Lambertian);
ScatType_Lam->_S_Lambertian->ScatterFraction = 1;
Object_3->CoatScatterData->GetFaceData(1)->ChangeScatterModelSettings(ScatType_Lam);
Object_3->CoatScatterData->GetFaceData(1)->NumberOfRays = 1;

Matlab

% Make Face 1 of object 3 has Lambertian scattering properties
% To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
% And then assign is to object 3 by ChangeScatterModelSettings().
ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
ScatType_Lam.S_Lambertian_.ScatterFraction = 1;
Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam);
Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1;
Definition: InterfacesNCE.cs:19
Definition: InterfacesEditors.cs:12
The ZOSAPI namespace contains classes for initially connecting to zemax. See also ZOSAPI_Connection,...
Definition: IAS_FieldCurvatureAndDistortion.cs:5

Python

# Make Face 1 of object 3 has Lambertian scattering properties
# To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
# And then assign is to object 3 by ChangeScatterModelSettings().
ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian)
ScatType_Lam._S_Lambertian.ScatterFraction = 1
Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam)
Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1

Member Function Documentation

◆ ChangeScatterModelSettings()

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.ChangeScatterModelSettings ( IObjectScatteringSettings  newSettings)

Usage (see Example 24 for a full sample)

C#

// changes scatter profile on face
ZOSAPI.Editors.NCE.IObjectScatteringSettings o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
o3_Scatter._S_Lambertian.ScatterFraction = 0.5;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter);
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2;

C++

// changes scatter profile on face
IObjectScatteringSettingsPtr o3_scatter = TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->CreateScatterModelSettings(ObjectScatteringTypes::ObjectScatteringTypes_Lambertian);
o3_scatter->_S_Lambertian->ScatterFraction = 0.5;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->ChangeScatterModelSettings(o3_scatter);
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->NumberOfRays = 2;

Matlab

% changes scatter profile on face
o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
o3_Scatter.S_Lambertian_.ScatterFraction = 0.5;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter);
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2;

Python

# changes scatter profile on face
o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian)
o3_Scatter._S_Lambertian.ScatterFraction = 0.5
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter)
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2
Examples
CSharpStandalone_21_White_LED_Phosphor.cs, and CSharpStandalone_24_nsc_detectors.cs.

◆ CopySettingsFrom()

void ZOSAPI.Editors.NCE.INCECoatScatterFaceData.CopySettingsFrom ( INCECoatScatterFaceData  fromFace)

Copies the coat/scatter settings from the specified face to this face.

Parameters
fromFaceThe coat/scatter settings to copy.

◆ CreateScatterModelSettings()

IObjectScatteringSettings ZOSAPI.Editors.NCE.INCECoatScatterFaceData.CreateScatterModelSettings ( ObjectScatteringTypes  type)

Usage (see Example 24 for a full sample)

C#

// changes scatter profile on face
ZOSAPI.Editors.NCE.IObjectScatteringSettings o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
o3_Scatter._S_Lambertian.ScatterFraction = 0.5;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter);
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2;

C++

// changes scatter profile on face
IObjectScatteringSettingsPtr o3_scatter = TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->CreateScatterModelSettings(ObjectScatteringTypes::ObjectScatteringTypes_Lambertian);
o3_scatter->_S_Lambertian->ScatterFraction = 0.5;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->ChangeScatterModelSettings(o3_scatter);
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(2)->NumberOfRays = 2;

Matlab

% changes scatter profile on face
o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
o3_Scatter.S_Lambertian_.ScatterFraction = 0.5;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter);
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2;

Python

# changes scatter profile on face
o3_Scatter = TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian)
o3_Scatter._S_Lambertian.ScatterFraction = 0.5
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).ChangeScatterModelSettings(o3_Scatter)
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(2).NumberOfRays = 2
Examples
CSharpStandalone_21_White_LED_Phosphor.cs, and CSharpStandalone_24_nsc_detectors.cs.

◆ DeleteProfile()

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.DeleteProfile ( )

◆ GetAvailableCoatings()

string[] ZOSAPI.Editors.NCE.INCECoatScatterFaceData.GetAvailableCoatings ( )

◆ GetAvailableProfiles()

string[] ZOSAPI.Editors.NCE.INCECoatScatterFaceData.GetAvailableProfiles ( )

◆ SaveProfile()

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.SaveProfile ( string  profileName)

◆ UseCustomSettings()

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.UseCustomSettings ( )

◆ UseProfile()

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.UseProfile ( string  profile)

Property Documentation

◆ Coating

string ZOSAPI.Editors.NCE.INCECoatScatterFaceData.Coating
getset

Usage (see Example 24 for a full sample)

C#

// Changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = "I.50";

C++

// Changes face type and coating properties
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(0)->FaceIs = FaceIsType_Absorbing;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(1)->FaceIs = FaceIsType_ObjectDefault;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(1)->Coating = "I.50";

Matlab

% changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = 'I.50';

Python

# changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = 'I.50'
Examples
CSharpStandalone_24_nsc_detectors.cs.

◆ CurrentScatterModel

ObjectScatteringTypes ZOSAPI.Editors.NCE.INCECoatScatterFaceData.CurrentScatterModel
get

◆ CurrentScatterModelSettings

IObjectScatteringSettings ZOSAPI.Editors.NCE.INCECoatScatterFaceData.CurrentScatterModelSettings
get

◆ FaceIs

FaceIsType ZOSAPI.Editors.NCE.INCECoatScatterFaceData.FaceIs
getset

Usage (see Example 24 for a full sample)

C#

// Changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = "I.50";

C++

// Changes face type and coating properties
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(0)->FaceIs = FaceIsType_Absorbing;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(1)->FaceIs = FaceIsType_ObjectDefault;
TheNCE->GetObjectAt(3)->CoatScatterData->GetFaceData(1)->Coating = "I.50";

Matlab

% changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault;
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = 'I.50';

Python

# changes face type and coating properties
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(0).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.Absorbing
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).FaceIs = ZOSAPI.Editors.NCE.FaceIsType.ObjectDefault
TheNCE.GetObjectAt(3).CoatScatterData.GetFaceData(1).Coating = 'I.50'
Examples
CSharpStandalone_24_nsc_detectors.cs.

◆ FaceName

string ZOSAPI.Editors.NCE.INCECoatScatterFaceData.FaceName
get

◆ FaceNumber

int ZOSAPI.Editors.NCE.INCECoatScatterFaceData.FaceNumber
get

◆ IsCustom

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.IsCustom
get

◆ IsProfile

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.IsProfile
get

◆ IsReadOnly

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.IsReadOnly
get

◆ IsValid

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.IsValid
get

◆ NumberOfRays

int ZOSAPI.Editors.NCE.INCECoatScatterFaceData.NumberOfRays
getset

◆ ProfileName

string ZOSAPI.Editors.NCE.INCECoatScatterFaceData.ProfileName
get

◆ ThinWindowScattering

bool ZOSAPI.Editors.NCE.INCECoatScatterFaceData.ThinWindowScattering
getset

Connect with Ansys