ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
SectionHeaders.h
Go to the documentation of this file.
1
#pragma once
2
/*
3
* Original work Copyright 2009 - 2010 Kevin Ackley (kackley@gwi.net)
4
* Modified work Copyright 2018 - 2020 Andy Maloney <asmaloney@gmail.com>
5
*
6
* Permission is hereby granted, free of charge, to any person or organization
7
* obtaining a copy of the software and accompanying documentation covered by
8
* this license (the "Software") to use, reproduce, display, distribute,
9
* execute, and transmit the Software, and to prepare derivative works of the
10
* Software, and to permit third-parties to whom the Software is furnished to
11
* do so, all subject to the following:
12
*
13
* The copyright notices in the Software and this entire statement, including
14
* the above license grant, this restriction and the following disclaimer,
15
* must be included in all copies of the Software, in whole or in part, and
16
* all derivative works of the Software, unless such copies or derivative
17
* works are solely in the form of machine-executable object code generated by
18
* a source language processor.
19
*
20
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
23
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
24
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
25
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
* DEALINGS IN THE SOFTWARE.
27
*/
28
29
#include "
Common.h
"
30
31
namespace
e57
32
{
33
enum
34
{
35
BLOB_SECTION
= 0,
36
COMPRESSED_VECTOR_SECTION
,
37
};
38
39
struct
BlobSectionHeader
40
{
41
const
uint8_t
sectionId
=
BLOB_SECTION
;
42
43
uint8_t
reserved1
[7] = {};
// must be zero
44
uint64_t
sectionLogicalLength
= 0;
// byte length of whole section
45
46
#ifdef E57_DEBUG
47
void
dump
(
int
indent = 0, std::ostream &os = std::cout );
48
#endif
49
};
50
51
struct
CompressedVectorSectionHeader
52
{
53
const
uint8_t
sectionId
=
COMPRESSED_VECTOR_SECTION
;
54
55
uint8_t
reserved1
[7] = {};
// must be zero
56
uint64_t
sectionLogicalLength
= 0;
// byte length of whole section
57
uint64_t
dataPhysicalOffset
= 0;
// offset of first data packet
58
uint64_t
indexPhysicalOffset
= 0;
// offset of first index packet
59
60
CompressedVectorSectionHeader
();
61
void
verify
( uint64_t filePhysicalSize = 0 );
62
63
#ifdef E57_DEBUG
64
void
dump
(
int
indent = 0, std::ostream &os = std::cout )
const
;
65
#endif
66
};
67
}
Common.h
e57
Definition:
E57Exception.h:37
e57::COMPRESSED_VECTOR_SECTION
@ COMPRESSED_VECTOR_SECTION
Definition:
SectionHeaders.h:36
e57::BLOB_SECTION
@ BLOB_SECTION
Definition:
SectionHeaders.h:35
e57::BlobSectionHeader
Definition:
SectionHeaders.h:40
e57::BlobSectionHeader::sectionLogicalLength
uint64_t sectionLogicalLength
Definition:
SectionHeaders.h:44
e57::BlobSectionHeader::reserved1
uint8_t reserved1[7]
Definition:
SectionHeaders.h:43
e57::BlobSectionHeader::sectionId
const uint8_t sectionId
Definition:
SectionHeaders.h:41
e57::BlobSectionHeader::dump
void dump(int indent=0, std::ostream &os=std::cout)
Definition:
SectionHeaders.cpp:33
e57::CompressedVectorSectionHeader
Definition:
SectionHeaders.h:52
e57::CompressedVectorSectionHeader::sectionLogicalLength
uint64_t sectionLogicalLength
Definition:
SectionHeaders.h:56
e57::CompressedVectorSectionHeader::dataPhysicalOffset
uint64_t dataPhysicalOffset
Definition:
SectionHeaders.h:57
e57::CompressedVectorSectionHeader::verify
void verify(uint64_t filePhysicalSize=0)
Definition:
SectionHeaders.cpp:48
e57::CompressedVectorSectionHeader::CompressedVectorSectionHeader
CompressedVectorSectionHeader()
Definition:
SectionHeaders.cpp:40
e57::CompressedVectorSectionHeader::indexPhysicalOffset
uint64_t indexPhysicalOffset
Definition:
SectionHeaders.h:58
e57::CompressedVectorSectionHeader::dump
void dump(int indent=0, std::ostream &os=std::cout) const
Definition:
SectionHeaders.cpp:89
e57::CompressedVectorSectionHeader::reserved1
uint8_t reserved1[7]
Definition:
SectionHeaders.h:55
e57::CompressedVectorSectionHeader::sectionId
const uint8_t sectionId
Definition:
SectionHeaders.h:53
plugins
core
IO
qE57IO
extern
libE57Format
src
SectionHeaders.h
Generated on Wed Jan 28 2026 09:01:06 for ACloudViewer by
1.9.1