![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|

Classes | |
| struct | IndexPacketEntry |
Public Member Functions | |
| void | verify (unsigned bufferLength=0, uint64_t totalRecordCount=0, uint64_t fileSize=0) const |
| void | dump (int indent=0, std::ostream &os=std::cout) const |
Public Attributes | |
| const uint8_t | packetType = INDEX_PACKET |
| uint8_t | packetFlags = 0 |
| uint16_t | packetLogicalLengthMinus1 = 0 |
| uint16_t | entryCount = 0 |
| uint8_t | indexLevel = 0 |
| uint8_t | reserved1 [9] = {} |
| struct IndexPacket::IndexPacketEntry | entries [MAX_ENTRIES] |
Static Public Attributes | |
| static constexpr unsigned | MAX_ENTRIES = 2048 |
Definition at line 35 of file Packet.cpp.
| void IndexPacket::dump | ( | int | indent = 0, |
| std::ostream & | os = std::cout |
||
| ) | const |
Definition at line 669 of file Packet.cpp.
References QtCompat::endl(), and e57::space().
Referenced by e57::PacketReadCache::dump().
| void IndexPacket::verify | ( | unsigned | bufferLength = 0, |
| uint64_t | totalRecordCount = 0, |
||
| uint64_t | fileSize = 0 |
||
| ) | const |
Verify that packet is correct type
Check packetLength is at least large enough to hold header
Check packet length is multiple of 4
Make sure there is at least one entry in packet ??? 0 record cvect allowed?
Have to have <= 2048 entries
Index level should be <= 5. Because (5+1)* 11 bits = 66 bits, which will cover largest number of chunks possible.
Index packets above level 0 must have at least two entries (otherwise no point to existing). ??? check that this is in spec
If not later version, verify reserved fields are zero. ??? test file version if (version <= E57_FORMAT_MAJOR) { //???
Check actual packet length is large enough.
Check if entries will fit in space provided
Definition at line 544 of file Packet.cpp.
References e57::E57_ERROR_BAD_CV_PACKET, E57_EXCEPTION2, e57::INDEX_PACKET, and e57::toString().
Referenced by e57::PacketReadCache::readPacket().
| struct IndexPacket::IndexPacketEntry IndexPacket::entries[MAX_ENTRIES] |
| uint16_t IndexPacket::entryCount = 0 |
Definition at line 43 of file Packet.cpp.
| uint8_t IndexPacket::indexLevel = 0 |
Definition at line 44 of file Packet.cpp.
|
staticconstexpr |
Definition at line 37 of file Packet.cpp.
| uint8_t IndexPacket::packetFlags = 0 |
Definition at line 41 of file Packet.cpp.
| uint16_t IndexPacket::packetLogicalLengthMinus1 = 0 |
Definition at line 42 of file Packet.cpp.
| const uint8_t IndexPacket::packetType = INDEX_PACKET |
Definition at line 39 of file Packet.cpp.
| uint8_t IndexPacket::reserved1[9] = {} |
Definition at line 45 of file Packet.cpp.