CARIS HPD : HPD Server API : Database Setup : Integrator Overrides Reference Methods : FILTERSOURCEFEATURES
 

FILTERSOURCEFEATURES

This procedure controls which HPD features are loaded into the HPD Source Editor client application based on arbitrary client-specified rules.

You should ensure that all topologically related features are loaded. Normally, when “sticky mode” is active, editing DEPAREs also affects the LNDAREs that share the same spatials. However, if DEPAREs are loaded and LNDAREs are not, then editing DEPAREs in the application cannot affect the non-loaded LNDAREs.

Source features that will be loaded can be obtained via p_loadsource.getfeatureinfo. See the example below.

Example

In the example code below, any feature can be tagged for removal (remove variable set to TRUE) as per the integrator’s logic.

PROCEDURE filtersourcefeatures IS

/*

   foids foid_tab := foid_tab();

   -- get features currently being loaded

   CURSOR featuresbeingloaded_cur IS

      SELECT foid, acronym, status, modified, ID

      FROM TABLE (CAST(p_loadsource.getfeatureinfo() as FEATURE_INFO_TAB)) t;

*/

BEGIN

   -- Example code

/*

   -- add logic to check features here

   FOR rec IN featuresbeingloaded_cur LOOP

      -- check individual feature

      IF (rec.acronym = 'DEPARE') THEN

         foids.EXTEND (1);

         foids(foids.LAST() := foid_rec (rec.foid);

      END IF;

   END LOOP;

-- remove the features from the load.

IF (foids.count > 0 then p_loadsource.removefoids(foids);

END IF;

*/

NULL;

END filtersourcefeatures;