184 Commits

Author SHA1 Message Date
Mathieu Brédif
081d210f13 dim pointers instead of positions in PCSCHEMA
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
2017-03-21 13:58:25 +01:00
Mathieu Brédif
d5e42ba274 test_point_geometry (pcpoint to geometry wkb tests)
xy, xyz, xym and xyzm test cases
2017-03-21 13:57:19 +01:00
Mathieu Brédif
30a680f94a pcpoint_set/get API normalisation and testing
- 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)
2017-03-21 13:57:19 +01:00
Mathieu Brédif
3b8f165b35 PCSCHEMA *pc_schema_from_xml(const char *)
consistent return of pc_schema_from_xml : NULL on failure
2017-03-17 12:14:02 +01:00
Mathieu Brédif
8f4e7e5ecc Consistent error handling in pc_schema_from_xml (2)
slight rework of #108 from @achidlow
2017-03-17 12:13:08 +01:00
Éric Lemoine
abce712ec8 Support other dimensions for lazperf compression 2017-03-14 14:36:39 +01:00
Éric Lemoine
692a568101 Merge pull request #141 from elemoine/tabs
Remove tabs within if statements
2017-03-14 09:24:01 +01:00
Blottiere Paul
96de4159f7 Add unit test for pc_patch_filter with lazperf 2017-03-14 08:33:45 +01:00
Blottiere Paul
1254177326 Fix memory leak in pc_patch_filter for lazperf 2017-03-13 18:10:59 +01:00
Éric Lemoine
7be5f7fd67 Fix bug in pc_patch_filter for lazperf
In pc_patch_filter, when nset is 0, the empty patch returned was created with
an invalid maxpoints value in the case of lazperf.
2017-03-10 13:01:56 +01:00
Mathieu Brédif
ceefce2ca1 pc_point_to_geometry_wkb : get_m fix
A typo was introduced while rebasing this PR: `z` values were assigned to both `z` and `m` output points
2017-02-18 16:10:09 +01:00
Éric Lemoine
ac11a17a6f Remove tabs within if statements 2017-02-17 18:12:06 +01:00
Mathieu Brédif
266113d1cb pointlist memory fix, pc_pointlist_from_dimensional memory optimization
pointlist: opaque mem pointer rather than readonly attribute
pc_patch_uncompressed_readonly: transfers data ownership
pc_pointlist_from_dimensional: 1 pcalloc/patch rather than 1/point
2017-02-16 10:47:37 +01:00
Mathieu Brédif
165d9ea7be geometry cast of pcpoint with optional srid, z and m values, using caching of Z and M positions in schema. 2017-02-16 09:27:04 +01:00
Éric Lemoine
9f19f32536 Remove compile warning (#140)
When using `./configure CFLAGS="-Wall -O2 -g"` we get an "unused-function"
warning at compile time. This was raised by @strk in #130. This commit fixes
the issue.
2017-02-13 19:19:51 +01:00
Mathieu Brédif
ef5fc167d8 indentation normalization 2017-02-12 23:52:15 +01:00
Éric Lemoine
2b87e90d49 Fix indent in cu_pc_patch.c 2017-02-10 15:01:53 +01:00
Éric Lemoine
071d9a72a7 Make pc_patch_compress return the compressed patch
When compressing a patch from GHT to LAZPERF the pc_patch_compress function
currently returns the uncompressed patch.

This commit fixes the bug in pc_patch_compress and adds unit tests for
pc_patch_compress.
2017-02-10 15:01:53 +01:00
Éric Lemoine
87cb90cf29 Fix indent in cu_pc_sort.c (#131)
cu_pc_sort.c currently uses a mix of spaces and tabs. This commit changes all
the tabs to spaces.
2017-01-30 16:52:22 +01:00
Éric Lemoine
c9692411f9 Fix sort unit tests with cunit 2.1-3 (#132) 2017-01-30 16:51:28 +01:00
Mathieu Brédif
68caab7ae1 PC_Sort and PC_IsSorted (#106)
* PC_Sort and PC_IsSorted

* fixing -Wdeclaration-after-statement warnings

* using sort_r for a portable definition of qsort_r/qsort_s

* uncompression fallback for lazperf/is_sorted

* NEWS updated, sort_r github reference and README added
2017-01-29 23:12:31 +01:00
Éric Lemoine
e90e0ac166 Remove unused functions and vars (#128)
* Remove unused function in pc_patch_ght.c

* Remove unused vars in pc_patch_lazperf.c

* Remove unused vars in cu_pc_patch_ght.c

* Remove unused vars in cu_pc_point.c

* Remove unused vars in cu_pc_bytes.c
2017-01-27 17:22:37 +01:00
Éric Lemoine
3a04787079 Use __attribute__ ((format (printf, x, y))) (#126)
This commit adds __attribute__ ((format (printf, x, y))) where it makes sense.
2017-01-26 17:45:50 +01:00
Éric Lemoine
8165600c61 Build issues when using a specific install prefix (Autotools) (#127)
* Introduce LAZPERF_CPPFLAGS

Without this the las.hpp header file is not found when lazperf was
installed in a non-system place.

* Use GHT_CPPFLAGS

Without this the ght.h header file is not found when libght was installed in
a non-system place.

* Use tabs in Makefiles
2017-01-26 17:43:03 +01:00
Éric Lemoine
42c87870eb Fix build issues (#123) 2017-01-24 16:56:41 +01:00
Éric Lemoine
784776ea5b Fix pc_patch_lazperf_compute_extent return value 2017-01-24 16:31:15 +01:00
Éric Lemoine
122848cf28 Fix argument passed to pc_patch_lazperf_compute_extent 2017-01-24 16:31:15 +01:00
Éric Lemoine
4875968a62 Declare the pc_patch_lazperf_compute_extent function 2017-01-24 16:31:15 +01:00
Éric Lemoine
6a59f73ebb Make the pc_bitmap_set function static
And get rid of a warning at compile time.
2017-01-24 16:31:15 +01:00
Éric Lemoine
0de6087164 Declare the lazperf compress/uncompress functions
These functions used from pc_patch_lazperf.c were not declared, causing warning
at compile time.
2017-01-24 16:31:15 +01:00
Éric Lemoine
8cd3f4c15a Fix unit tests with cunit 2.1-3 (#124)
In CUnit 2.1-2 and before the CU_SuiteInfo structure looks like this:

    typedef struct CU_SuiteInfo {
        const char       *pName;
        CU_InitializeFunc pInitFunc;
        CU_CleanupFunc    pCleanupFunc;
        CU_TestInfo      *pTests;
    } CU_SuiteInfo;

In CUnit 2.1-3 it looks like this:

    typedef struct CU_SuiteInfo {
        const char       *pName;
        CU_InitializeFunc pInitFunc;
        CU_CleanupFunc    pCleanupFunc;
        CU_SetUpFunc      pSetUpFunc;
        CU_TearDownFunc   pTearDownFunc;
        CU_TestInfo      *pTests;
    } CU_SuiteInfo;

This commit changes the test code so it works with both CUnit 2.1-2 and CUnit
2.1-3.
2017-01-24 16:29:33 +01:00
Blottiere Paul
8afd8f9c6d fix compilation issue with GHT support 2016-06-16 16:16:59 +02:00
Paul Ramsey
211258b78d Merge pull request #105 from pblottiere/laz
Add lazperf pcpatch
2016-06-14 05:59:51 -07:00
Blottiere Paul
b3764bd5dc Add lazperf pcpatch 2016-06-14 10:22:16 +02:00
Mathieu Brédif
5a0f7944fd new PC_PointN function 2016-03-07 15:57:05 +01:00
Blottiere Paul
1508f405bb fix crash when a child node is empty in pc schema
add unit test in case of an empty child node in schema
2016-03-06 15:48:08 +01:00
Sandro Santilli
e6a8e062a9 Merge pull request #101 from mbredif/patch-2
Enable valgrind checks in Travis, fix reported errors and leaks.
2016-03-05 15:55:06 +01:00
Mathieu Brédif
19a57ee89b Testing compression type of dimensional bytes 2016-03-03 17:35:20 +01:00
Mathieu Brédif
dbc47c7064 valgrind check in travis 2016-03-03 17:05:57 +01:00
Mathieu Brédif
897d7c086d fix valgrind errors using CLAMP in pc_val, due to incorrect formatting 2016-03-03 00:53:27 +01:00
Mathieu Brédif
40b2e49d89 Adding missing xmlCleanupParser calls
Fixes memory leaks
2016-03-03 00:05:05 +01:00
Mathieu Brédif
0826a986a0 fix memory leak in test_uncompressed_filter 2016-03-02 23:48:13 +01:00
Mathieu Brédif
76e3040d5f pc_bytes_sigbits_decode compression -> PC_DIM_NONE
Output compression was erroneously set to PC_DIM_SIGBITS instead of_DIM_NONE. Thanks @pblottiere for spotting this!
2016-02-29 15:44:32 +01:00
Sandro Santilli
022708bcba Fix stat computed by PC_Filter for scaled/offsetted dimensions.
Closes #78.
Includes testcase.
2015-04-30 13:31:13 +02:00
Sandro Santilli
a632241185 Fix max stat computed by PC_Filter for unscaled dimensions.
Closes #79.
Includes testcase.
2015-04-30 11:58:40 +02:00
Sandro Santilli
7061bbb549 Add "type" field in pc_summary dimension output 2015-04-24 16:41:21 +02:00
Sandro Santilli
d345f927c0 Fix leaks in patch unit test 2015-04-21 16:19:57 +02:00
Sandro Santilli
ca62fdf00f Fix leak in pc_patch_from_patchlist 2015-04-21 16:19:52 +02:00
Sandro Santilli
4ba74589d6 Fix mem leak in pc_patch_dimensional_from_pointlist 2015-04-21 16:17:11 +02:00
Sandro Santilli
ab76f32045 Fix leak in pc_patch_compute_stats 2015-04-21 16:15:47 +02:00