Go to the source code of this file.
Macros | |
#define | ERULE_OUTOFBBOX 1 |
The node is outside of the area to render. | |
#define | ERULE_WAYOPEN 2 |
The rule applies only to closed ways. | |
#define | ERULE_WAYCLOSED 3 |
The rule applies only to open ways. | |
#define | ERULE_NOMATCH 4 |
The tags of the rule do not match the object. | |
#define | ERULE_INVISIBLE 5 |
The object is invisible. | |
#define | RULES_TAG "smrender:rules" |
Typedefs | |
typedef int(* | tree_func_t )(osm_obj_t *, void *) |
Enumerations | |
enum | { IDX_NODE, IDX_WAY, IDX_REL } |
Functions | |
int | traverse (const bx_node_t *, int, int, tree_func_t, void *) |
int | execute_rules (bx_node_t *, int) |
int | rev_index_way_nodes (osm_way_t *, bx_node_t **) |
int | rev_index_rel_nodes (osm_rel_t *, bx_node_t **) |
int | get_rev_index (osm_obj_t **, const osm_obj_t *) |
void | sm_wait_threads (void) |
int | traverse_queue (const bx_node_t *, int, tree_func_t, void *) |
int | sm_is_threaded (const smrule_t *) |
This file contains the prototypes for the core routines of the execution engine.
Find OSM object in object list and return index.
optr | Pointer to NULL-terminated object list. |
o | Pointer to object. |
int traverse | ( | const bx_node_t * | nt, |
int | d, | ||
int | idx, | ||
tree_func_t | dhandler, | ||
void * | p | ||
) |
Recursively traverse tree and call function dhandler for all leaf nodes which are not NULL.
nt | Pointer to tree root. |
d | Depth of traversal. This should be 0 if called at the root of the tree. |
idx | The tree actually allows to be an overlapped tree of several trees. idx is the index of the tree which should be traversed. |
dhandler | This is the function called at the leaf node. |
p | This is a generic argument which is passed to dhandler upon call. |