E57 Simple API V1.0.312
Aug. 10, 2012
|
This is the E57 Writer class. More...
#include <E57Simple.h>
Public Member Functions | |
Writer (const ustring &filePath, const ustring &coordinateMetaData) | |
This function is the constructor for the writer class. | |
bool | IsOpen (void) const |
This function returns true if the file is open. | |
bool | Close (void) const |
This function closes the file. | |
int32_t | NewImage2D (Image2D &image2DHeader) const |
This function sets up the image2D header and positions the cursor. | |
int64_t | WriteImage2DData (int32_t imageIndex, e57::Image2DType imageType, e57::Image2DProjection imageProjection, void *pBuffer, int64_t start, int64_t count) const |
This function writes the image block of data. | |
int32_t | NewData3D (Data3D &data3DHeader) const |
This function sets up the Data3D header and positions the cursor for the binary data. | |
CompressedVectorWriter | SetUpData3DPointsData (int32_t dataIndex, int64_t pointCount, double *cartesianX, double *cartesianY, double *cartesianZ, int8_t *cartesianInvalidState=NULL, double *intensity=NULL, int8_t *isIntensityInvalid=NULL, uint16_t *colorRed=NULL, uint16_t *colorGreen=NULL, uint16_t *colorBlue=NULL, int8_t *isColorInvalid=NULL, double *sphericalRange=NULL, double *sphericalAzimuth=NULL, double *sphericalElevation=NULL, int8_t *sphericalInvalidState=NULL, int32_t *rowIndex=NULL, int32_t *columnIndex=NULL, int8_t *returnIndex=NULL, int8_t *returnCount=NULL, double *timeStamp=NULL, int8_t *isTimeStampInvalid=NULL) const |
This function writes out blocks of point data. | |
bool | WriteData3DGroupsData (int32_t dataIndex, int32_t groupCount, int64_t *idElementValue, int64_t *startPointIndex, int64_t *pointCount) const |
This funtion writes out the group data. | |
StructureNode | GetRawE57Root (void) |
This function returns the file raw E57Root Structure Node. | |
VectorNode | GetRawData3D (void) |
This function returns the raw Data3D Vector Node. | |
VectorNode | GetRawImages2D (void) |
This function returns the raw Image2D Vector Node. | |
This is the E57 Writer class.
Writer::Writer | ( | const ustring & | filePath, |
const ustring & | coordinateMetaData | ||
) |
This function is the constructor for the writer class.
filePath | file path string |
coordinateMetaData | Information describing the Coordinate Reference System to be used for the file |
VectorNode Writer::GetRawData3D | ( | void | ) |
StructureNode Writer::GetRawE57Root | ( | void | ) |
VectorNode Writer::GetRawImages2D | ( | void | ) |
bool Writer::IsOpen | ( | void | ) | const |
This function returns true if the file is open.
int32_t Writer::NewData3D | ( | Data3D & | data3DHeader | ) | const |
int32_t Writer::NewImage2D | ( | Image2D & | image2DHeader | ) | const |
This function sets up the image2D header and positions the cursor.
image2DHeader | pointer to the Image2D structure to receive the picture information |
CompressedVectorWriter Writer::SetUpData3DPointsData | ( | int32_t | dataIndex, |
int64_t | pointCount, | ||
double * | cartesianX, | ||
double * | cartesianY, | ||
double * | cartesianZ, | ||
int8_t * | cartesianInvalidState = NULL , |
||
double * | intensity = NULL , |
||
int8_t * | isIntensityInvalid = NULL , |
||
uint16_t * | colorRed = NULL , |
||
uint16_t * | colorGreen = NULL , |
||
uint16_t * | colorBlue = NULL , |
||
int8_t * | isColorInvalid = NULL , |
||
double * | sphericalRange = NULL , |
||
double * | sphericalAzimuth = NULL , |
||
double * | sphericalElevation = NULL , |
||
int8_t * | sphericalInvalidState = NULL , |
||
int32_t * | rowIndex = NULL , |
||
int32_t * | columnIndex = NULL , |
||
int8_t * | returnIndex = NULL , |
||
int8_t * | returnCount = NULL , |
||
double * | timeStamp = NULL , |
||
int8_t * | isTimeStampInvalid = NULL |
||
) | const |
This function writes out blocks of point data.
dataIndex | data block index given by the NewData3D |
pointCount | size of each of the buffers given |
cartesianX | pointer to a buffer with the X coordinate (in meters) of the point in Cartesian coordinates |
cartesianY | pointer to a buffer with the Y coordinate (in meters) of the point in Cartesian coordinates |
cartesianZ | pointer to a buffer with the Z coordinate (in meters) of the point in Cartesian coordinates |
cartesianInvalidState | Value = 0 if the point is considered valid, 1 otherwise |
intensity | pointer to a buffer with the Point response intensity. Unit is unspecified |
isIntensityInvalid | Value = 0 if the intensity is considered valid, 1 otherwise |
colorRed | pointer to a buffer with the Red color coefficient. Unit is unspecified |
colorGreen | pointer to a buffer with the Green color coefficient. Unit is unspecified |
colorBlue | pointer to a buffer with the Blue color coefficient. Unit is unspecified |
isColorInvalid | Value = 0 if the color is considered valid, 1 otherwise |
sphericalRange | pointer to a buffer with the range (in meters) of points in spherical coordinates. Shall be non-negative |
sphericalAzimuth | pointer to a buffer with the Azimuth angle (in radians) of point in spherical coordinates |
sphericalElevation | pointer to a buffer with the Elevation angle (in radians) of point in spherical coordinates |
sphericalInvalidState | Value = 0 if the range is considered valid, 1 otherwise |
rowIndex | pointer to a buffer with the row number of point (zero based). This is useful for data that is stored in a regular grid.Shall be in the interval (0, 2^31). |
columnIndex | pointer to a buffer with the column number of point (zero based). This is useful for data that is stored in a regular grid. Shall be in the interval (0, 2^31). |
returnIndex | pointer to a buffer with the number of this return (zero based). That is, 0 is the first return, 1 is the second, and so on. Shall be in the interval (0, returnCount). Only for multi-return sensors. |
returnCount | pointer to a buffer with the total number of returns for the pulse that this corresponds to. Shall be in the interval (0, 2^7). Only for multi-return sensors. |
timeStamp | pointer to a buffer with the time (in seconds) since the start time for the data, which is given by acquisitionStart in the parent Data3D Structure. Shall be non-negative |
isTimeStampInvalid | Value = 0 if the timeStamp is considered valid, 1 otherwise |
bool Writer::WriteData3DGroupsData | ( | int32_t | dataIndex, |
int32_t | groupCount, | ||
int64_t * | idElementValue, | ||
int64_t * | startPointIndex, | ||
int64_t * | pointCount | ||
) | const |
This funtion writes out the group data.
dataIndex | data block index given by the NewData3D |
groupCount | size of each of the buffers given |
idElementValue | index for this group |
startPointIndex | Starting index in to the "points" data vector for the groups |
pointCount | size of the groups given |
int64_t Writer::WriteImage2DData | ( | int32_t | imageIndex, |
e57::Image2DType | imageType, | ||
e57::Image2DProjection | imageProjection, | ||
void * | pBuffer, | ||
int64_t | start, | ||
int64_t | count | ||
) | const |
This function writes the image block of data.
imageIndex | picture block index given by the NewImage2D |
imageType | identifies the image format desired. |
imageProjection | identifies the projection desired. |
pBuffer | pointer the buffer |
start | position in the block to start writing |
count | size of desired chuck or buffer size |