- •User’s Manual
- •COPYRIGHT
- •TRADEMARKS
- •LICENSE AGREEMENT
- •WARRANTY
- •DOCUMENT CONVENTIONS
- •What is TracePro?
- •Why Solid Modeling?
- •How Does TracePro Implement Solid Modeling?
- •Why Monte Carlo Ray Tracing?
- •The TracePro Graphical User Interface
- •Model Window
- •Multiple Models in Multiple Views
- •System Tree Window
- •System Tree Selection
- •Context Sensitive Menus
- •Model Window Popup Menus
- •System Tree Popup Menus
- •User Defaults
- •Objects and Surfaces
- •Changing the Names
- •Selecting Objects, Surfaces and Edges
- •Moving Objects and Other Manipulations
- •Interactive Viewing and Editing
- •Normal and Up Vectors
- •Modeling Properties
- •Applying Properties
- •Modeless Dialog Boxes
- •Expression Evaluator
- •Context Sensitive OnLine Help
- •Command Line Arguments
- •Increasing Access to RAM on 32-bit Operating Systems
- •Chinese Translations for TracePro Dialogs
- •Introduction to Solid Modeling
- •Model Units
- •Position and Rotation
- •Defining Primitive Solid Objects
- •Block
- •Cylinder/Cone
- •Torus
- •Sphere
- •Thin Sheet
- •Rubberband Primitives
- •Defining TracePro Solids
- •Lens Element
- •Lens tab
- •Aperture tab
- •Obstruction tab
- •Position tab
- •Aspheric tab
- •Fresnel Lens
- •Reflector
- •Conic
- •3D Compound
- •Parabolic Concentrators
- •Trough (Cylinder)
- •Compound Trough
- •Rectangular Concentrator
- •Facetted Rim Ray
- •Tube
- •Baffle Vane
- •Boolean Operations
- •Intersect
- •Subtract
- •Unite
- •Moving, Rotating, and Scaling Objects
- •Translate
- •Move
- •Rotate
- •Scale
- •Orientation
- •Sweeping and Revolving Surfaces
- •Sweep
- •Revolve
- •Notes Editor
- •Importing and Exporting Files
- •Exchanging Files with Other ACIS-based Software
- •Importing an ACIS File
- •Exporting an ACIS File
- •Stereo Lithography (*.STL) Files
- •Additional CAD Translators (Option)
- •Plot formats for model files
- •Healing Imported Data
- •How to Autoheal an Object
- •How to Manually Heal an Object
- •Reverse Surfaces (and Surface Normal)
- •Combine
- •Lens Design Files
- •Merging Files
- •Inserting Files
- •Changing the Model View
- •Silhouette Accuracy
- •Zooming
- •Panning
- •Rotating the View
- •Named Views
- •Previous View
- •Controlling the Appearance of Objects
- •Display Object
- •Display All
- •Display Object WCS
- •Display RepTile
- •Display Importance
- •Customize and Preferences
- •Preferences
- •Customize
- •Changing Colors
- •Overview
- •What is a property?
- •Define or Apply Properties
- •Property Editors
- •Toolbars and Menus
- •Command Panel
- •Information Panel
- •Grid Panel
- •Material Properties
- •Material Catalogs
- •Material Property Database
- •Create a new material property
- •Editing an existing material property
- •Exporting a material property
- •Importing a Material Property
- •Bulk Absorption
- •Birefringence
- •Bulk Scatter Properties
- •Bulk Scatter Property Editor
- •Import/Export
- •Scatter DLL
- •Fluorescence Properties
- •Defining Fluorescence Properties
- •Fluorescence Calculations
- •Fluorescence Ray Trace
- •Raytrace Options
- •Surface Source Properties
- •Surface Source Property Editor
- •Create a New Surface Source Property
- •Edit an Existing Surface Source Property
- •Export a Surface Source Property
- •Import a Surface Source Property
- •Gradient Index Properties
- •Gradient Index Property Editor
- •Create a New Gradient Index Property
- •Edit an Existing Gradient Index Property
- •Export a Gradient Index Property
- •Import a Gradient Index Property
- •Surface Properties
- •Using the Surface Property Database
- •Using the Surface Property Editor
- •Using Solve for
- •Direction-Sensitive Properties
- •Creating a new surface property
- •Editing an Existing Surface Property
- •Exporting a Surface Property
- •Importing a Surface Property
- •Surface Property Plot Tab
- •Incident Medium
- •Substrate Medium
- •by angle (deg)
- •by wavelength (um)
- •Display Values
- •Table BSDF
- •Creating a Table BSDF Property
- •Creating an Asymmetric Table BSDF Property
- •Using an Asymmetric Table BSDF property
- •Wire Grid Polarizers
- •Upgrading an older property database
- •Applying Wire-Grid Surface Properties
- •Thin Film Stacks
- •Using the Stack Editor
- •Thin Film Stack Editing Note
- •Entering a Single Layer Stack
- •RepTile Surfaces
- •Overview
- •Specifying a RepTile surface
- •RepTile Shapes
- •RepTile Geometries
- •RepTile Parameterization
- •Variables
- •Parameterized Input Fields
- •Decentering RepTile Geometry
- •Property Database Tools
- •Import
- •Export
- •Using Properties
- •Limitations in Pre-Defined Property Data
- •Applying Property Data
- •Material Properties
- •Material Catalogs
- •Applying Material Properties
- •Applying Birefringent Material Properties
- •Bulk Scattering
- •Fluorescence Properties
- •Applying Fluorescence Properties
- •Gradient Index Properties
- •Surface Properties
- •Using the Surface Property Database
- •Surface Source Properties
- •Blackbody Surface Sources
- •Blackbody and Graybody Calculations
- •Source Spreadsheet
- •Scaling the Total Rays for Several Sources
- •Prescription
- •Color
- •Importance Sampling
- •Defining Importance Sampling Targets (Manually)
- •Adding Targets
- •Number of Importance Rays
- •Shape, Dimensions, and Location of Importance Targets
- •Cells
- •Apply the Importance Sampling Property
- •Automatic Setup of Importance Sampling
- •Define the Prescription
- •Select the Target Shape
- •Apply, Cancel, or Save Targets
- •Editing/Deleting Importance Sampling Targets
- •Exit Surface
- •Predefined irradiance map orientation
- •Diffraction
- •Defining Diffraction in TracePro
- •Do I need to Model Diffraction in TracePro?
- •How do I Set Up Diffraction?
- •Using the Raytrace Flag
- •Mueller Matrix
- •Temperature
- •Class and User Data
- •RepTile Surfaces
- •Overview
- •Specifying a RepTile surface
- •Boundary Shapes
- •Export
- •Visualization and Surface Properties
- •Specifying a RepTile Texture File Surface
- •Bump Designation for Textured RepTile
- •Base Plane Designation for Textured RepTile
- •Temperature Distribution
- •Introduction to Ray Tracing
- •Combining Sources
- •Managing Sources with the System Tree
- •Managing Sources with the Source/Wavelength Selector
- •Defining Sources
- •Grid Sources
- •Setting Up the Grid
- •Grid Density: Points/Rings
- •Beam Setup
- •Wavelengths
- •Polarization
- •Surface Sources
- •Importance Sampling from Surface Sources
- •File Sources
- •Creating a File Source from Radiant Imaging Data
- •Creating a File Source from an Incident Ray Table
- •Creating a File Source from Theoretical or Measured Data
- •Insert Source
- •Capability to “trace every nth ray”
- •Capability to scale flux
- •Modify the File Source
- •Orienting and Selecting Sources
- •Multi-Selecting Sources
- •Move and Rotate Dialogs
- •Tracing Rays
- •Standard (Forward) Raytrace
- •Reverse Ray Tracing
- •Specifying reverse rays
- •Theory of reverse ray tracing
- •Luminance/Radiance Ray Tracing
- •Raytrace Options
- •Options
- •Analysis Units
- •Ray Splitting
- •Specular Rays Only
- •Importance Sampling
- •Aperture Diffraction and Aperture Diffraction Distance
- •Random Rays
- •Fluorescence
- •Polarization
- •Detect Ray Starting in Bodies
- •Random Seed
- •Wavelengths
- •Thresholds
- •Simulation and Output
- •Collect Exit Surface Data
- •Collect Candela Data
- •Index file name
- •Save Data to Disk during Raytrace
- •Save Ray History to disk
- •Sort Ray Paths
- •Save Bulk Scatter data to disk
- •Simulation Options for TracePro LC
- •Collect Exit Surface Data
- •Collect Candela Data
- •Advanced Options
- •Voxelization Type
- •Voxel Parameters
- •Raytrace Type
- •Gradient Index Substep Tolerance
- •Maximum Nested Objects
- •Progress Dialog
- •Ray Tracing modes
- •Analysis Mode
- •Saving and Restoring a Ray-Trace
- •Simulation Mode
- •Simulation Dialog
- •Simulation Options
- •Simulation Data for LC
- •Examining Raytrace Results
- •Analysis Menu
- •Display Rays
- •Ray Drawing Options
- •Ray Colors
- •Flux-based ray colors
- •Wavelength-based ray colors
- •Source-based ray colors
- •All rays one color
- •Irradiance Maps
- •Irradiance Map Options
- •Map Data
- •Display Options
- •Contour Levels
- •Access to Irradiance Data
- •Ensquared Flux
- •Luminance/Radiance Maps
- •3D Irradiance Plot
- •Candela Plots
- •Candela Options
- •Orientation and Rays
- •Polar Iso-Candela
- •Rectangular Iso-Candela
- •Candela Distributions
- •IESNA and Eulumdat formats
- •Access to Candela/Intensity Data
- •Enclosed Flux
- •Polarization Maps
- •Polarization Options
- •Save Polarization Data
- •OPL/Time-of-flight plot
- •OPL/Time-of-flight plot options
- •Incident Ray Table
- •Copying and Pasting the Incident Ray Table Data
- •Saving the Incident Ray Table in a File
- •Saving the Incident Ray Table as a Source File
- •Display Selected Rays
- •Source Files - Binary file format
- •Ray Histories
- •Copying and Pasting the Ray History Table Data
- •Saving the Ray History Table in a File
- •Ray Sorting
- •Ray Sorting Examples
- •Reports Menu
- •Flux Report
- •Property Data Report
- •Raytrace Report
- •Saving and Restoring a Raytrace
- •Tools Menu
- •Audit
- •Delete Raydata Memory
- •Collect Volume Flux
- •Overview
- •View Volume Flux
- •Overview
- •Flux Type
- •Normal Axis/Orientation
- •Slices
- •Color Map
- •Gradient
- •Logarithmic
- •Simulation File Manager
- •Irradiance/Illuminance Viewer
- •Overview
- •Viewing a saved Irradiance/Illuminance Map
- •Irradiance/Illuminance Viewer Options
- •Adding and Subtracting Irradiance/Illuminance Maps
- •Measurement Dialog
- •Introduction
- •The Use of Ray Splitting in Monte Carlo Simulation
- •Importance Sampling
- •Importance Sampling and Random Rays
- •When Do I Need Importance Sampling?
- •How to Choose Importance Sampling Targets
- •Importance Sampling Example
- •Material Properties
- •Material Property Database
- •Material Property Interpolation
- •Gradient Index Profile Polynomials
- •Complex Index of Refraction
- •Surface Properties
- •Coincident Surfaces
- •BSDF
- •Harvey-Shack BSDF
- •ABg BSDF Model
- •BRDF, BTDF, and TS
- •Elliptical BSDF
- •What is an elliptical BSDF?
- •Elliptical ABg BSDF model
- •Elliptical Gaussian BSDF
- •Calculation of Fresnel coefficients during raytrace
- •Anisotropic Surface Properties
- •Anisotropic surface types
- •Getting anisotropic data
- •User Defined Surface Properties
- •Overview
- •Creating a Surface Property DLL
- •Create the Surface Property
- •Apply Surface Property
- •API Specification for Enhanced Coating DLL
- •Document Layout
- •Calling Frequencies
- •Return Codes, Signals, and Constants -- TraceProDLL.h
- •Description of Return Codes
- •Function: fnInitDll
- •Function: fnEvaluateCoating
- •Function: fnAnnounceOMLPath
- •Function: fnAnnounceDataDirectory
- •Function: fnAnnounceSurfaceInfo
- •Function: fnAnnounceLocalBoundingBox
- •Function: fnAnnounceRaytraceStart
- •Function: fnAnnounceWavelengthStart
- •Function: fnAnnounceWavelengthFinish
- •Function: fnAnnounceRaytraceFinish
- •Example of Enhanced Coating DLL
- •Surface Source Properties
- •Spectral types
- •Rectangular
- •Gaussian
- •Solar
- •Table
- •Angular Types
- •Lambertian
- •Uniform
- •Gaussian
- •Solar
- •Table
- •Mueller Matrices and Stokes Vectors
- •Bulk Scattering
- •Henyey-Greenstein Phase Function
- •Gegenbauer Phase Function
- •Scattering Coefficient
- •Using Bulk Scattering in TracePro
- •User Defined Bulk Scatter
- •Using Scatter DLLs
- •Required DLL Functions called from TracePro
- •Common Arguments passed from TracePro
- •DLL Export Definitions
- •Non-Uniform Temperature Distributions
- •Overview
- •Distribution Types
- •Rectangular Coordinates
- •Circular Coordinates
- •Cylindrical Coordinates
- •Defining Temperature Distributions
- •Format for Temperature Distribution Storage Files
- •Type 0: Rectangular with Interpolated Points
- •Type 1: Rectangular with Polynomial Distribution
- •Type 2: Circular with Interpolated Points
- •Type 3: Circular with Polynomial Distribution
- •Type 4: Cylinder with Interpolated Points
- •Type 5: Cylinder with Polynomial Distribution
- •Polynomial Approximations of Temperature Distributions
- •Interpretation of Polar Iso-Candela Plots
- •Property Import/Export Formats
- •Material Property Format
- •Surface Property Format
- •Surface Data Columns
- •Grating Data Columns
- •Stack Property Format
- •Gradient Index Property Format
- •Gradient Index Data Columns (non-GRADIUM types)
- •Gradient Index Data Columns (GRADIUM (Buchdahl) type)
- •Gradient Index Data Columns (GRADIUM (Sellmeier) type)
- •Bulk Scatter Property Format
- •Fluorescence Property Format
- •Surface Source Property Format
- •RepTile Property Format
- •Texture File Format
- •The Scheme Language
- •Scheme Editor
- •Overview
- •Text Color
- •Macro Recorder
- •Recording States
- •Macro Format and Example
- •Macro Command Examples
- •Running a Macro Command from the Command Line
- •Running a Scheme Program Stored in a File
- •Scheme Commands
- •Creating Solids
- •Create a solid block:
- •Create a solid block named blk1:
- •Create a solid cylinder:
- •Create a solid elliptical cylinder:
- •Create a solid cone:
- •Create a solid elliptical cone:
- •Create a solid torus:
- •Boolean Operations
- •Boolean subtract
- •Boolean unite
- •Boolean intersect
- •Chamfers and blends
- •Macro Programs
- •Accessing TracePro Menu Selections using Scheme
- •For more information on Scheme
- •TracePro DDE Interface
- •Introduction
- •The Service Name
- •The Topic
- •The Item
- •Clipboard Formats
- •TracePro DDE Server
- •Establishing a Conversation
- •Excel 97/2000 Example
- •RepTile Examples
- •Fresnel lens
- •Conical hole geometry with variable geometry, rectangular tiles and rectangular boundary
- •Parameterized spherical bump geometry with staggered ring tiles
- •Aperture Diffraction Example
- •Applying Importance Sampling to a Diffracting Surface
- •Volume Flux Calculations Example
- •Sweep Surface Example
- •Revolve Surface Example
- •Using Copy with Move/Rotate
- •Example of Orienting and Selecting Sources
- •Creating the TracePro Source Example OML
- •Moving and Rotating the Sources from the Example
- •Anisotropic Surface Property
- •Creating an anisotropic surface property in TracePro
- •Applying an anisotropic surface property to a surface
- •Elliptical BSDF
- •Creating an Elliptical BSDF property
- •Applying an elliptical BSDF surface property to a surface
- •Using TracePro Diffraction Gratings
- •Using Diffraction Gratings in TracePro
- •Ray-tracing a Grating Surface Property
- •Example Using Reverse Ray Tracing
- •Specifying reverse rays
- •Setting importance-sampling targets
- •Tracing Reverse Rays
- •Viewing Analysis Results
- •Example using multiple exit surfaces
- •Example Using Luminance/Radiance Maps
- •Index
Surface Properties
FIGURE 7.8 - Elliptical BSDF coordinates
API Specification for Enhanced Coating DLL
This section has, and still is, provided as a separate document within the TracePro installation, but it is now included in the manual in order to highlight the great utility of this tool. While the Enhanced Coating DLL requires programming experience from the user it provides the following features:
•Spatial variation of surface properties including reflection, absorption, transmission,
•All surface properties can be functions of wavelength, temperature, and other parameters,
•Individual control of the Stokes vectors for rays, and
•Assign Mueller Matrices to surfaces rather than objects.
Simply said, this API allows the user to enter complex surface properties through their own C++ programming structures. It can be thought as analogous to RepTile but rather than affecting the geometry it affects the coating properties on that surface. This section provides a bit more understanding of how to use set up such DLLs, but by no means is it complete - there are just too many options possible with this API!
The following API specification identifies all function calls and parameters passed between the main executable, TracePro, and the Enhanced Coating DLL (herein
TracePro 5.0 User’s Manual |
7.29 |
Technical Reference
referred to as "DLL"). This functionality requires the Expert edition of TracePro. All references to "TracePro" within this section imply TracePro Expert.
The header files (*.h) constitute a key portion of this document. The header files are shipped with TracePro in electronic form. In the event that a shipped header file differs from the description shown in this document, the shipped header file takes precedence since it was actually used in the compilation of the software. Please notify Lambda of any discrepancies and this document will be updated.
Document Layout
This specification identifies and describes function calls made by TracePro into the DLL. A syntax sheet is provided for each function, identifying and explaining the following:
•The frequency by which the function is called by TracePro,
•The parameters passed by TracePro to each function, and
•The parameters returned by each function to TracePro.
Calling Frequencies
The following calling frequencies apply:
•Per Simulation - Functions with this frequency are called once per simulation/ analysis (hereafter called simulation). A simulation consists of two phases: an audit phase and a raytrace phase.
•Per Wavelength - Functions with this frequency are called once per wavelength ray trace. This occurs in a portion of the audit phase. Once the raytrace phase begins, the raytrace proceeds one wavelength at a time. As the simulation switches from one wavelength to another, this portion of the audit phase is executed to update the model for the next wavelength to be traced.
•Per Surface - Functions with this frequency are called once for each surface in the TracePro model. These functions are called in the audit phase of the simulation.
•Per Surface Intersection -- Functions with this frequency are called each time a ray intersects a surface with a Coating DLL type surface property on it. These functions are called in the raytrace phase of the simulation.
Return Codes, Signals, and Constants -- TraceProDLL.h
All return codes, signals, and constants are defined in the C++ header file, TraceProDLL.h. This header file is included when TracePro is compiled and built. The default location is:
C:\Program Files\Lambda Research Corporation\TracePro\DLLs
DLL writers should use the definitions provided herein and not hard code numbers when their usage is warranted.
Description of Return Codes
The return codes for functions in the DLL are broken into two categories. One set for functions returning a double value; and another set for functions returning an integer value. The two sets mirror each other.
7.30 |
TracePro 5.0 User’s Manual |
Surface Properties
Double:
• OK and no message to be output by TracePro:
const double COATING_DLL_RETURN_CODE_OK = (double)0;
• OK and TracePro to output message:
const double COATING_DLL_RETURN_CODE_OK_WITH_MESSAGE = (double)1;
• Error, TracePro to output message, but keep processing:
const double COATING_DLL_RETURN_CODE_ERROR_GENERAL = (double)2;
• Error, TracePro to output message, and stop processing:
const double COATING_DLL_RETURN_CODE_ERROR_CRITICAL = (double)3;
Integer:
•OK and no message to be output by TracePro: const int COATING_DLL_IRC_OK = 0;
•OK and TracePro to output message:
const int COATING_DLL_IRC_OK_WITH_MESSAGE = 1;
•Error, TracePro to output message, but keep processing: const int COATING_DLL_IRC_ERROR_GENERAL = 2;
•Error, TracePro to output message and stop processing:: const int COATING_DLL_IRC_ERROR_CRITICAL = 3;
Function: fnInitDll
Calling Frequency:
Per Surface
Function Prototype:
//Function address for TracePro random number generator typedef double (*RAND_FN)(void);
RAND_FN random_function;
double fnInitDll( RAND_FN address,
// the following parameters have defaults for backward compatibility
long nUniqueSurfaceID = 0, LPTSTR szMessage = ""
);
TracePro 5.0 User’s Manual |
7.31 |
Technical Reference
Description:
This is an initialization function called by TracePro to setup the random number generator for use by the DLL. This function is also the first announcement of the unique surface identifier. The writer of the DLL should use this function to store this unique surface ID in a variable for use throughout the DLL.
Parameters:
nUniqueSurfaceID:
unique surface ID established during the audit phase of the simulation Data flow direction: TracePro > DLL
szMessage:
message sent to TracePro's message window if the return code is non-zero Data flow direction: DLL > TracePro
Function: fnEvaluateCoating
Calling Frequency:
Per Surface Intersection
Function Prototype:
double fnEvaluateCoating( double* input,
int input_size, double* user, int user_size, double* results,
int results_size,
// the following parameters have defaults for backward compatibility
long nUniqueSurfaceID = 0, LPTSTR szMessage = ""
);
Description:
The fundamental communication link between TracePro and the DLL in the evaluation function, fnEvaluateCoating, is primarily through the use of 2 arrays, called the "input" array and the "results" array.
Parameters:
NOTE: nUniqueSurfaceID and szMessage have the same meaning as described in the other functions.
The "input" array description:
Data flow direction: TracePro > DLL
7.32 |
TracePro 5.0 User’s Manual |
Surface Properties
Description
Wavelength
Temperature position X position Y position Z
incident direction Xi incident direction Y incident direction Z flux S0, (Stokes Vector) flux S1, (Stokes Vector) flux S2, (Stokes Vector) flux S3, (Stokes Vector)
flux SX, (Stokes Vector) flux SY, (Stokes Vector) flux SZ, (Stokes Vector) surface normal X surface normal Y surface normal Z
Variable input[WAVELENGTH] input[TEMPERATURE] input[RAY_POS_X] input[RAY_POS_Y] input[RAY_POS_Z] input[RAY_DIR_X] input[RAY_DIR_Y] input[RAY_DIR_Z] input[RAY_FLUX_S0] input[RAY_FLUX_S1] input[RAY_FLUX_S2] input[RAY_FLUX_S3] input[RAY_FLUX_SX] input[RAY_FLUX_SY] input[RAY_FLUX_SZ] input[SURF_NORM_X] input[SURF_NORM_Y] input[SURF_NORM_Z]
The "results" array description:
Data flow direction: DLL > TracePro
Depending on the value assigned to the results[SIGNAL_TO_TRACEPRO], the results array will be interpreted differently by TracePro. There are three signals that TracePro will recognize. They are:
•COATING_DLL_SIGNAL_NONE
•COATING_DLL_SIGNAL_USE_MUELLER_MATRIX
•COATING_DLL_SIGNAL_FULL_RAY_CONTROL
1. By assigning as follows:
results[SIGNAL_TO_TRACEPRO] = COATING_DLL_SIGNAL_NONE;
TracePro will recognize the following variables in the results array:
Description
s - absorptance p - absorptance s - reflectance p - reflectance
s - transmittance
Variable results[ABSO_S] results[ABSO_P] results[REFL_S] results[REFL_P] results[TRAN_S]
TracePro 5.0 User’s Manual |
7.33 |
Technical Reference
p - transmittance |
results[TRAN_P] |
Phase reflection [deg] |
results[PHAS_R] |
Phase transmission [deg] |
results[PHAS_T] |
2. By assigning as follows: results[SIGNAL_TO_TRACEPRO]=COATING_DLL_SIGNAL_USE_MUELLER_MATRIX;
TracePro will also recognize the following variables in the results array (the above variables for case 1 are also used):
Description: 16 Mueller Matrix components for reflection Variable: results[REFL_MM_xy] for x -> 0 to 3 ; y-> 0 to 3
Description: 16 Mueller Matrix components for transmission
Variable: results[TRAN_MM_xy] for x -> 0 to 3 ; y-> 0 to 3
3. By assigning as follows:
results[SIGNAL_TO_TRACEPRO] =COATING_DLL_SIGNAL_FULL_RAY_CONTROL;
TracePro will recognize the following variables in the results array:
Description
s - absorptance p - absorptance output direction X output direction Y output direction Z output Stokes, S0 output Stokes, S1 output Stokes, S2 output Stokes, S3
output Stokes, SX output Stokes, SY output Stokes, SZ
Variable results[ABSO_S] results[ABSO_P] results[RAYOUT_DIR_X] results[RAYOUT_DIR_Y] results[RAYOUT_DIR_Z]
results[RAYOUT_FLUX_S0] results[RAYOUT_FLUX_S1] results[RAYOUT_FLUX_S2] results[RAYOUT_FLUX_S3] results[RAYOUT_FLUX_SX] results[RAYOUT_FLUX_SY] results[RAYOUT_FLUX_SZ]
When TracePro is sent the new signal:
COATING_DLL_SIGNAL_FULL_RAY_CONTROL,
the 10 quantities (for direction and flux) are used in conjunction with two existing array elements, ABSO_S and ABSO_P, to control the next ray node to propagate from the surface.
7.34 |
TracePro 5.0 User’s Manual |