Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
VirtualLabAPI.Core.Numerics Namespace Reference

Classes

class  AxisRotationSequence
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for describing a sequence of rotations about coordinate axes More...
 
class  CartesianCoordinateSystem
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for right-handed Cartesian coordinate systems. More...
 
class  CFieldDerivative1DReal
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class derived from ComplexField, designed especially for one dimensional, real valued data. More...
 
class  ColorMapping
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Used to describe the color mapping between a ComplexAmplitude and a bitmap. Colors from StartColor to EndColor are linearly mapped to double values from StartValue to EndValue. Optional a third color can be inserted in the middle. All parameters are stored separately for each FieldQuantity. More...
 
struct  Complex
  This struct holds a complex number.
Operators ( \(a+b\), \(a-b\), \(a*b\), \(a/b\) and \(a^b\)) can be used. Passing \(a\) or \(b\) as double is supported. More...
 
class  ComplexField
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class is a matrix of complex values. If no imaginary part is needed (real valued fields) one can set a special flag that indicates a real valued field (ComplexField with imaginary part zero). This different internal representations are used to optimize the computer memory and computational time.
Operators ( \(a+b\), \(a-b\), \(a*b\) and \(a/b\)) can be used. Passing \(a\) or \(b\) as Complex or double is supported (Except of \(/\), only \(b\) may be a scalar). Operator \(a|b\) is used for calculation of inner product of two ComplexFields: \(a|b=\sum _{j=0}^{m}\sum _{i=0}^{n}a_{{i,j}}b_{{i,j}^{\star}}\) ( \(z^{\star}\) means conjugation of complex number.). IsComplex property is always taken from first operand. More...
 
class  ComplexField1DArray
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class to encapsulate an array of objects of type ComplexFieldDerivative1D. It also ensures that all entries are either complex or real valued. More...
 
class  ComplexFieldArray
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class to encapsulate an array of objects of type ComplexField. More...
 
class  ComplexFieldDerivative1D
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class derived from ComplexField, designed especially for one dimensional data. More...
 
class  ComplexFieldInterpolation
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class contains static member function to interpolate a ComplexField to another sampling grid. More...
 
class  ComplexFieldPointInterpolation
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
ComplexFieldPointInterpolation is a class with static members that are able to interpolated pointwise between different sampling points of a ComplexField. Additionally a non static-optimized version is supported for most interpolation methods. These functions are optimized for an interpolation on an equidistant grid. Different interpolation methods are supported. For more information see [Lehmann1999]. More...
 
class  CoordinateSystemBaseVectors
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for the base vectors of a Cartesian coordinate system. This kind of triple vector is also called "trihedron". More...
 
class  CoordinateTransformations
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Provides static conversion functions from one coordinate system to another one, among others More...
 
class  DataArray1D
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are equidistant or non equidistant distributed in R^1 More...
 
class  DataArray2D
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store gridded data in C^N which are equidistant or non equidistant distributed in R^2 More...
 
class  DataArrayBase
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Abstract class for storing a map R^M → C^N More...
 
class  DataArrayGridLess
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are arbitrarily distributed (i.e. not on a grid) in ℝ^M More...
 
class  DirectionByDirectionAngles
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining directions by direction angles. More...
 
class  DirectionByRotationMatrix
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining directions by applying a rotation matrix to a starting vector. More...
 
class  DirectionByRotationSequence
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining directions by applying a sequence of axis rotations to a starting vector. More...
 
class  EulerAnglesSet
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Struct for Euler angles, following the Z-X'-Z'-convention. More...
 
class  ExtrapolationInfo
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class which holds information about extrapolation of 1D and 2D data with a finite domain of definition. The extrapolation information tells how to operate outside of the definition domain. More...
 
interface  IOrientationDefinition
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Interface to be implemented by all classes that describe a rotation definition More...
 
interface  IProvidesPositioningReferences
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Interface to be implemented by all classes that contain coordinate systems that can serve as positioning references More...
 
interface  IRegion1D2D
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Interface to connect 1D and 2D regions. More...
 
class  MathFunctions
  This class contains various mathematical functions and constants. More...
 
class  Matrix3x3C
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class defines a 3x3 Matrix of complex numbers.
Operators ( \(a+b\), \(a-b\)). Operator ( \(a*b\)) supports \(b\) as complex or Vector3C as well. More...
 
class  Matrix3x3D
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class defines a 3x3 Matrix of double numbers.
Operators ( \(a+b\), \(a-b\)). Operator ( \(a*b\)) supports \(b\) as double or VectorD as well. More...
 
