Access and manipulate the reconstruction volume.
More...
|
typedef int | reme_volume_t |
| Handle referencing a volume object.
|
|
reme_error_t | reme_volume_create (reme_context_t c, reme_volume_t *v) |
| Create a new reme_volume_t object.
|
|
reme_error_t | reme_volume_destroy (reme_context_t c, reme_volume_t *v) |
| Destroy a previously created volume object.
|
|
reme_error_t | reme_volume_get_time (reme_context_t c, reme_volume_t v, int *time) |
| Get the volume time.
|
|
reme_error_t | reme_volume_get_bytes (reme_context_t c, reme_volume_t v, const void **bytes, int *length) |
| Returns the content of the volume as an array of bytes.
|
|
reme_error_t | reme_volume_set_bytes (reme_context_t c, reme_volume_t v, const void *bytes, int length) |
| Sets the content of the volume to the given array of bytes.
|
|
reme_error_t | reme_volume_reset (reme_context_t c, reme_volume_t v) |
| Reset the volume to empty state.
|
|
Access and manipulate the reconstruction volume.
The volume defines the space in which reconstruction can take place. The dimensions and the resolution of the volume are currently fixed at compile time. Therefore, to manipulate volume related parameters use reme_context_bind_compile_options before calling reme_context_compile.
The example below illustrates how to work we a default volume. Besides scanning, saving the content of the volume to disk and resuming later is supported.
const void *bytes;
int length;
bool continue_scanning = true;
if (_kbhit()) {
char k = _getch();
switch(k) {
case 'r': {
break;
}
case 's' : {
FILE *f = fopen("volume.bin", "wb");
fwrite(&length, sizeof(int), 1, f);
fwrite(bytes, 1, length, f);
fclose(f);
break;
}
case 'l': {
FILE *f = fopen("volume.bin", "rb");
fread(&length, sizeof(int), 1, f);
void *buffer = malloc(length);
fread(buffer, 1, length, f);
fclose(f);
free(buffer);
break;
}
case 'x': {
continue_scanning = false;
break;
}
}
}
}
}
Handle referencing a volume object.
A reme_volume_t represents a volume in 3D space. Everything within that volume is potentially reconstructed during processing sensor data.
Destroy a previously created volume object.
- Parameters
-
c | A pointer to a valid context object |
v | A mutable pointer to a valid volume handle to destroy |
- Return values
-
Get the volume time.
The volume time corresponds to the number of updates performed on this volume. Initialize it is set to zero.
- Parameters
-
c | A valid context object |
v | A valid volume object |
time | The volume time |
- Return values
-
Returns the content of the volume as an array of bytes.
Downloads the current content of the volume to host side. Using in combination with reme_volume_set_bytes one can resume a previously started reconstruction as long as the volume parameters (dimensions) match.
- Parameters
-
c | A valid context object |
v | A valid volume object |
bytes | A mutable pointer that will receive the address of the volume content. |
length | A pointer that will receive the size of the returned array in bytes. |
- Return values
-
- Examples:
- example_reconstructmesdk_volume.cpp.
Sets the content of the volume to the given array of bytes.
Uploads the given array as volume content to the device side. Using in combination with reme_volume_get_bytes one can resume a previously started reconstruction as long as the volume parameters (dimensions) match.
- Parameters
-
c | A valid context object |
v | A valid volume object |
bytes | An array of bytes |
length | Number of bytes in the array |
- Return values
-
- Examples:
- example_reconstructmesdk_volume.cpp.
Reset the volume to empty state.
Forces the volume to clear its content.
- Parameters
-
c | A valid context object |
v | A valid volume object |
- Return values
-
- Examples:
- example_reconstructmesdk_volume.cpp.