######################################################################## #### #### Title: geom_for_pred.magik #### Author: Mark Cederholm #### Last Revised: 18-Feb-2004 #### #### SW 3.3: These methods deal with the fact that the user-friendly #### folks at Smallworld, in their infinite wisdom, have changed the #### nature of spatial predicates so that a trail or sector_rope is #### always considered a line and bombs out the predicate if it is a #### point. This is indeed a buggered-up situation that makes a bloody #### lot of work for the rest of us. #### ######################################################################## _pragma(classify_level=basic, topic={trail,we_are_buggered}) _method trail.geom_for_pred() ## Return geometry suitable for use in spatial predicates >> _self.sectors.geom_for_pred() _endmethod _pragma(classify_level=basic, topic={sector_rope,we_are_buggered}) _method sector_rope.geom_for_pred() ## Return geometry suitable for use in spatial predicates sr << _self cat << sr.geom_category _if cat _is :point _then a_geom << pseudo_point.new(sr) _elif cat _is :area _then a_geom << pseudo_area.new(sr) _else a_geom << pseudo_chain.new(sr) _endif >> a_geom _endmethod