/ FLTHasSpatialFilter */ / Utility function to see if a spatial filter is included in */ the node. */ /
| 3075 | /* the node. */ |
| 3076 | /************************************************************************/ |
| 3077 | int FLTHasSpatialFilter(FilterEncodingNode *psNode) |
| 3078 | { |
| 3079 | int bResult = MS_FALSE; |
| 3080 | |
| 3081 | if (!psNode) |
| 3082 | return MS_FALSE; |
| 3083 | |
| 3084 | if (psNode->eType == FILTER_NODE_TYPE_LOGICAL) |
| 3085 | { |
| 3086 | if (psNode->psLeftNode) |
| 3087 | bResult = FLTHasSpatialFilter(psNode->psLeftNode); |
| 3088 | |
| 3089 | if (bResult) |
| 3090 | return MS_TRUE; |
| 3091 | |
| 3092 | if (psNode->psRightNode) |
| 3093 | bResult = FLTHasSpatialFilter(psNode->psRightNode); |
| 3094 | |
| 3095 | if (bResult) |
| 3096 | return MS_TRUE; |
| 3097 | } |
| 3098 | else if (FLTIsBBoxFilter(psNode) || FLTIsPointFilter(psNode) || |
| 3099 | FLTIsLineFilter(psNode) || FLTIsPolygonFilter(psNode)) |
| 3100 | return MS_TRUE; |
| 3101 | |
| 3102 | |
| 3103 | return MS_FALSE; |
| 3104 | } |
| 3105 | |
| 3106 | |
| 3107 | /************************************************************************/ |
no test coverage detected