58 return ( x == rhs.
x ) && ( y == rhs.
y ) && ( z == rhs.
z );
81 return ( w == rhs.
w ) && ( x == rhs.
x ) && ( y == rhs.
y ) && ( z == rhs.
z );
120 double xMinimum{ -E57_DOUBLE_MAX };
121 double xMaximum{ E57_DOUBLE_MAX };
122 double yMinimum{ -E57_DOUBLE_MAX };
123 double yMaximum{ E57_DOUBLE_MAX };
124 double zMinimum{ -E57_DOUBLE_MAX };
125 double zMaximum{ E57_DOUBLE_MAX };
164 int64_t rowMinimum{ 0 };
165 int64_t rowMaximum{ 0 };
166 int64_t columnMinimum{
169 int64_t columnMaximum{
172 int64_t returnMinimum{
175 int64_t returnMaximum{
194 double intensityMinimum{ 0. };
195 double intensityMaximum{ 0. };
210 double colorRedMinimum{ 0. };
211 double colorRedMaximum{ 0. };
212 double colorGreenMinimum{ 0. };
213 double colorGreenMaximum{ 0. };
214 double colorBlueMinimum{ 0. };
215 double colorBlueMaximum{ 0. };
235 double dateTimeValue{
238 int32_t isAtomicClockReferenced{
258 uint32_t versionMajor{ 1 };
259 uint32_t versionMinor{ 0 };
262 int64_t data3DSize{ 0 };
263 int64_t images2DSize{ 0 };
271 int64_t idElementValue{
274 int64_t startPointIndex{
291 int64_t groupsSize{ 0 };
292 int64_t pointCountSize{ 0 };
304 bool cartesianXField{
false };
305 bool cartesianYField{
false };
306 bool cartesianZField{
false };
307 bool cartesianInvalidStateField{
311 bool sphericalRangeField{
false };
312 bool sphericalAzimuthField{
false };
313 bool sphericalElevationField{
false };
314 bool sphericalInvalidStateField{
318 double pointRangeMinimum{
323 double pointRangeMaximum{
327 double pointRangeScaledInteger{
340 double angleScaledInteger{
345 bool rowIndexField{
false };
346 uint32_t rowIndexMaximum{ E57_UINT32_MAX };
348 bool columnIndexField{
false };
349 uint32_t columnIndexMaximum{
354 bool returnIndexField{
false };
355 bool returnCountField{
false };
356 uint8_t returnMaximum{ E57_UINT8_MAX };
359 bool timeStampField{
false };
360 bool isTimeStampInvalidField{
false };
365 double timeMinimum{ E57_DOUBLE_MIN };
368 double timeScaledInteger{
373 bool intensityField{
false };
374 bool isIntensityInvalidField{
false };
375 double intensityScaledInteger{
380 bool colorRedField{
false };
381 bool colorGreenField{
false };
382 bool colorBlueField{
false };
383 bool isColorInvalidField{
false };
385 bool normalX{
false };
386 bool normalY{
false };
387 bool normalZ{
false };
407 float temperature{ E57_FLOAT_MAX };
409 float relativeHumidity{ E57_FLOAT_MAX };
411 float atmosphericPressure{ E57_FLOAT_MAX };
433 int64_t pointsSize{ 0 };
503 int64_t jpegImageSize{ 0 };
504 int64_t pngImageSize{ 0 };
505 int64_t imageMaskSize{ 0 };
506 int32_t imageWidth{ 0 };
507 int32_t imageHeight{ 0 };
524 int64_t jpegImageSize{ 0 };
525 int64_t pngImageSize{ 0 };
526 int64_t imageMaskSize{ 0 };
527 int32_t imageWidth{ 0 };
528 int32_t imageHeight{ 0 };
529 double focalLength{ 0. };
530 double pixelWidth{ 0. };
531 double pixelHeight{ 0. };
532 double principalPointX{
536 double principalPointY{ 0. };
555 int64_t jpegImageSize{ 0 };
556 int64_t pngImageSize{ 0 };
557 int64_t imageMaskSize{ 0 };
558 int32_t imageWidth{ 0 };
559 int32_t imageHeight{ 0 };
560 double pixelWidth{ 0. };
561 double pixelHeight{ 0. };
579 int64_t jpegImageSize{ 0 };
580 int64_t pngImageSize{ 0 };
581 int64_t imageMaskSize{ 0 };
582 int32_t imageWidth{ 0 };
583 int32_t imageHeight{ 0 };
584 double pixelWidth{ 0. };
585 double pixelHeight{ 0. };
588 double principalPointY{ 0. };
most of the functions follows Reader
most of the functions follows Writer
constexpr bool operator==(const optional< T > &x, const optional< T > &y)
constexpr double E57_NOT_SCALED_USE_INTEGER
Indicates to use ScaledIntegerNode insterad of FloatNode in fields that can use both.
Image2DProjection
Identifies the representation for the image data.
@ E57_SPHERICAL
SphericalRepresentation for the image data.
@ E57_CYLINDRICAL
CylindricalRepresentation for the image data.
@ E57_NO_PROJECTION
No representation for the image data is present.
@ E57_VISUAL
VisualReferenceRepresentation for the image data.
@ E57_PINHOLE
PinholeRepresentation for the image data.
Data3DPointsData_t< float > Data3DPointsData
Image2DType
Identifies the format representation for the image data.
@ E57_JPEG_IMAGE
JPEG format image data.
@ E57_PNG_IMAGE
PNG format image data.
@ E57_NO_IMAGE
No image data.
@ E57_PNG_IMAGE_MASK
PNG format image mask.
constexpr double E57_NOT_SCALED_USE_FLOAT
Indicates to use FloatNode instead of ScaledIntegerNode in fields that can use both.
std::string ustring
UTF-8 encodeded Unicode string.
Data3DPointsData_t< double > Data3DPointsData_d
Specifies an axis-aligned box in local cartesian coordinates.
double zMaximum
The maximum extent of the bounding box in the Z direction.
double xMaximum
The maximum extent of the bounding box in the X direction.
double yMinimum
The minimum extent of the bounding box in the Y direction.
bool operator==(const CartesianBounds &rhs) const
double zMinimum
The minimum extent of the bounding box in the Z direction.
double yMaximum
The maximum extent of the bounding box in the Y direction.
double xMinimum
The minimum extent of the bounding box in the X direction.
bool operator!=(const CartesianBounds &rhs) const
Specifies the limits for the value of red, green, and blue color that a sensor is capable of producin...
double colorGreenMinimum
The minimum producible green color value. Unit is unspecified.
double colorBlueMinimum
The minimum producible blue color value. Unit is unspecified.
double colorRedMaximum
The maximum producible red color value. Unit is unspecified.
double colorBlueMaximum
The maximum producible blue color value. Unit is unspecified.
double colorRedMinimum
The minimum producible red color value. Unit is unspecified.
bool operator!=(const ColorLimits &rhs) const
double colorGreenMaximum
The maximum producible green color value. Unit is unspecified.
bool operator==(const ColorLimits &rhs) const
Stores an image that is mapped from 3D using a cylindrical projection model.
bool operator==(const CylindricalRepresentation &rhs) const
double pixelHeight
The height of a pixel in the image (in meters). Shall be positive.
int32_t imageWidth
The image width (in pixels). Shall be positive.
int32_t imageHeight
The image height (in pixels). Shall be positive.
double pixelWidth
The width of a pixel in the image (in radians). Shall be positive.
int64_t jpegImageSize
Size of JPEG format image data in Blob.
bool operator!=(const CylindricalRepresentation &rhs) const
int64_t pngImageSize
Size of PNG format image data in Blob.
int64_t imageMaskSize
Size of PNG format image mask in Blob.
Stores pointers to user-provided buffers.
float * normalZ
The Z component of a surface normal vector (E57_EXT_surface_normals).
COORDTYPE * cartesianX
pointer to a buffer with the X coordinate (in meters) of the point in Cartesian coordinates
float * normalX
The X component of a surface normal vector (E57_EXT_surface_normals).
int8_t * isColorInvalid
Value = 0 if the color is considered valid, 1 otherwise.
int8_t * cartesianInvalidState
Value = 0 if the point is considered valid, 1 otherwise.
float * normalY
The Y component of a surface normal vector (E57_EXT_surface_normals).
COORDTYPE * sphericalAzimuth
pointer to a buffer with the Azimuth angle (in radians) of point in spherical coordinates
COORDTYPE * sphericalElevation
pointer to a buffer with the Elevation angle (in radians) of point in spherical coordinates
COORDTYPE * cartesianY
pointer to a buffer with the Y coordinate (in meters) of the point in Cartesian coordinates
int8_t * sphericalInvalidState
Value = 0 if the range is considered valid, 1 otherwise.
uint8_t * colorRed
pointer to a buffer with the Red color coefficient. Unit is unspecified
float * intensity
pointer to a buffer with the Point response intensity. Unit is unspecified
int8_t * isIntensityInvalid
Value = 0 if the intensity is considered valid, 1 otherwise.
COORDTYPE * sphericalRange
pointer to a buffer with the range (in meters) of points in spherical coordinates....
int8_t * isTimeStampInvalid
Value = 0 if the timeStamp is considered valid, 1 otherwise.
COORDTYPE * cartesianZ
pointer to a buffer with the Z coordinate (in meters) of the point in Cartesian coordinates
uint8_t * colorGreen
pointer to a buffer with the Green color coefficient. Unit is unspecified
uint8_t * colorBlue
pointer to a buffer with the Blue color coefficient. Unit is unspecified
Stores the top-level information for a single lidar scan.
DateTime acquisitionStart
The start date and time that the data was acquired.
DateTime acquisitionEnd
The end date and time that the data was acquired.
ustring guid
A globally unique identification string for the current version of the Data3D object.
CartesianBounds cartesianBounds
ustring sensorHardwareVersion
The version number for the sensor hardware at the time of data collection.
ustring sensorFirmwareVersion
std::vector< ustring > originalGuids
ustring name
A user-defined name for the Data3D.
IndexBounds indexBounds
The bounds of the row, column, and return number of all the points in this Data3D.
IntensityLimits intensityLimits
The limits for the value of signal intensity that the sensor is capable of producing.
SphericalBounds sphericalBounds
ustring sensorSerialNumber
The serial number for the sensor.
PointGroupingSchemes pointGroupingSchemes
The defined schemes that group points in different ways.
PointStandardizedFieldsAvailable pointFields
This defines the active fields used in the WritePoints function.
ustring description
A user-defined description of the Image.
ustring sensorModel
The model name or number for the sensor.
ustring sensorVendor
The name of the manufacturer for the sensor used to collect the points in this Data3D.
ustring sensorSoftwareVersion
The version number for the software used for the data collection.
bool operator==(const DateTime &rhs) const
int32_t isAtomicClockReferenced
bool operator!=(const DateTime &rhs) const
double dateTimeValue
The time, in seconds, since GPS time was zero. This time specification may include fractions of a sec...
Stores the top-level information for the XML section of the file.
ustring formatName
Contains the string "ASTM E57 3D Image File".
ustring guid
A globally unique identification string for the current version of the file.
ustring e57LibraryVersion
The version identifier for the E57 file format library that wrote the file.
ustring coordinateMetadata
Information describing the Coordinate Reference System to be used for the file.
DateTime creationDateTime
Date/time that the file was created.
Stores a set of point groups organized by the rowIndex or columnIndex attribute of the PointRecord.
Stores an image from a camera.
ustring sensorVendor
The name of the manufacturer for the sensor used to collect the points in this Data3D.
ustring guid
A globally unique identification string for the current version of the Image2D object.
ustring description
A user-defined description of the Image2D.
ustring name
A user-defined name for the Image2D.
PinholeRepresentation pinholeRepresentation
Representation for an image using the pinhole camera projection model.
ustring sensorModel
The model name or number for the sensor.
SphericalRepresentation sphericalRepresentation
Representation for an image using the spherical camera projection model.
ustring associatedData3DGuid
ustring sensorSerialNumber
The serial number for the sensor.
CylindricalRepresentation cylindricalRepresentation
Representation for an image using the cylindrical camera projection model.
DateTime acquisitionDateTime
The date and time that the image was taken.
VisualReferenceRepresentation visualReferenceRepresentation
Stores the minimum and maximum of rowIndex, columnIndex, and returnIndex fields for a set of points.
int64_t rowMaximum
The maximum rowIndex value of any point represented by this IndexBounds object.
bool operator!=(const IndexBounds &rhs) const
int64_t returnMinimum
The minimum returnIndex value of any point represented by this IndexBounds object.
int64_t columnMinimum
The minimum columnIndex value of any point represented by this IndexBounds object.
int64_t columnMaximum
The maximum columnIndex value of any point represented by this IndexBounds object.
bool operator==(const IndexBounds &rhs) const
int64_t rowMinimum
The minimum rowIndex value of any point represented by this IndexBounds object.
int64_t returnMaximum
The maximum returnIndex value of any point represented by this IndexBounds object.
Specifies the limits for the value of signal intensity that a sensor is capable of producing.
bool operator==(const IntensityLimits &rhs) const
double intensityMaximum
The maximum producible intensity value. Unit is unspecified.
double intensityMinimum
The minimum producible intensity value. Unit is unspecified.
bool operator!=(const IntensityLimits &rhs) const
Stores information about a single group of points in a row or column.
CartesianBounds cartesianBounds
SphericalBounds sphericalBounds
Stores an image that is mapped from 3D using the pinhole camera projection model.
double principalPointY
The Y coordinate in the image of the principal point (in pixels).
int64_t imageMaskSize
Size of PNG format image mask in BlobNode.
int32_t imageHeight
The image height (in pixels). Shall be positive.
double focalLength
The camera's focal length (in meters). Shall be positive.
int64_t jpegImageSize
Size of JPEG format image data in BlobNode.
double pixelWidth
The width of the pixels in the camera (in meters). Shall be positive.
bool operator!=(const PinholeRepresentation &rhs) const
double pixelHeight
The height of the pixels in the camera (in meters). Shall be positive.
int32_t imageWidth
The image width (in pixels). Shall be positive.
int64_t pngImageSize
Size of PNG format image data in BlobNode.
bool operator==(const PinholeRepresentation &rhs) const
Supports the division of points within an Data3D into logical groupings.
GroupingByLine groupingByLine
Grouping information by row or column index.
Used to interrogate if standardized fields are available.
Represents a rigid body rotation.
double z
The k coefficient of the quaternion.
bool operator!=(const Quaternion &rhs) const
bool operator==(const Quaternion &rhs) const
static Quaternion identity()
double y
The j coefficient of the quaternion.
double x
The i coefficient of the quaternion.
double w
The real part of the quaternion. Shall be nonnegative.
Defines a rigid body transform in cartesian coordinates.
Translation translation
The translation point vector, t, of the transform.
Quaternion rotation
A unit quaternion representing the rotation, R, of the transform.
bool operator==(const RigidBodyTransform &rhs) const
bool operator!=(const RigidBodyTransform &rhs) const
static RigidBodyTransform identity()
Stores the bounds of some data in spherical coordinates.
double azimuthEnd
The ending azimuth angle defining the extent of the bounding region around the z axix.
bool operator!=(const SphericalBounds &rhs) const
double elevationMaximum
The maximum extent of the bounding region from the horizontal plane.
double rangeMinimum
The minimum extent of the bounding region in the r direction.
double rangeMaximum
The maximum extent of the bounding region in the r direction.
double elevationMinimum
The minimum extent of the bounding region from the horizontal plane.
bool operator==(const SphericalBounds &rhs) const
double azimuthStart
The starting azimuth angle defining the extent of the bounding region around the z axis.
Stores an image that is mapped from 3D using a spherical projection model.
int32_t imageHeight
The image height (in pixels). Shall be positive.
bool operator!=(const SphericalRepresentation &rhs) const
int64_t imageMaskSize
Size of PNG format image mask in BlobNode.
double pixelHeight
The height of a pixel in the image (in radians). Shall be positive.
int64_t jpegImageSize
Size of JPEG format image data in BlobNode.
double pixelWidth
The width of a pixel in the image (in radians). Shall be positive.
bool operator==(const SphericalRepresentation &rhs) const
int32_t imageWidth
The image width (in pixels). Shall be positive.
int64_t pngImageSize
Size of PNG format image data in BlobNode.
Defines a rigid body translation in Cartesian coordinates.
double y
The Y coordinate of the translation (in meters)
static Translation identity()
bool operator==(const Translation &rhs) const
double x
The X coordinate of the translation (in meters)
double z
The Z coordinate of the translation (in meters)
bool operator!=(const Translation &rhs) const
Stores an image that is to be used only as a visual reference.
int32_t imageHeight
The image height (in pixels). Shall be positive.
int64_t imageMaskSize
Size of PNG format image mask in BlobNode.
int32_t imageWidth
The image width (in pixels). Shall be positive.
int64_t jpegImageSize
Size of JPEG format image data in BlobNode.
bool operator!=(const VisualReferenceRepresentation &rhs) const
int64_t pngImageSize
Size of PNG format image data in BlobNode.
bool operator==(const VisualReferenceRepresentation &rhs) const