function
SLAM.LoopClosure.RGBDKeyframes.Lookup
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | state | Catalog | | |
| input | generation | Integer | | |
| input | id | Integer | | |
| output | frame | Frame | | |
| output | found | Boolean | | |
| output | slot | Integer | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function Lookup
input Catalog state;
input Integer generation;
input Integer id;
output Frame frame;
output Boolean found;
output Integer slot;
protected
Integer proposedSlot;
algorithm
frame := EmptyFrame();
found := false;
slot := 0;
if generation == state.generation and id >= 1 and id < state.nextId and ValidHeader(state) then
proposedSlot := mod(id-1,keyframeCapacity)+1;
if state.occupied[proposedSlot] and state.ids[proposedSlot] == id then
frame := ReadSlot(state,proposedSlot);
found := true;
slot := proposedSlot;
end if;
end if;
end Lookup;