#include "common.h"
#include <stddef.h>
#include <stdio.h>
#include <math.h>
#include <strings.h>
#include "machine.h"
#include "bu.h"
#include "vmath.h"
#include "bn.h"
#include "db.h"
#include "raytrace.h"
#include "./debug.h"
#include "noalias.h"
Include dependency graph for tree.c:
Go to the source code of this file.
Defines | |
#define | ACQUIRE_SEMAPHORE_TREE(_hash) |
#define | RELEASE_SEMAPHORE_TREE(_hash) |
Functions | |
void | rt_tree_kill_dead_solid_refs (union tree *tp) |
HIDDEN struct region * | rt_getregion (struct rt_i *rtip, register const char *reg_name) |
HIDDEN void | rt_tree_region_assign (register union tree *tp, register const struct region *regionp) |
HIDDEN int | rt_gettree_region_start (struct db_tree_state *tsp, struct db_full_path *pathp, const struct rt_comb_internal *combp, genptr_t client_data) |
HIDDEN union tree * | rt_gettree_region_end (register struct db_tree_state *tsp, struct db_full_path *pathp, union tree *curtree, genptr_t client_data) |
HIDDEN struct soltab * | rt_find_identical_solid (register const matp_t mat, register struct directory *dp, struct rt_i *rtip) |
HIDDEN union tree * | rt_gettree_leaf (struct db_tree_state *tsp, struct db_full_path *pathp, struct rt_db_internal *ip, genptr_t client_data) |
void | rt_free_soltab (struct soltab *stp) |
int | rt_gettrees_muves (struct rt_i *rtip, const char **attrs, int argc, const char **argv, int ncpus) |
int | rt_gettrees_and_attrs (struct rt_i *rtip, const char **attrs, int argc, const char **argv, int ncpus) |
int | rt_gettree (struct rt_i *rtip, const char *node) |
int | rt_gettrees (struct rt_i *rtip, int argc, const char **argv, int ncpus) |
int | rt_bound_tree (register const union tree *tp, fastf_t *tree_min, fastf_t *tree_max) |
void | rt_tree_kill_dead_solid_refs (register union tree *tp) |
int | rt_tree_elim_nops (register union tree *tp, struct resource *resp) |
const char * | rt_basename (register const char *str) |
int | rt_rpp_region (struct rt_i *rtip, const char *reg_name, fastf_t *min_rpp, fastf_t *max_rpp) |
void | rt_fastf_float (register fastf_t *ff, register const dbfloat_t *fp, register int n) |
void | rt_mat_dbmat (register fastf_t *ff, register const dbfloat_t *dbp) |
void | rt_dbmat_mat (register dbfloat_t *dbp, register const fastf_t *ff) |
soltab * | rt_find_solid (const struct rt_i *rtip, register const char *name) |
void | rt_optim_tree (register union tree *tp, struct resource *resp) |
Variables | |
const struct db_tree_state | rt_initial_tree_state |
Author - Michael John Muuss
Source - The U. S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5068 USA
Definition in file tree.c.
|
Value: switch((_hash)&03) { \ case 0: \ bu_semaphore_acquire( RT_SEM_TREE0 ); \ break; \ case 1: \ bu_semaphore_acquire( RT_SEM_TREE1 ); \ break; \ case 2: \ bu_semaphore_acquire( RT_SEM_TREE2 ); \ break; \ default: \ bu_semaphore_acquire( RT_SEM_TREE3 ); \ break; \ } Definition at line 133 of file tree.c. Referenced by rt_find_identical_solid(), rt_free_soltab(), and rt_gettree_leaf(). |
|
Value: switch((_hash)&03) { \ case 0: \ bu_semaphore_release( RT_SEM_TREE0 ); \ break; \ case 1: \ bu_semaphore_release( RT_SEM_TREE1 ); \ break; \ case 2: \ bu_semaphore_release( RT_SEM_TREE2 ); \ break; \ default: \ bu_semaphore_release( RT_SEM_TREE3 ); \ break; \ } Definition at line 148 of file tree.c. Referenced by rt_find_identical_solid(), rt_free_soltab(), and rt_gettree_leaf(). |
|
Referenced by rt_gettrees_muves(), and rt_tree_kill_dead_solid_refs(). |
|
Definition at line 1234 of file tree.c. References BU_LIST_FOR, rt_i::HeadRegion, region::reg_name, REGION_NULL, rt_basename(), and RT_CK_RTI. Referenced by rt_rpp_region(). Here is the call graph for this function: ![]() |
|
Definition at line 1447 of file tree.c. References OP_GUARD, OP_INTERSECT, OP_NOP, OP_NOT, OP_SOLID, OP_SUBTRACT, OP_UNION, OP_XNOP, OP_XOR, rt_bomb(), RT_CK_REGION, and RT_CK_TREE. Referenced by rt_gettrees_muves(). Here is the call graph for this function: ![]() |
|
Definition at line 169 of file tree.c. References RT_CK_RESOURCE, RT_CK_RTI, rt_i::rti_air_discards, db_tree_state::ts_aircode, db_tree_state::ts_resp, db_tree_state::ts_rtip, and rt_i::useair. Referenced by rt_gettrees_muves(). |
|
Definition at line 200 of file tree.c. References region::attr_values, bu_calloc(), BU_GETSTRUCT, bu_malloc(), bu_mro_init_with_string(), entry, region::l, bu_list::magic, OP_NOP, region::reg_aircode, region::reg_gmater, region::reg_is_fastgen, region::reg_los, region::reg_regionid, RT_CK_DBI, RT_CK_FULL_PATH, RT_CK_RESOURCE, RT_CK_RTI, RT_CK_TREE, and RT_REGION_MAGIC. Referenced by rt_gettrees_muves(). Here is the call graph for this function: ![]() |
|
Definition at line 364 of file tree.c. References ACQUIRE_SEMAPHORE_TREE, bn_mat_is_equal(), BU_GETSTRUCT, BU_LIST_FOR, BU_LIST_INSERT, BU_LIST_MAIN_PTR, bu_log(), bu_malloc(), bu_ptbl_init(), bu_semaphore_acquire(), bu_semaphore_release(), directory::d_uses, db_dirhash(), DEBUG_SOLIDS, soltab::l, soltab::l2, bu_list::magic, MAT_COPY, rt_i::nsolids, RELEASE_SEMAPHORE_TREE, RT_CK_DIR, RT_CK_RTI, RT_CK_SOLTAB, RT_G_DEBUG, RT_SEM_STATS, RT_SOLTAB2_MAGIC, RT_SOLTAB_MAGIC, RT_SOLTAB_NULL, rt_i::rti_dont_instance, rt_i::rti_solidheads, rt_i::rti_tol, soltab::st_aradius, soltab::st_bit, soltab::st_dp, soltab::st_matp, soltab::st_regions, soltab::st_rtip, and soltab::st_uses. Referenced by rt_gettree_leaf(). Here is the call graph for this function: ![]() |
|
Definition at line 494 of file tree.c. References ACQUIRE_SEMAPHORE_TREE, bn_mat_identity, bn_mat_is_equal(), bu_log(), bu_ptbl_ins(), directory::d_namep, db_dirhash(), DB_FULL_PATH_CUR_DIR, INFINITY, RELEASE_SEMAPHORE_TREE, RT_CK_DB_INTERNAL, RT_CK_DBI, RT_CK_DBTS, RT_CK_FULL_PATH, RT_CK_RESOURCE, RT_CK_RTI, rt_find_identical_solid(), rt_i::rti_add_to_new_solids_list, rt_i::rti_new_solids, rt_i::rti_tol, soltab::st_aradius, soltab::st_id, soltab::st_matp, soltab::st_max, soltab::st_meth, soltab::st_min, soltab::st_uses, TREE_NULL, db_tree_state::ts_dbip, db_tree_state::ts_mat, db_tree_state::ts_resp, db_tree_state::ts_rtip, and VSETALL. Referenced by rt_gettrees_muves(). Here is the call graph for this function: ![]() |
|
Definition at line 984 of file tree.c. References bu_log(), directory::d_namep, INFINITY, OP_INTERSECT, OP_NOP, OP_SOLID, OP_SUBTRACT, OP_UNION, OP_XOR, rt_bound_tree(), RT_CK_SOLTAB, RT_CK_TREE, soltab::st_aradius, soltab::st_dp, soltab::st_max, soltab::st_min, VMAX, VMIN, VMOVE, and VSETALL. Here is the call graph for this function: ![]() |
|
Definition at line 1057 of file tree.c. References bu_log(), directory::d_namep, OP_GUARD, OP_INTERSECT, OP_NOP, OP_NOT, OP_SOLID, OP_SUBTRACT, OP_UNION, OP_XNOP, OP_XOR, RT_CK_SOLTAB, RT_CK_TREE, rt_free_soltab(), RT_G_DEBUG, rt_tree_kill_dead_solid_refs(), SOLTAB_NULL, soltab::st_aradius, and soltab::st_dp. Here is the call graph for this function: ![]() |
|
Definition at line 1121 of file tree.c. References bu_log(), db_free_tree(), OP_GUARD, OP_INTERSECT, OP_NOP, OP_NOT, OP_SOLID, OP_SUBTRACT, OP_UNION, OP_XNOP, OP_XOR, RT_CK_RESOURCE, RT_CK_TREE, RT_FREE_TREE, rt_tree_elim_nops(), tree::tree_node::tb_left, tree::tree_node::tb_right, top(), and tree::tr_b. Here is the call graph for this function: ![]() |
|
|
|
Definition at line 1282 of file tree.c. References ELEMENTS_PER_VECT. Referenced by rt_arb_import(), rt_ell_import(), rt_grp_import(), rt_hlf_import(), rt_superell_import(), rt_tgc_import(), and rt_tor_import(). |
|
|
|
Definition at line 1329 of file tree.c. Referenced by rt_comb_export4(). |
|
Definition at line 1361 of file tree.c. References db_lookup(), DIR_NULL, LOOKUP_QUIET, RT_CHECK_RTI, RT_SOLTAB_NULL, RT_VISIT_ALL_SOLTABS_END, RT_VISIT_ALL_SOLTABS_START, rt_i::rti_dbip, and soltab::st_dp. Here is the call graph for this function: ![]() |