class  OrientationByCartesianAngles
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by Cartesian angles, i.e. the angles between the projection of the direction to be defined onto the x-z-plane and the z-axis (alpha), and between the projection of the direction to be defined onto the y-z-plane and the z-axis (beta). More...
 
class  OrientationByDirectionAngles
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by direction angles, i.e. the angles between the direction to be defined and each of the Cartesian axis respectively. More...
 
class  OrientationByEulerAngles
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by Euler angles. More...
 
class  OrientationByMatrix
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations via rotation matrix. More...
 
class  OrientationBySphereAngles
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
A class for defining orientations by sphere angles. More...
 
class  OrientationDefinitionBase
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Base for all classes that describe a rotation definition. More...
 
class  OrientedPlane
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that describe planes with a right-hand orientation. Data are stored in parametrized form, i.e. as one point and two vectors. The third base vector gives the orientated normal vector. More...
 
class  PhysicalUnit
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Association between unit string and corresponding factor. More...
 
class  PhysicalValue
  class for a double value with a physical unit. More...
 
class  PhysicalValueBase
  Base class for a complex or double value with a physical unit. More...
 
class  PhysicalValuePair
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for a pair of physical values. More...
 
class  PhysicalValueRange
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for a range of physical values. More...
 
class  Position
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class to describe a position object, that is a point in R^3, with reference information added. More...
 
class  PositionedLine
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that describe positioned lines in space More...
 
class  SamplingParameters
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class contains parameters for proper sampling of a complex field. More...
 
class  SimpleRotation
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for describing a rotation about one of the coordinate axes or by a certain predefined angle More...
 
class  Transformations
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Contains static functions that perform transformations of one or two ComplexField like Fourier Transform of Convolution. More...
 
struct  Vector
 This struct defines a two-dimensional vector of integer numbers. Operators \(a+b\), \(a-b\) and \(a|b\) (Scalar product) can be used. One operand on \(a*b\) and \(a/b\) can be an integer too. Implicit casting to System.Drawing.Point and System.Drawing.Size is supported. More...
 
struct  Vector3C
  This class defines 3-dimensional vectors of complex numbers. The class saves the x,y and z coordinates. More...
 
struct  Vector3D
  This struct defines a three dimensional vector of double numbers. Operators \(a+b\), \(a-b\) and \(a|b\) (Scalar product) can be used. Second operand on \(a*b\), \(a/b\) and \(a^b\) (applied separate on components) can be a double too. More...
 
struct  VectorB
  This struct defines a two-dimensional vector of boolean values. More...
 
struct  VectorC
 This struct defines a two-dimensional vector of complex numbers. Operators \(a+b\), \(a-b\) and \(a|b\) (Scalar product) can be used. One operand on \(a*b\), \(a/b\) (applied separate on components) can also be a Complex. Implicit casting from Vector is supported. More...
 
struct  VectorD
  This struct defines a two-dimensional vector of double numbers. Operators \(a+b\), \(a-b\) and \(a|b\) (Scalar product) can be used. One operand on \(a*b\), \(a/b\) (applied separate on components) can be also a double. It is also possible to raise a VectorD to a given power ( \(a^b\)). Implicit casting from Vector is supported. More...
 
struct  VectorL
 This struct defines a two-dimensional vector of long numbers. Operators \(a+b\), \(a-b\) and \(a|b\) (Scalar product) can be used. One operand on \(a*b\) and \(a/b\) can be an long too. More...
 

Enumerations

enum  AxisDirection { X , Y , Z }
  These enum flags are used to indicate different directions. More...
 
enum  ComplexPart {
  ExtractPhase , ExtractAmplitude , ExtractImaginary , ExtractReal ,
  ExtractSquaredAmplitude , ShiftRealToPhase , ShiftImaginaryToReal , ShiftRealToImaginary ,
  ShiftPhaseToReal , SwapRealImaginary , NoChangings
}
  This enum lists actions a function can perform on the ComplexPart of a Complex number like extracting, shifting and swapping. More...
 
enum  ComplexToStringConversionFormat { RealImaginary , AmplitudePhase , PTF , Matlab }
  Output formats which are supported by the Complex.ToString() method and by the Complex.Parse() method. More...
 
