e57::Writer Class Reference

Used for writing of the E57 file with E57 Simple API. More...

#include <E57SimpleWriter.h>

Public Member Functions

bool Close ()
 This function closes the file. More...
 
bool IsOpen () const
 This function returns true if the file is open. More...
 
 Writer (const ustring &filePath, const ustring &coordinateMetaData={})
 This function is the constructor for the writer class. More...
 
Image2D
int64_t NewImage2D (Image2D &image2DHeader)
 This function writes a new Image2D header. More...
 
int64_t WriteImage2DData (int64_t imageIndex, Image2DType imageType, Image2DProjection imageProjection, void *buffer, int64_t start, int64_t count)
 This function writes the actual image data. More...
 
Data3D
int64_t NewData3D (Data3D &data3DHeader)
 This function writes new Data3D header. More...
 
CompressedVectorWriter SetUpData3DPointsData (int64_t dataIndex, size_t pointCount, const Data3DPointsData &buffers)
 This function setups a writer to write the actual scan data. More...
 
CompressedVectorWriter SetUpData3DPointsData (int64_t dataIndex, size_t pointCount, const Data3DPointsData_d &buffers)
 This function setups a writer to write the actual scan data. More...
 
bool WriteData3DGroupsData (int64_t dataIndex, int64_t groupCount, int64_t *idElementValue, int64_t *startPointIndex, int64_t *pointCount)
 This function writes out the group data. More...
 
Foundation API file information
StructureNode GetRawE57Root ()
 This function returns the file raw E57Root Structure Node. More...
 
VectorNode GetRawData3D ()
 This function returns the raw Data3D Vector Node. More...
 
VectorNode GetRawImages2D ()
 This function returns the raw Image2D Vector Node. More...
 
ImageFile GetRawIMF ()
 This function returns the ram ImageFile Node which is need to add enhancements. More...
 

Detailed Description

Used for writing of the E57 file with E57 Simple API.

Constructor & Destructor Documentation

◆ Writer()

e57::Writer::Writer ( const ustring filePath,
const ustring coordinateMetaData = {} 
)

This function is the constructor for the writer class.

Parameters
[in]filePathfile path to E57 file
[in]coordinateMetaDataInformation describing the Coordinate Reference System to be used for the file

Member Function Documentation

◆ Close()

bool e57::Writer::Close ( )

This function closes the file.

◆ GetRawData3D()

VectorNode e57::Writer::GetRawData3D ( )

This function returns the raw Data3D Vector Node.

◆ GetRawE57Root()

StructureNode e57::Writer::GetRawE57Root ( )

This function returns the file raw E57Root Structure Node.

◆ GetRawImages2D()

VectorNode e57::Writer::GetRawImages2D ( )

This function returns the raw Image2D Vector Node.

◆ GetRawIMF()

ImageFile e57::Writer::GetRawIMF ( )

This function returns the ram ImageFile Node which is need to add enhancements.

◆ IsOpen()

bool e57::Writer::IsOpen ( ) const

This function returns true if the file is open.

◆ NewData3D()

int64_t e57::Writer::NewData3D ( Data3D data3DHeader)

This function writes new Data3D header.

The user needs to config a Data3D structure with all the scanning information before making this call.

Parameters
[in,out]data3DHeaderscan metadata
Returns
Returns the index of the new scan's data3D block.

◆ NewImage2D()

int64_t e57::Writer::NewImage2D ( Image2D image2DHeader)

This function writes a new Image2D header.

The user needs to config a Image2D structure with all the camera information before making this call.

Parameters
[in,out]image2DHeaderheader metadata
Returns
Returns the image2D index

◆ SetUpData3DPointsData() [1/2]

CompressedVectorWriter e57::Writer::SetUpData3DPointsData ( int64_t  dataIndex,
size_t  pointCount,
const Data3DPointsData buffers 
)

This function setups a writer to write the actual scan data.

Parameters
[in]dataIndexindex returned by NewData3D
[in]pointCountNumber of points to write (number of elements in each of the buffers)
[in]bufferspointers to user-provided buffers
Returns
returns a vector writer setup to write the selected scan data

◆ SetUpData3DPointsData() [2/2]

CompressedVectorWriter e57::Writer::SetUpData3DPointsData ( int64_t  dataIndex,
size_t  pointCount,
const Data3DPointsData_d buffers 
)

This function setups a writer to write the actual scan data.

Parameters
[in]dataIndexindex returned by NewData3D
[in]pointCountNumber of points to write (number of elements in each of the buffers)
[in]bufferspointers to user-provided buffers
Returns
returns a vector writer setup to write the selected scan data

◆ WriteData3DGroupsData()

bool e57::Writer::WriteData3DGroupsData ( int64_t  dataIndex,
int64_t  groupCount,
int64_t *  idElementValue,
int64_t *  startPointIndex,
int64_t *  pointCount 
)

This function writes out the group data.

Parameters
[in]dataIndexdata block index given by the NewData3D
[in]groupCountsize of each of the buffers given
[in]bufferof idElementValue index for this group
[in]startPointIndexbuffer with starting indices in to the "points" data vector for the groups
[in]pointCountbuffer with sizes of the groups given
Returns
Return true if successful, false otherwise

◆ WriteImage2DData()

int64_t e57::Writer::WriteImage2DData ( int64_t  imageIndex,
Image2DType  imageType,
Image2DProjection  imageProjection,
void *  buffer,
int64_t  start,
int64_t  count 
)

This function writes the actual image data.

Parameters
[in]imageIndexpicture block index given by the NewImage2D
[in]imageTypeidentifies the image format desired.
[in]imageProjectionidentifies the projection desired.
[in]bufferpointer the buffer
[in]startposition in the block to start writing
[in]countsize of desired chuck or buffer size
Returns
Returns the number of bytes written

The documentation for this class was generated from the following files: