BRL-CAD
#include "common.h"
#include "bu/list.h"
#include "bu/ptbl.h"
#include "rt/db_instance.h"
#include "rt/defines.h"
Include dependency graph for search.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  db_search_context
 Execution context for the -exec filter. More...
 

Macros

#define DB_SEARCH_TREE   0x0
 Do a hierarchy-aware search. This is the default. More...
 
#define DB_SEARCH_FLAT   0x1
 Do a flat search without hierarchy. More...
 
#define DB_SEARCH_HIDDEN   0x2
 Search using hidden objects. More...
 
#define DB_SEARCH_RETURN_UNIQ_DP   0x4
 Return the set of unique directory pointers instead of full paths. More...
 
#define DB_SEARCH_QUIET   0x8
 Silence all warnings. More...
 
#define DB_LS_PRIM   0x1
 filter for primitives (solids) More...
 
#define DB_LS_COMB   0x2
 filter for combinations More...
 
#define DB_LS_REGION   0x4
 filter for regions More...
 
#define DB_LS_HIDDEN   0x8
 include hidden objects in results More...
 
#define DB_LS_NON_GEOM   0x10
 filter for non-geometry objects More...
 
#define DB_LS_TOPS   0x20
 filter for objects un-referenced by other objects More...
 
#define DB_LS_CYCLIC   0x40
 filter for objects with a cyclic reference in subtrees More...
 

Typedefs

typedef int(* db_search_callback_t) (int, const char *[], void *)
 

Functions

struct db_search_contextdb_search_context_create (void)
 Allocates a new context. More...
 
void db_search_context_destroy (struct db_search_context *ctx)
 Free a context created by db_search_context_create. More...
 
void db_search_register_exec (struct db_search_context *, db_search_callback_t)
 Register a callback for -exec filters. More...
 
void db_search_register_data (struct db_search_context *, void *)
 Register a userdata for the callback. More...
 
int db_search (struct bu_ptbl *results, int flags, const char *filter, int path_c, struct directory **path_v, struct db_i *dbip, struct db_search_context *ctx)
 Search for objects in a geometry database using filters. More...
 
void db_search_free (struct bu_ptbl *search_results)
 
size_t db_ls (const struct db_i *dbip, int flags, const char *pattern, struct directory ***dpv)
 
int db_cyclic_paths (struct bu_ptbl *cyclic_paths, const struct db_i *dbip, struct directory *sdp)