|
libE57Format 3.4.0
C++ library for reading & writing the E57 file format for point cloud data
|
Namespaces | |
| namespace | Extension |
| namespace | Utilities |
| namespace | Version |
Classes | |
| class | BlobNode |
| An E57 element encoding an fixed-length sequence of bytes with an opaque format. More... | |
| struct | CartesianBounds |
| Specifies an axis-aligned box in local cartesian coordinates. More... | |
| struct | ColorLimits |
| Specifies the limits for the value of red, green, and blue color that a sensor is capable of producing. More... | |
| class | CompressedVectorNode |
| An E57 element containing ordered vector of child nodes, stored in an efficient binary format. More... | |
| class | CompressedVectorReader |
| An iterator object keeping track of a read in progress from a CompressedVectorNode. More... | |
| class | CompressedVectorWriter |
| An iterator object keeping track of a write in progress to a CompressedVectorNode. More... | |
| struct | CylindricalRepresentation |
| Stores an image that is mapped from 3D using a cylindrical projection model. More... | |
| struct | Data3D |
| Stores the top-level information for a single lidar scan. More... | |
| struct | Data3DPointsData_t |
| Stores pointers to user-provided buffers. More... | |
| struct | DateTime |
| Encodes date and time. More... | |
| class | E57Exception |
| Object thrown by E57 API functions to communicate the conditions of an error. More... | |
| struct | E57Root |
| Stores the top-level information for the XML section of the file. More... | |
| class | FloatNode |
| An E57 element encoding a single or double precision IEEE floating point number. More... | |
| struct | GroupingByLine |
| Stores a set of point groups organized by the rowIndex or columnIndex attribute of the PointRecord. More... | |
| struct | Image2D |
| Stores an image from a camera. More... | |
| class | ImageFile |
| An ASTM E57 3D format file object. More... | |
| struct | IndexBounds |
| Stores the minimum and maximum of rowIndex, columnIndex, and returnIndex fields for a set of points. More... | |
| class | IntegerNode |
| An E57 element encoding an integer value. More... | |
| struct | IntensityLimits |
| Specifies the limits for the value of signal intensity that a sensor is capable of producing. More... | |
| struct | LineGroupRecord |
| Stores information about a single group of points in a row or column. More... | |
| class | Node |
| Generic handle to any of the 8 types of E57 element objects. More... | |
| struct | PinholeRepresentation |
| Stores an image that is mapped from 3D using the pinhole camera projection model. More... | |
| struct | PointGroupingSchemes |
| Supports the division of points within an Data3D into logical groupings. More... | |
| struct | PointStandardizedFieldsAvailable |
| Used to interrogate if standardized fields are available. More... | |
| struct | Quaternion |
| Represents a rigid body rotation. More... | |
| class | Reader |
| Used for reading an E57 file using E57 Simple API. More... | |
| struct | ReaderOptions |
| Options to the Reader constructor. More... | |
| struct | RigidBodyTransform |
| Defines a rigid body transform in cartesian coordinates. More... | |
| class | ScaledIntegerNode |
| An E57 element encoding a fixed point number. More... | |
| class | SourceDestBuffer |
| A memory buffer to transfer data to/from a CompressedVectorNode in a block. More... | |
| struct | SphericalBounds |
| Stores the bounds of some data in spherical coordinates. More... | |
| struct | SphericalRepresentation |
| Stores an image that is mapped from 3D using a spherical projection model. More... | |
| class | StringNode |
| An E57 element encoding a Unicode character string value. More... | |
| class | StructureNode |
| An E57 element containing named child nodes. More... | |
| struct | Translation |
| Defines a rigid body translation in Cartesian coordinates. More... | |
| class | VectorNode |
| An E57 element containing ordered vector of child nodes. More... | |
| struct | VisualReferenceRepresentation |
| Stores an image that is to be used only as a visual reference. More... | |
| class | Writer |
| Used for writing an E57 file using the E57 Simple API. More... | |
| struct | WriterOptions |
| Options to the Writer constructor. More... | |
Typedefs | |
| using | Data3DPointsData |
| using | Data3DPointsData_d |
| using | Data3DPointsDouble = Data3DPointsData_t<double> |
| using | Data3DPointsFloat = Data3DPointsData_t<float> |
| using | ReadChecksumPolicy = int |
| Specifies the percentage of checksums which are verified when reading an ImageFile (0-100%). | |
| using | ustring = std::string |
| UTF-8 encoded Unicode string. | |
Variables | |
| constexpr uint32_t | E57_FORMAT_MAJOR = 1 |
| constexpr uint32_t | E57_FORMAT_MINOR = 0 |
| constexpr auto | E57_V1_0_URI = VERSION_1_0_URI |
| constexpr char | VERSION_1_0_URI [] = "http://www.astm.org/COMMIT/E57/2010-e57-v1.0" |
| The URI of ASTM E57 v1.0 standard XML namespace. | |
Deprecated Checksum Policies | |
These have been replaced by the enum e57::ChecksumPolicy. | |
| constexpr ReadChecksumPolicy | CHECKSUM_POLICY_NONE = ChecksumNone |
| constexpr ReadChecksumPolicy | CHECKSUM_POLICY_SPARSE = ChecksumSparse |
| constexpr ReadChecksumPolicy | CHECKSUM_POLICY_HALF = ChecksumHalf |
| constexpr ReadChecksumPolicy | CHECKSUM_POLICY_ALL = ChecksumAll |
| using e57::Data3DPointsData |
| using e57::Data3DPointsData_d |
| using e57::Data3DPointsDouble = Data3DPointsData_t<double> |
| using e57::Data3DPointsFloat = Data3DPointsData_t<float> |
| using e57::ReadChecksumPolicy = int |
Specifies the percentage of checksums which are verified when reading an ImageFile (0-100%).
| using e57::ustring = std::string |
UTF-8 encoded Unicode string.
| enum e57::ChecksumPolicy |
Default checksum policies for e57::ReadChecksumPolicy.
These are some convenient default checksum policies, though you can use any value you want (0-100).
| enum e57::ErrorCode |
Numeric error identifiers used in E57Exception.
| Enumerator | |
|---|---|
| Success | operation was successful |
| ErrorBadCVHeader | a CompressedVector binary header was bad |
| ErrorBadCVPacket | a CompressedVector binary packet was bad |
| ErrorChildIndexOutOfBounds | a numerical index identifying a child was out of bounds |
| ErrorSetTwice | attempted to set an existing child element to a new value |
| ErrorHomogeneousViolation | attempted to add an element that would have made the children of a homogeneous ::TypeVector have different types |
| ErrorValueNotRepresentable | a value could not be represented in the requested type |
| ErrorScaledValueNotRepresentable | after scaling the result could not be represented in the requested type |
| ErrorReal64TooLarge | a 64 bit IEEE float was too large to store in a 32 bit IEEE float |
| ErrorExpectingNumeric | expecting numeric representation in user's buffer, found ustring |
| ErrorExpectingUString | expecting string representation in user's buffer, found numeric |
| ErrorInternal | An unrecoverable inconsistent internal state was detected. |
| ErrorBadXMLFormat | E57 primitive not encoded in XML correctly. |
| ErrorXMLParser | XML not well formed. |
| ErrorBadAPIArgument | bad API function argument provided by user |
| ErrorFileReadOnly | can't modify read only file |
| ErrorBadChecksum | checksum mismatch, file is corrupted |
| ErrorOpenFailed | open() failed |
| ErrorCloseFailed | close() failed |
| ErrorReadFailed | read() failed |
| ErrorWriteFailed | write() failed |
| ErrorSeekFailed | lseek() failed |
| ErrorPathUndefined | element path well formed but not defined |
| ErrorBadBuffer | bad SourceDestBuffer |
| ErrorNoBufferForElement | no buffer specified for an element in CompressedVectorNode during write |
| ErrorBufferSizeMismatch | SourceDestBuffers not all same size. |
| ErrorBufferDuplicatePathName | duplicate pathname in CompressedVectorNode read/write |
| ErrorBadFileSignature | file signature not "ASTM-E57" |
| ErrorUnknownFileVersion | incompatible file version |
| ErrorBadFileLength | size in file header not same as actual |
| ErrorXMLParserInit | XML parser failed to initialize. |
| ErrorDuplicateNamespacePrefix | namespace prefix already defined |
| ErrorDuplicateNamespaceURI | namespace URI already defined |
| ErrorBadPrototype | bad prototype in CompressedVectorNode |
| ErrorBadCodecs | bad codecs in CompressedVectorNode |
| ErrorValueOutOfBounds | element value out of min/max bounds |
| ErrorConversionRequired | conversion required to assign element value, but not requested |
| ErrorBadPathName | E57 path name is not well formed.
|
| ErrorNotImplemented | functionality not implemented |
| ErrorBadNodeDowncast | bad downcast from Node to specific node type |
| ErrorWriterNotOpen | CompressedVectorWriter is no longer open. |
| ErrorReaderNotOpen | CompressedVectorReader is no longer open. |
| ErrorNodeUnattached | node is not yet attached to tree of ImageFile |
| ErrorAlreadyHasParent | node already has a parent |
| ErrorDifferentDestImageFile | nodes were constructed with different destImageFiles |
| ErrorImageFileNotOpen | destImageFile is no longer open |
| ErrorBuffersNotCompatible | SourceDestBuffers not compatible with previously given ones. |
| ErrorTooManyWriters | too many open CompressedVectorWriters of an ImageFile |
| ErrorTooManyReaders | too many open CompressedVectorReaders of an ImageFile |
| ErrorBadConfiguration | bad configuration string |
| ErrorInvarianceViolation | class invariance constraint violation in debug mode |
| ErrorInvalidNodeType | an invalid node type was passed in Data3D pointFields |
| ErrorInvalidData3DValue | passed an invalid value in Data3D pointFields |
| ErrorData3DReadInvalidZeroRecords | Older versions of this library (and E57RefImpl) incorrectly set the "fileOffset" to 0 when "recordCount" is 0. "fileOffset" must be greater than 0 (Table 9 in the standard). |
| ErrorPathNameEmpty | E57 path name is empty. |
| ErrorPathNameMalformed | E57 path name is not well formed. |
| ErrorPathNameExtensionNotRegistered | E57 path name uses an unregistered extension. |
| ErrorBadInputDataSize | the file or buffer size is not a multiple of 1024 bytes |
| E57_SUCCESS |
|
| E57_ERROR_BAD_CV_HEADER |
|
| E57_ERROR_BAD_CV_PACKET |
|
| E57_ERROR_CHILD_INDEX_OUT_OF_BOUNDS |
|
| E57_ERROR_SET_TWICE |
|
| E57_ERROR_HOMOGENEOUS_VIOLATION |
|
| E57_ERROR_VALUE_NOT_REPRESENTABLE |
|
| E57_ERROR_SCALED_VALUE_NOT_REPRESENTABLE |
|
| E57_ERROR_REAL64_TOO_LARGE |
|
| E57_ERROR_EXPECTING_NUMERIC |
|
| E57_ERROR_EXPECTING_USTRING |
|
| E57_ERROR_INTERNAL |
|
| E57_ERROR_BAD_XML_FORMAT |
|
| E57_ERROR_XML_PARSER |
|
| E57_ERROR_BAD_API_ARGUMENT |
|
| E57_ERROR_FILE_IS_READ_ONLY |
|
| E57_ERROR_BAD_CHECKSUM |
|
| E57_ERROR_OPEN_FAILED |
|
| E57_ERROR_CLOSE_FAILED |
|
| E57_ERROR_READ_FAILED |
|
| E57_ERROR_WRITE_FAILED |
|
| E57_ERROR_LSEEK_FAILED |
|
| E57_ERROR_PATH_UNDEFINED |
|
| E57_ERROR_BAD_BUFFER |
|
| E57_ERROR_NO_BUFFER_FOR_ELEMENT |
|
| E57_ERROR_BUFFER_SIZE_MISMATCH |
|
| E57_ERROR_BUFFER_DUPLICATE_PATHNAME |
|
| E57_ERROR_BAD_FILE_SIGNATURE |
|
| E57_ERROR_UNKNOWN_FILE_VERSION |
|
| E57_ERROR_BAD_FILE_LENGTH |
|
| E57_ERROR_XML_PARSER_INIT |
|
| E57_ERROR_DUPLICATE_NAMESPACE_PREFIX |
|
| E57_ERROR_DUPLICATE_NAMESPACE_URI |
|
| E57_ERROR_BAD_PROTOTYPE |
|
| E57_ERROR_BAD_CODECS |
|
| E57_ERROR_VALUE_OUT_OF_BOUNDS |
|
| E57_ERROR_CONVERSION_REQUIRED |
|
| E57_ERROR_BAD_PATH_NAME |
|
| E57_ERROR_NOT_IMPLEMENTED |
|
| E57_ERROR_BAD_NODE_DOWNCAST |
|
| E57_ERROR_WRITER_NOT_OPEN |
|
| E57_ERROR_READER_NOT_OPEN |
|
| E57_ERROR_NODE_UNATTACHED |
|
| E57_ERROR_ALREADY_HAS_PARENT |
|
| E57_ERROR_DIFFERENT_DEST_IMAGEFILE |
|
| E57_ERROR_IMAGEFILE_NOT_OPEN |
|
| E57_ERROR_BUFFERS_NOT_COMPATIBLE |
|
| E57_ERROR_TOO_MANY_WRITERS |
|
| E57_ERROR_TOO_MANY_READERS |
|
| E57_ERROR_BAD_CONFIGURATION |
|
| E57_ERROR_INVARIANCE_VIOLATION |
|
| enum e57::FloatPrecision |
The IEEE floating point number precisions supported.
| Enumerator | |
|---|---|
| PrecisionSingle | 32 bit IEEE floating point number format |
| PrecisionDouble | 64 bit IEEE floating point number format |
| E57_SINGLE |
|
| E57_DOUBLE |
|
Identifies the representation for the image data.
| Enumerator | |
|---|---|
| ProjectionNone | No representation for the image data is present. |
| ProjectionVisual | VisualReferenceRepresentation for the image data. |
| ProjectionPinhole | PinholeRepresentation for the image data. |
| ProjectionSpherical | SphericalRepresentation for the image data. |
| ProjectionCylindrical | CylindricalRepresentation for the image data. |
| E57_NO_PROJECTION |
|
| E57_VISUAL |
|
| E57_PINHOLE |
|
| E57_SPHERICAL |
|
| E57_CYLINDRICAL |
|
| enum e57::Image2DType |
Identifies the format representation for the image data.
| Enumerator | |
|---|---|
| ImageNone | No image data. |
| ImageJPEG | JPEG format image data. |
| ImagePNG | PNG format image data. |
| ImageMaskPNG | PNG format image mask. |
| E57_NO_IMAGE |
|
| E57_JPEG_IMAGE |
|
| E57_PNG_IMAGE |
|
| E57_PNG_IMAGE_MASK |
|
Identifies the representations of memory elements API can transfer data to/from.
| Enumerator | |
|---|---|
| Int8 | 8 bit signed integer |
| UInt8 | 8 bit unsigned integer |
| Int16 | 16 bit signed integer |
| UInt16 | 16 bit unsigned integer |
| Int32 | 32 bit signed integer |
| UInt32 | 32 bit unsigned integer |
| Int64 | 64 bit signed integer |
| Bool | C++ boolean type. |
| Real32 | C++ float type. |
| Real64 | C++ double type. |
| UString | Unicode UTF-8 std::string. |
| E57_INT8 |
|
| E57_UINT8 |
|
| E57_INT16 |
|
| E57_UINT16 |
|
| E57_INT32 |
|
| E57_UINT32 |
|
| E57_INT64 |
|
| E57_BOOL |
|
| E57_REAL32 |
|
| E57_REAL64 |
|
| E57_USTRING |
|
| enum e57::NodeType |
Identifiers for types of E57 elements.
| Enumerator | |
|---|---|
| TypeStructure | StructureNode class. |
| TypeVector | VectorNode class. |
| TypeCompressedVector | CompressedVectorNode class. |
| TypeInteger | IntegerNode class. |
| TypeScaledInteger | ScaledIntegerNode class. |
| TypeFloat | FloatNode class. |
| TypeString | StringNode class. |
| TypeBlob | BlobNode class. |
| E57_STRUCTURE |
|
| E57_VECTOR |
|
| E57_COMPRESSED_VECTOR |
|
| E57_INTEGER |
|
| E57_SCALED_INTEGER |
|
| E57_FLOAT |
|
| E57_STRING |
|
| E57_BLOB |
|
|
strong |
Used to set the type of node in some PointStandardizedFieldsAvailable fields.
| Enumerator | |
|---|---|
| Integer | Use IntegerNode. |
| ScaledInteger | Use ScaledIntegerNode. |
| Float | Use FloatNode with floats. |
| Double | Use FloatNode with doubles. |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
The file format major version number. The value shall be 1.
|
constexpr |
The file format minor version number. The value shall be 0.
|
constexpr |
|
constexpr |
The URI of ASTM E57 v1.0 standard XML namespace.