function
SLAM.Localization.RGBDLocalizationCatalog.ReferenceHeld
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | previous | Estimator | | |
| input | proposed | Estimator | | |
| output | held | Boolean | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function ReferenceHeld
input Estimator previous; input Estimator proposed;
output Boolean held;
algorithm
held := SLAMExactRealEqual(previous.referenceAvailable,proposed.referenceAvailable)
and SLAMExactRealEqual(previous.referenceEpoch,proposed.referenceEpoch);
if SLAMExactRealEqual(previous.referenceAvailable,1.0) then
held := held and SLAMExactRealEqual(previous.referenceCount,proposed.referenceCount)
and SLAMExactRealEqual(previous.referenceNoiseReferenceFx,proposed.referenceNoiseReferenceFx)
and SLAMExactRealEqual(previous.referenceDisparityNoise,proposed.referenceDisparityNoise)
and SLAMExactRealEqual(previous.referenceBaseline,proposed.referenceBaseline);
for axis in 1:dimension loop
held := held and SLAMExactRealEqual(previous.referencePosition[axis],proposed.referencePosition[axis])
and SLAMExactRealEqual(previous.referenceCameraOriginBody[axis],proposed.referenceCameraOriginBody[axis]);
for column in 1:dimension loop
held := held and SLAMExactRealEqual(previous.referenceRotation[axis,column],proposed.referenceRotation[axis,column])
and SLAMExactRealEqual(previous.referenceOpticalToBody[axis,column],proposed.referenceOpticalToBody[axis,column]);
end for;
end for;
for coordinate in 1:4 loop
held := held and SLAMExactRealEqual(previous.referenceRgbCalibration[coordinate],proposed.referenceRgbCalibration[coordinate])
and SLAMExactRealEqual(previous.referenceDepthCalibration[coordinate],proposed.referenceDepthCalibration[coordinate]);
end for;
for row in 1:referenceDimension loop
for column in 1:referenceDimension loop
held := held and SLAMExactRealEqual(previous.referenceCovariance[row,column],proposed.referenceCovariance[row,column]);
end for;
end for;
for feature in 1:featureCapacity loop
held := held and SLAMExactRealEqual(previous.referenceEnabled[feature],proposed.referenceEnabled[feature]);
if SLAMExactRealEqual(previous.referenceEnabled[feature],1.0) then
for axis in 1:dimension loop
held := held and SLAMExactRealEqual(previous.referencePoint[feature,axis],proposed.referencePoint[feature,axis]);
end for;
for coordinate in 1:2 loop
held := held and SLAMExactRealEqual(previous.referencePixels[feature,coordinate],proposed.referencePixels[feature,coordinate]);
end for;
for coordinate in 1:descriptorSize loop
held := held and SLAMExactRealEqual(previous.referenceDescriptor[feature,coordinate],proposed.referenceDescriptor[feature,coordinate]);
end for;
end if;
end for;
end if;
end ReferenceHeld;