ZOSAPI.Editors.NCE.INCECoatScatterFaceData Interface Reference
Last update: 17.07.2025Coat/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
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
◆ CopySettingsFrom()
| void ZOSAPI.Editors.NCE.INCECoatScatterFaceData.CopySettingsFrom | ( | INCECoatScatterFaceData | fromFace | ) |
Copies the coat/scatter settings from the specified face to this face.
- Parameters
-
fromFace The 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
◆ 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
|
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
|
get |
◆ CurrentScatterModelSettings
|
get |
◆ 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
|
get |
◆ FaceNumber
|
get |
◆ IsCustom
|
get |
◆ IsProfile
|
get |
◆ IsReadOnly
|
get |
◆ IsValid
|
get |
◆ NumberOfRays
|
getset |
◆ ProfileName
|
get |
◆ ThinWindowScattering
|
getset |