Class OpticalTransmitter
- Namespace
- NominalSystems.Classes
- Assembly
- NominalSystems.Classes.dll
[Nominal] The optical transmitter is a form of a transmitter that is able to use optical communication to transmit data to a receiver. This is similar to a laser link and can communicate via light.
public class OpticalTransmitter : Transmitter
- Inheritance
-
OpticalTransmitter
Constructors
OpticalTransmitter()
Default constructor
protected OpticalTransmitter()
Fields
AlignmentError
[deg] The aligment error due to any error models that may exist in the system.
[Unit(UnitType.DEGREE)]
[ReadOnly]
[Metadata(IsAdvanced = true)]
public double AlignmentError
Field Value
BeamDivergence
The beam divergence angle
[Unit(UnitType.DEGREE)]
[Range(0, 360)]
public double BeamDivergence
Field Value
ComplexLineOfSight
A flag for if a complex Unreal ray-cast should be created for more accurate transmission line of sights.
[Metadata(IsAdvanced = true)]
public bool ComplexLineOfSight
Field Value
In_DeviceStatusMsg
The Device status message for the physical component whether the device is available.
public DeviceStatusMessage? In_DeviceStatusMsg
Field Value
Range
The maximum range (in m) that the laser can shoot in. If 0, it will shoot for a maximum range.
[Unit(UnitType.METRE)]
[Range(0, 1.7976931348623157E+308)]
public double Range
Field Value
Methods
BlockLineOfSight()
Blocks all line of sight for all transmitters that are optical transmitters
public void BlockLineOfSight()
OnCreate()
Called when the 'Component' is created from the controller.
protected override void OnCreate()
OnLoad(double)
Called after all of the data has been loaded from a save state on this object. This enables any post-load operations to be performed and extra data to be loaded from the metadata.
protected override void OnLoad(double time)
Parameters
time
double[s] The current clock time of the simulation
OnUpdate(double, double)
Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.
protected override void OnUpdate(double time, double step)
Parameters
time
double[s] Current time of the simulation before the update
step
double[s] The time-step to update during this tick
UpdateLineOfSight(bool, Receiver)
Updates the line of sight flag for a particular connection with another receiver.
public bool UpdateLineOfSight(bool los, Receiver receiver)
Parameters
los
bool[-] Whether line of sight is reached
receiver
ReceiverThe receiver that is being connected
Returns
- bool
A successful update of the line of sight