MCPcopy Create free account
hub / github.com/PDAL/PDAL / addDimensions

Method addDimensions

io/FbiReader.cpp:171–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169}
170
171void 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
223void FbiReader::ready(PointTableRef)
224{

Callers

nothing calls this directly

Calls 1

registerDimMethod · 0.80

Tested by

no test coverage detected