function
SLAM.PoseGraph.GraphGaugeUncertainty.ValidBinding
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | b | Binding | | |
| output | valid | Boolean | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function ValidBinding
input Binding b; output Boolean valid;
algorithm
valid := b.generation > 0 and b.graphRevision > 0 and b.catalogPoseRevision >= 0
and b.anchorId > 0 and b.anchorEpoch >= 0 and b.anchorCaptureSequence > 0
and b.currentId > 0 and b.currentCaptureSequence > 0 and b.referenceId > 0 and (b.currentId <> b.referenceId or SameCapture(b))
and b.currentEpoch >= b.referenceEpoch and b.referenceEpoch >= b.anchorEpoch
and b.referenceCaptureSequence > 0 and b.chart == chartENUPositionRightLocalAttitude
and b.anchorTime >= 0 and b.anchorTime <= b.referenceTime and b.referenceTime <= b.currentTime
and b.currentTime <= 1e12 and b.sourceRevision > 0 and b.factorProvenance > 0
and b.anchorBoundProvenance > 0;
if b.currentId == b.anchorId then
valid := valid and b.currentEpoch == b.anchorEpoch and b.currentTime == b.anchorTime
and b.currentCaptureSequence == b.anchorCaptureSequence;
end if;
if b.referenceId == b.anchorId then
valid := valid and b.referenceEpoch == b.anchorEpoch and b.referenceTime == b.anchorTime
and b.referenceCaptureSequence == b.anchorCaptureSequence;
end if;
end ValidBinding;