function
SLAM.LoopClosure.RGBDKeyframes.ReadSlot
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 | slot | Integer | | |
| output | frame | Frame | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function ReadSlot
input Catalog state;
input Integer slot;
output Frame frame;
algorithm
frame := EmptyFrame();
if slot >= 1 and slot <= keyframeCapacity then
frame.generation := state.generations[slot];
frame.id := state.ids[slot];
frame.epoch := state.epochs[slot];
frame.imageTime := state.imageTimes[slot];
frame.count := state.counts[slot];
frame.enabled := state.featureEnabled[slot,:];
frame.descriptor := state.descriptors[slot,:,:];
frame.opticalPoint := state.opticalPoints[slot,:,:];
frame.pixels := state.pixelCoordinates[slot,:,:];
frame.rgbSize := state.rgbSizes[slot,:];
frame.depthSize := state.depthSizes[slot,:];
frame.rgbCalibration := state.rgbCalibrations[slot,:];
frame.depthCalibration := state.depthCalibrations[slot,:];
frame.opticalToBody := state.opticalToBodyRotations[slot,:,:];
frame.cameraOriginBody := state.cameraOriginsBody[slot,:];
frame.disparityNoise := state.disparityNoises[slot];
frame.noiseReferenceFx := state.noiseReferenceFocals[slot];
frame.baseline := state.baselines[slot];
frame.bodyRotation := state.bodyRotations[slot,:,:];
frame.bodyPosition := state.bodyPositions[slot,:];
frame.poseCovariance := state.poseCovariances[slot,:,:];
frame.vocabularyVersion := state.vocabularyVersions[slot];
frame.histogram := state.histograms[slot,:];
end if;
end ReadSlot;