enum  DirectionDefinitionType {
  Vector , SphericalAngles , DirectionAngles , CartesianAngles ,
  AxisRotationSequence , RotationMatrix
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for different types of definition for directions More...
 
enum  ExtrapolationType { Constant , BorderContinuation , Periodic }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the mode of extrapolation, applied to a ComplexField if coordinates outside its definition area are needed. More...
 
enum  FieldQuantity {
  RealPart , ImaginaryPart , Amplitude , Phase ,
  SquaredAmplitude , SummedSquaredAmplitudes
}
  Enumerator containing the distinct components of a Complex number. More...
 
enum  IndependentDirectionAngles { RhoSigma , SigmaTau , TauRho }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum to differentiate possible combinations of independent direction angles. More...
 
enum  InterpolationMethod {
  SincFFT , SincPointwise , TruncatedSinc , Linear_AmplitudeAndPhase ,
  Nearest , Cubic4P , Cubic6P , Cubic8P ,
  WindowedSinc , Combined , AcceleratedSinc , Linear_RealAndImaginaryPart
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enumeration of constants for different interpolation types. (See manual for details) More...
 
enum  InterpolationMethodForNonequidistantData { ConstantInterval , LinearOnRealAndImaginaryPart , LinearOnAmplitudeAndPhase }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the different methods of interpolation for non equidistant data More...
 
enum  OrientationDefinitionType {
  SphericalAngles , DirectionAngles , CartesianAngles , EulerAngles ,
  AxisRotationSequence , RotationMatrix
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for different types of definition for rotations of vectors, planes or solids More...
 
enum  PhysicalProperty {
  NoUnit , Length , AngleRad , AngleDeg ,
  Time , WaveNumber , AbsorptionCoefficient , Percentage ,
  Power , ElectricalField , TemporalFrequency , PowerPerArea ,
  PowerPerVolume , AreaPerEnergy , VolumePerEnergy , AreaPerEnergySquared ,
  VolumePerEnergySquared , EnergyPerArea , EnergyPerVolume , PowerPerSolidAngle ,
  PowerPerSolidAngleAndArea , Illuminance , Luminance , LuminousIntensity ,
  ArbitraryUnit , LogarithmicLevel , ElectricFieldStrengthSquared , MagneticFieldStrength ,
  MagneticFieldStrengthSquared , PowerPerAreaSquared , PerVolume , Energy ,
  Temperature , Pressure , ResolvingCapacity , ElectricFieldStrengthSpectral ,
  MagneticFieldStrengthSpectral , ElectricFieldStrengthSpectralSquared , MagneticFieldStrengthSpectralSquared , SpectralRadiantFlux ,
  SpectralRadiantEnergyDensity , SpectralRadiantIntensity , LuminousEnergyDensity , EnergyJoule ,
  LuminousFlux , SpectralRadiantEnergy , LuminousEnergy , Information_Binary ,
  Information_Decimal , TemperatureKelvin , UserDefined
}
  Supported physical units. More...
 
enum  PositionRelationOfGeometricalObjects { Parallel , Intersecting , Containedness , SkewLines }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the types of position relations of lines and planes More...
 
enum  PrecisionMode { Double , Float , Short , Long }
  This enumerator lists precisions of the internal complex number representation of the ComplexField class supported by VirtualLab. Different internal representations are used to save computer memory and to increase the calculation speed in case of calculations that need not such a high accuracy. More...
 
enum  RotationAxisOrAngleName {
  EulerAnglePhi , EulerAngleTheta , EulerAnglePsi , SphereAnglePhi ,
  SphereAngleTheta , DirectionAngleRho , DirectionAngleSigma , DirectionAngleTau ,
  CartesianAngleAlpha , CartesianAngleBeta , AxisRotationX , AxisRotationY ,
  AxisRotationZ
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for all kinds of angles that are to be used within classes implementing IOrientationDefinition. More...
 

Functions

double[] BivariateFunction (double parameter1, double parameter2)
 Delegate for a real valued function(s) which depend(s) on two variables.
 
Complex ComplexFunction (double x, double y)
  This is intended for callbacks to a function from ℝ² to ℂ.
 
double RealFunction (double x, double y)
  This is intended for callbacks to a function from ℝ² to ℝ.
 
double RealFunctionIntersection (Vector3D startPosition, Vector3D direction, double distanceOnRay)
 Delegate for a function which returns a real value (distance to surface) for a specific distance on the ray (starting at the start position with the given direction).
 
double RealFunctionWithSingleArgument (double x)
  Delegate for computing integrals of real functions from ℝ to ℝ;
 
VectorD RealVectorDFunction (double x, double y)
 This is intended for callbacks to a function from ℝ² to ℝ².
 

Enumeration Type Documentation

◆ AxisDirection

These enum flags are used to indicate different directions.

Enumerator

If this flag is set it indicates a x-direction.

If this flag is set it indicates a y-direction.

If this flag is set it indicates a z-direction.

◆ ComplexPart

This enum lists actions a function can perform on the ComplexPart of a Complex number like extracting, shifting and swapping.

Enumerator
ExtractPhase 

Sets the amplitude to one.

ExtractAmplitude 

Extract amplitude and move it to real part. Real part is set to zero.

ExtractImaginary 

Extract the imaginary part by setting real part to zero.

ExtractReal 

Extract real part by setting imaginary part to zero.

ExtractSquaredAmplitude 

Extract squared amplitude and shift it to real part.

ShiftRealToPhase 

// Extract squared norm (the amplitude to the power of 4) and shift it to real part. //

Shift real part to phase part. Amplitude is set to one.

ShiftImaginaryToReal 

Shift imaginary part to real part. Imaginary part is set to zero.

ShiftRealToImaginary 

Shift real part to imaginary part. Real part is set to zero.

ShiftPhaseToReal 

Shift phase to real part. Imaginary part is set to zero.

SwapRealImaginary 

Swap real and imaginary part.

NoChangings 

Do nothing.

◆ ComplexToStringConversionFormat

Output formats which are supported by the Complex.ToString() method and by the Complex.Parse() method.

Enumerator
RealImaginary 

Complex Number Representation of Real and Imaginary part: {Real} + i{Imaginary}.

AmplitudePhase 

Complex Number Representation of Amplitude and Phase: {Amplitude} \(\cdot\) exp(i \(\cdot\){Phase})

PTF 

The format as used for PTF export: ({Real}, {Imaginary})


Matlab 

The format used by MATLAB: {Real}+{Imaginary}i.

◆ DirectionDefinitionType

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for different types of definition for directions

Enumerator
Vector 

Direction is defined by a direction vector.

SphericalAngles 

Direction is defined by inclining a reference vector using the sphere angles phi and theta.

DirectionAngles 

Direction is defined by inclining a reference vector using the directions angles rho, sigma, and tau.

CartesianAngles 

Direction is defined by inclining a reference vector using the Cartesian angles alpha and beta.

AxisRotationSequence 

Direction is defined by inclining a reference vector using a sequence of rotations about the coordinate axes.

RotationMatrix 

Direction is defined by inclining a reference vector using a rotation matrix.

◆ ExtrapolationType

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the mode of extrapolation, applied to a ComplexField if coordinates outside its definition area are needed.

Enumerator
Constant 

All values outside of the domain of definition have a fix, constant value.

BorderContinuation 

Each value outside of the domain of definition has the value of its closest border point.

Periodic 

The data are periodic.

◆ FieldQuantity

Enumerator containing the distinct components of a Complex number.

Enumerator
RealPart 

Real part.

ImaginaryPart 

Imaginary part.

Amplitude 

Amplitude ( \(\sqrt{Re(x)^2 + Im(x)^2}\)).

Phase 

Phase.

SquaredAmplitude 

Squared Amplitude ( \(Re(x)^2 + Im(x)^2\)).

SummedSquaredAmplitudes 

Squared Sum of Amplitudes ( \(|E_x|^2 + |E_y|^2\)).

◆ IndependentDirectionAngles

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum to differentiate possible combinations of independent direction angles.

Enumerator
RhoSigma 

The direction angles rho and sigma are independent, tau is calculated by \(\arccos(\sqrt{1 - \cos^2 \rho + \cos^2 \sigma})\).

SigmaTau 

The direction angles sigma and tau are independent, rho is calculated by \(\arccos(\sqrt{1 - \cos^2 \sigma + \cos^2 \tau})\).

TauRho 

The direction angles tau and rho are independent, sigma is calculated by \(\arccos(\sqrt{1 - \cos^2 \tau + \cos^2 \rho})\).

◆ InterpolationMethod

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enumeration of constants for different interpolation types. (See manual for details)

Enumerator
SincFFT 

FFT based sinc interpolation.

SincPointwise 

Pointwise sinc interpolation.

TruncatedSinc 

Truncated sinc interpolation.

Linear_AmplitudeAndPhase 

Linear interpolation. Phase and amplitude interpolated separately.

Nearest 

Nearest neighbour interpolation.

Cubic4P 

Cubic 4 point interpolation.

Cubic6P 

Cubic 6 point interpolation.

Cubic8P 

Cubic 8 Point interpolation.

WindowedSinc 

Windowed sinc interpolation.

Combined 

Combines windowed sinc interpolation and cubic 4 point interpolation.

AcceleratedSinc 

Sinc Refinement, possibly after region extraction with a guarding frame, then Cubic 8P.

Linear_RealAndImaginaryPart 

Linear interpolation. Real part and imaginary part interpolated separately.

◆ InterpolationMethodForNonequidistantData

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the different methods of interpolation for non equidistant data

Enumerator
ConstantInterval 

Assume constant values from one data point's coordinate to the next point's coordinate. For this method the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints-1), CoordinateOfLastIntervalsUpperLimit[.

LinearOnRealAndImaginaryPart 

Linear interpolation (on real and imaginary part) between two data point's coordinates.

LinearOnAmplitudeAndPhase 

Linear interpolation (on amplitude and phase) between two data point's coordinates.

◆ OrientationDefinitionType

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for different types of definition for rotations of vectors, planes or solids

Enumerator
SphericalAngles 

Orientation is defined by the sphere angles phi and theta, completed by zeta. This corresponds to using an object of type OrientationBySphereAngles.

DirectionAngles 

Orientation is defined by the directions angles alpha, beta, and gamma, completed by zeta. This corresponds to using an object of type OrientationByDirectionAngles.

CartesianAngles 

Orientation is defined by the Cartesian angles alpha and beta, completed by zeta. This corresponds to using an object of type OrientationByCartesianAngles.

EulerAngles 

Orientation is defined by the Euler angles phi, psi, and theta. This corresponds to using an object of type OrientationByEulerAngles.

AxisRotationSequence 

Orientation is defined by a sequence of rotations about the coordinate axes. This corresponds to using an object of type AxisRotationSequence.

RotationMatrix 

Orientation is defined by a rotation matrix. This corresponds to using an object of type OrientationByMatrix.

◆ PhysicalProperty

Supported physical units.

Enumerator
NoUnit 

No physical unit.

Length 

Length units. Default unit is meter (m).

AngleRad 

Angular units. Default unit is radians (rad).

AngleDeg 

Angular units. Default unit is °.

Time 

Time units. Default unit is second (s).

WaveNumber 

Wave number units. Default unit is 1/m.

AbsorptionCoefficient 

Absorption Coefficient. Default unit is 1/m.

Percentage 

Value given in percent.

Power 

Power units. Default unit is watt (W).

ElectricalField 

Electrical field. Default unit is V/m.

TemporalFrequency 

Temporal Frequency. Default unit is hertz (Hz).

PowerPerArea 

Power per area.

PowerPerVolume 

Power per volume.

AreaPerEnergy 

Area per Energy.

VolumePerEnergy 

Volume per Energy.

AreaPerEnergySquared 

(Area per Energy)²

VolumePerEnergySquared 

(Volume per Energy)²

EnergyPerArea 

Energy per area.

EnergyPerVolume 

Energy per volume.

PowerPerSolidAngle 

Power per Solid Angle.

PowerPerSolidAngleAndArea 

Power per Solid Angle and per Area.

Illuminance 

Illuminance = Luminous Flux per Area (1 lx = 1 lm / m² = 1 cd ⋅ sr / m²)

Luminance 

Luminance = Luminous Flux per Solid Angle and Area (1 lm / (1 sr ⋅ 1 m²) = 1 cd / 1 m²)

LuminousIntensity 

Luminous Intensity = Luminous Flux per Solid Angle (1 cd = 1 lm / 1 sr)

ArbitraryUnit 

Arbitrary Unit; used for unspecified units.

LogarithmicLevel 

Logarithmic level \(\log\frac{P_2}{P_1}\) in decibels.

ElectricFieldStrengthSquared 

Squared electric field strength. Default unit is V²/m².

MagneticFieldStrength 

Magnetic field strength. Default unit is A/m.

MagneticFieldStrengthSquared 

Squared magnetic field strength. Default unit is A²/m².

PowerPerAreaSquared 

Power per Area Squared.

PerVolume 

Density (objects per volume unit). Default unit is 1/m³.

Energy 

Energy. Default unit is eV.

Temperature 

Temperature. Default unit is degree centigrade (°C).

Pressure 

Pressure. Default unit is pascal (Pa).

ResolvingCapacity 

The line density in cycles per millimeter.

ElectricFieldStrengthSpectral 

Electric field strength for spectral fields. Default unit is V⋅m.

MagneticFieldStrengthSpectral 

Magnetic field strength for spectral fields. Default unit is A⋅m.

ElectricFieldStrengthSpectralSquared 

Squared electric field strength for spectral fields. Default unit is (V⋅m)².

MagneticFieldStrengthSpectralSquared 

Squared magnetic field strength for spectral fields. Default unit is (A⋅m)².

SpectralRadiantFlux 

Spectral Radiant Flux.

SpectralRadiantEnergyDensity 

Spectral Radiant Energy Density.

SpectralRadiantIntensity 

Spectral Radiant Intensity.

LuminousEnergyDensity 

Luminous Energy Density.

EnergyJoule 

Energy. Default unit is J.

LuminousFlux 

Luminous Flux.

SpectralRadiantEnergy 

Spectral (Radiant) Energy.

LuminousEnergy 

Luminous Energy.

Information_Binary 

The measured quantity "information" (with binary units like mebibytes used as output).

Information_Decimal 

The measured quantity "information" (with decimal units like megabytes used as output).

TemperatureKelvin 

The measured quantity "temperature" using kelvins as base unit.

UserDefined 

A user-defined measured quantity.

◆ PositionRelationOfGeometricalObjects

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for the types of position relations of lines and planes

Enumerator
Parallel 

Two lines, two planes or a line and a plane are parallel.

Intersecting 

Two lines, two planes or a line and a plane intersect, but are not in a containedness relation.

Containedness 

Two lines or two planes are identical, or a line is contained in a plane.

SkewLines 

Two lines do not intersect and are not parallel.

◆ PrecisionMode

This enumerator lists precisions of the internal complex number representation of the ComplexField class supported by VirtualLab. Different internal representations are used to save computer memory and to increase the calculation speed in case of calculations that need not such a high accuracy.

Enumerator
Double 

64bit floating point precision representation.

Float 

32bit floating point precision representation.

Short 

16bit integer precision representation.

Long 

64bit integer precision representation.

◆ RotationAxisOrAngleName

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Enum for all kinds of angles that are to be used within classes implementing IOrientationDefinition.

Enumerator
EulerAnglePhi 

Euler angle phi.

EulerAngleTheta 

Euler angle theta.

EulerAnglePsi 

Euler angle psi.

SphereAnglePhi 

Spherical angle phi.

SphereAngleTheta 

Spherical angle theta.

DirectionAngleRho 

Direction angle rho.

DirectionAngleSigma 

Direction angle sigma.

DirectionAngleTau 

Direction angle tau.

CartesianAngleAlpha 

Cartesian angle alpha.

CartesianAngleBeta 

Cartesian angle beta.

AxisRotationX 

Angle for rotation about the x-axis.

AxisRotationY 

Angle for rotation about the y-axis.

AxisRotationZ 

Angle for rotation about the z-axis.

Function Documentation

◆ BivariateFunction()

double[] BivariateFunction ( double  parameter1,
double  parameter2 
)

Delegate for a real valued function(s) which depend(s) on two variables.

Parameters
parameter1First independent variable.
parameter2Second independent variable.
Returns
The real valued value(s) of the function for the parameters 1 and 2.

◆ ComplexFunction()

Complex ComplexFunction ( double  x,
double  y 
)

This is intended for callbacks to a function from ℝ² to ℂ.

Parameters
xThe x-coordinate.
yThe y-coordinate.
Returns
The complex-valued result at the given position.

◆ RealFunction()

double RealFunction ( double  x,
double  y 
)

This is intended for callbacks to a function from ℝ² to ℝ.

Parameters
xThe x-coordinate.
yThe y-coordinate.
Returns
The result at the given position.

◆ RealFunctionIntersection()

double RealFunctionIntersection ( Vector3D  startPosition,
Vector3D  direction,
double  distanceOnRay 
)

Delegate for a function which returns a real value (distance to surface) for a specific distance on the ray (starting at the start position with the given direction).

Parameters
startPositionThe 3D start position
directionThe 3D direction
distanceOnRayThe distance on the ray.
Returns
function value from start point in direction.

◆ RealFunctionWithSingleArgument()

double RealFunctionWithSingleArgument ( double  x)

Delegate for computing integrals of real functions from ℝ to ℝ;

Parameters
xabscissa
Returns
function value from abscissa

◆ RealVectorDFunction()

VectorD RealVectorDFunction ( double  x,
double  y 
)

This is intended for callbacks to a function from ℝ² to ℝ².

Parameters
xThe x-coordinate.
yThe y-coordinate.
Returns
The two-dimensional result at the given position.