| 169 | } |
| 170 | |
| 171 | void FbiReader::addDimensions(PointLayoutPtr layout) |
| 172 | { |
| 173 | layout->registerDim(Dimension::Id::X); |
| 174 | layout->registerDim(Dimension::Id::Y); |
| 175 | layout->registerDim(Dimension::Id::Z); |
| 176 | |
| 177 | if (hdr->BitsEcho > 0) layout->registerDim(Dimension::Id::ReturnNumber); |
| 178 | if (hdr->BitsTime > 0) layout->registerDim(Dimension::Id::EchoRange); |
| 179 | |
| 180 | //Fbi assumes only uint8 for ScanAngleRank |
| 181 | if (hdr->BitsAngle > 0) layout->registerDim(Dimension::Id::ScanAngleRank, Dimension::Type::Signed8); |
| 182 | |
| 183 | if (hdr->BitsClass > 0) layout->registerDim(Dimension::Id::Classification); |
| 184 | if (hdr->BitsLine > 0) layout->registerDim(Dimension::Id::PointSourceId); |
| 185 | if (hdr->BitsIntensity > 0) layout->registerDim(Dimension::Id::Intensity); |
| 186 | if (hdr->BitsGroup > 0) layout->registerDim(Dimension::Id::ClusterID); |
| 187 | if (hdr->BitsScanner > 0) layout->registerDim(Dimension::Id::UserData); |
| 188 | if (hdr->BitsTime > 0) layout->registerDim(Dimension::Id::OffsetTime); |
| 189 | if (hdr->BitsDistance > 0) layout->registerDim(Dimension::Id::NNDistance); |
| 190 | if (hdr->BitsReliab > 0) layout->registerDim(Dimension::Id::Reliability); |
| 191 | if (hdr->BitsReflect > 0) layout->registerDim(Dimension::Id::Reflectance); |
| 192 | if (hdr->BitsDeviation > 0) layout->registerDim(Dimension::Id::Deviation); |
| 193 | if (hdr->BitsAmplitude > 0) layout->registerDim(Dimension::Id::Amplitude); |
| 194 | if (hdr->BitsEchoPos > 0) layout->registerDim(Dimension::Id::EchoPos); |
| 195 | if (hdr->BitsEchoNorm > 0) layout->registerDim(Dimension::Id::EchoNorm); |
| 196 | if (hdr->BitsEchoLen > 0) layout->registerDim(Dimension::Id::PulseWidth); |
| 197 | if (hdr->BitsImage > 0) layout->registerDim(Dimension::Id::Image); |
| 198 | |
| 199 | if (hdr->BitsNormal > 0) |
| 200 | { |
| 201 | layout->registerDim(Dimension::Id::NormalX); |
| 202 | layout->registerDim(Dimension::Id::NormalY); |
| 203 | layout->registerDim(Dimension::Id::NormalZ); |
| 204 | layout->registerDim(Dimension::Id::Dimension); |
| 205 | } |
| 206 | |
| 207 | if (hdr->BitsColor > 0) |
| 208 | { |
| 209 | // if (hdr->BitsColor == 24) : 3 bytes of RGB (1 byte by canal) |
| 210 | // if (hdr->BitsColor == 32) : 3 bytes of RGBI (1 byte by canal) |
| 211 | // if (hdr->BitsColor == 48) : 3*2 bytes of RGB (2 bytes by canal) |
| 212 | // if (hdr->BitsColor == 64) : 3*2 bytes of RGBI (2 bytes by canal) |
| 213 | |
| 214 | layout->registerDim(Dimension::Id::Red); |
| 215 | layout->registerDim(Dimension::Id::Green); |
| 216 | layout->registerDim(Dimension::Id::Blue); |
| 217 | if (hdr->BitsColor == 64 || hdr->BitsColor == 32) layout->registerDim(Dimension::Id::Infrared); |
| 218 | if (hdr->BitsColor == 24 || hdr->BitsColor == 48) NbBytesColor=8; |
| 219 | else NbBytesColor = 16; |
| 220 | } |
| 221 | } |
| 222 | |
| 223 | void FbiReader::ready(PointTableRef) |
| 224 | { |
nothing calls this directly
no test coverage detected