function
SLAM.PoseGraph.RGBDGraphEstimatorCommit.ValidView
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | catalog | RGBDKeyframes.Catalog | | |
| input | poses | PoseView | | |
| input | sourceRevision | Integer | | |
| output | valid | Boolean | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function ValidView
input RGBDKeyframes.Catalog catalog;
input PoseView poses;
input Integer sourceRevision;
output Boolean valid;
algorithm
valid := RGBDKeyframes.ValidHeader(catalog)
and poses.generation == catalog.generation and poses.sourceRevision == sourceRevision
and sourceRevision >= 1 and sourceRevision <= identifierLimit
and poses.revision >= 0 and poses.revision < identifierLimit
and poses.catalogNextId == catalog.nextId;
for slot in 1:nodeCapacity loop
valid := valid and poses.enabled[slot] == catalog.occupied[slot];
if poses.enabled[slot] then
valid := valid and poses.ids[slot] == catalog.ids[slot]
and RGBDUncertaintyProper(poses.rotations[slot,:,:]);
for axis in 1:dimension loop valid := valid and abs(poses.positions[slot,axis]) <= 1e6; end for;
end if;
end for;
end ValidView;