This commit adds a `PC_Transform` function that returns a new patch with its data transformed based on the passed `pcid`.
In contrast to `PC_SetPCId` this function may reinterpret the data if dimension interpretations, scales or offsets are different in the new schema. In the future `PC_Transform` will also re-project the patch data if the schema `srid` has changed, but that is not yet supported.
The case of the characters should be ignored when comparing dimension names in pcpatch_schema_same_dimensions. This is to match the behavior of pc_schema_get_dimension_by_name which ignores the case.
For backward-compatibility reasons this commit adds back the `geometry(pcpatch)` function that was removed with 7da35f0. This function is just an alias to `PC_Envelope(pcpatch)`.
Type I/O functions should not be volatile. PostgreSQL 9.5 and above include a test for this, yielding this warning when a volatile function is detected:
WARNING: type input function pointcloud_abs_in should not be volatile
This commit makes pointcloud_abs_out and pointcloud_abs_in, which are currently empty shells, non-volatile.
replaces `int32_t x_position` with `PCDIMENSION *xdim` (and similarly for y,z,m) in PCSCHEMA to get a direct access to the corresponding dimension
-> code readability improvement by discarding the `-1` constant and maybe slight expected performance increase of get/set functions
- definition of CU_ASSERT_FAILURE and CU_ASSERT_SUCCESS for easy checking of return values in tests.
- pcpoint_set functions were returning the PC_SUCCESS/PC_FAILURE as a double (!)
- add simple xy, xyz, xym and xyzm xml schemas for unit tests (test_point_xyzm)
This commit adds a PC_Range function. This function returns a patch of "count" points. These points are selected from the start-th point in the input patch.
eclint 2 was recently released. Unfortunately this version is not compatible with the version of NodeJS available on Travis. So let's stick to eclint 1.1.5 for now.
replaces `int32_t x_position` with `PCDIMENSION *xdim` (and similarly for y,z,m) in PCSCHEMA to get a direct access to the corresponding dimension
-> code readability improvement by discarding the `-1` constant and maybe slight expected performance increase of get/set functions