|
libE57Format 3.1.1
C++ library to read & write the E57 file format for point cloud data
|
Used for writing an E57 file using the E57 Simple API. More...
#include <E57SimpleWriter.h>
Public Member Functions | |
| Writer (const ustring &filePath, const ustring &coordinateMetadata={}) | |
| Writer constructor (deprecated) | |
| Writer (const ustring &filePath, const WriterOptions &options) | |
| Writer constructor. | |
| bool | Close () |
| Closes the file. | |
| bool | IsOpen () const |
| Returns true if the file is open. | |
Image2D | |
| int64_t | WriteImage2DData (Image2D &image2DHeader, Image2DType imageType, Image2DProjection imageProjection, int64_t startPos, void *buffer, int64_t byteCount) |
| This function writes the Image2D data to the file. | |
| int64_t | NewImage2D (Image2D &image2DHeader) |
| Writes a new Image2D header. | |
| int64_t | WriteImage2DData (int64_t imageIndex, Image2DType imageType, Image2DProjection imageProjection, void *buffer, int64_t start, int64_t count) |
| Writes the actual image data. | |
Data3D | |
| int64_t | WriteData3DData (Data3D &data3DHeader, const Data3DPointsFloat &buffers) |
| This function writes the Data3D data to the file. | |
| int64_t | WriteData3DData (Data3D &data3DHeader, const Data3DPointsDouble &buffers) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| int64_t | NewData3D (Data3D &data3DHeader) |
| Writes a new Data3D header. | |
| CompressedVectorWriter | SetUpData3DPointsData (int64_t dataIndex, size_t pointCount, const Data3DPointsFloat &buffers) |
| Sets up a writer to write the actual scan data. | |
| CompressedVectorWriter | SetUpData3DPointsData (int64_t dataIndex, size_t pointCount, const Data3DPointsDouble &buffers) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| bool | WriteData3DGroupsData (int64_t dataIndex, size_t groupCount, int64_t *idElementValue, int64_t *startPointIndex, int64_t *pointCount) |
| Writes out the group data. | |
File information | |
| StructureNode | GetRawE57Root () |
| Returns the file raw E57Root Structure Node. | |
| VectorNode | GetRawData3D () |
| Returns the raw Data3D Vector Node. | |
| VectorNode | GetRawImages2D () |
| Returns the raw Image2D Vector Node. | |
| ImageFile | GetRawIMF () |
| Returns the ram ImageFile Node which is need to add enhancements. | |
Used for writing an E57 file using the E57 Simple API.
The Writer includes support for the E57_EXT_surface_normals extension.
| e57::Writer::Writer | ( | const ustring & | filePath, |
| const WriterOptions & | options | ||
| ) |
Writer constructor.
| [in] | filePath | Path to E57 file |
| [in] | options | Options to be used for the file |
Writer constructor (deprecated)
| [in] | filePath | Path to E57 file |
| [in] | coordinateMetadata | Information describing the Coordinate Reference System to be used for the file |
| bool e57::Writer::Close | ( | ) |
Closes the file.
| VectorNode e57::Writer::GetRawData3D | ( | ) |
| StructureNode e57::Writer::GetRawE57Root | ( | ) |
| VectorNode e57::Writer::GetRawImages2D | ( | ) |
| ImageFile e57::Writer::GetRawIMF | ( | ) |
| bool e57::Writer::IsOpen | ( | ) | const |
Returns true if the file is open.
| int64_t e57::Writer::NewData3D | ( | Data3D & | data3DHeader | ) |
Writes a new Data3D header.
The user needs to config a Data3D structure with all the scanning information before making this call.
| [in,out] | data3DHeader | scan metadata |
| int64_t e57::Writer::NewImage2D | ( | Image2D & | image2DHeader | ) |
Writes a new Image2D header.
The user needs to config a Image2D structure with all the camera information before making this call.
| [in,out] | image2DHeader | header metadata |
| CompressedVectorWriter e57::Writer::SetUpData3DPointsData | ( | int64_t | dataIndex, |
| size_t | pointCount, | ||
| const Data3DPointsDouble & | buffers | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| CompressedVectorWriter e57::Writer::SetUpData3DPointsData | ( | int64_t | dataIndex, |
| size_t | pointCount, | ||
| const Data3DPointsFloat & | buffers | ||
| ) |
Sets up a writer to write the actual scan data.
| [in] | dataIndex | index returned by NewData3D |
| [in] | pointCount | Number of points to write (number of elements in each of the buffers) |
| [in] | buffers | pointers to user-provided buffers |
| int64_t e57::Writer::WriteData3DData | ( | Data3D & | data3DHeader, |
| const Data3DPointsDouble & | buffers | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| int64_t e57::Writer::WriteData3DData | ( | Data3D & | data3DHeader, |
| const Data3DPointsFloat & | buffers | ||
| ) |
This function writes the Data3D data to the file.
The user needs to config a Data3D structure with all the scanning information before making this call.
data3DHeader may be modified (adding a guid or adding missing, required fields). | [in,out] | data3DHeader | metadata about what is included in the buffers |
| [in] | buffers | pointers to user-provided buffers containing the actual data |
| bool e57::Writer::WriteData3DGroupsData | ( | int64_t | dataIndex, |
| size_t | groupCount, | ||
| int64_t * | idElementValue, | ||
| int64_t * | startPointIndex, | ||
| int64_t * | pointCount | ||
| ) |
Writes out the group data.
| [in] | dataIndex | data block index given by the NewData3D |
| [in] | groupCount | size of each of the buffers given |
| [in] | idElementValue | buffer with idElementValue indices for this group |
| [in] | startPointIndex | buffer with starting indices in to the "points" data vector for the groups |
| [in] | pointCount | buffer with sizes of the groups given |
| int64_t e57::Writer::WriteImage2DData | ( | Image2D & | image2DHeader, |
| Image2DType | imageType, | ||
| Image2DProjection | imageProjection, | ||
| int64_t | startPos, | ||
| void * | buffer, | ||
| int64_t | byteCount | ||
| ) |
This function writes the Image2D data to the file.
image2DHeader may be modified (adding a guid or adding missing, required fields). | [in,out] | image2DHeader | header metadata |
| [in] | imageType | identifies the image format |
| [in] | imageProjection | identifies the projection |
| [in] | startPos | position in the block to start writing |
| [in] | buffer | pointer the data buffer |
| [in] | byteCount | buffer size |
| int64_t e57::Writer::WriteImage2DData | ( | int64_t | imageIndex, |
| Image2DType | imageType, | ||
| Image2DProjection | imageProjection, | ||
| void * | buffer, | ||
| int64_t | start, | ||
| int64_t | count | ||
| ) |
Writes the actual image data.
| [in] | imageIndex | picture block index given by the NewImage2D |
| [in] | imageType | identifies the image format desired. |
| [in] | imageProjection | identifies the projection desired. |
| [in] | buffer | pointer the buffer |
| [in] | start | position in the block to start writing |
| [in] | count | size of desired chunk or buffer size |