自定义操作数(User Operand)

在使用基于ZOSAPI的自定义操作数时,"Prog#"0将执行计算,而任何其它值表示将从结果向量中获取指定的值。

double Hx = TheApplication.OperandArgument1;    //  Hx
double Hy = TheApplication.OperandArgument2;    //  Hy
double Px = TheApplication.OperandArgument3;    //  Px
double Py = TheApplication.OperandArgument4;    //  Py
int dataLength = TheApplication.OperandResults.Length;
double[] results = new double[dataLength];
for (int i = 0; i < results.Length; ++i)
{
    double x = i;
    double x2 = x * x;
    double x3 = x * x * x;
 
    results[i] = Hx * x3 + Hy * x2 + Px * x + Py;
}
//
//  Now assign the locally calculated resule back to the Application.
//
TheApplication.OperandResults.Data = results;

注意,接口允许使用任意较大的向量;但只有前100个值可以存储并且由OpticStudio访问。

下一部分: