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; |