db_comb.c File Reference
#include "common.h"
#include <limits.h>
#include <math.h>
#include <string.h>
#include "bio.h"
#include "vmath.h"
#include "bn.h"
#include "db.h"
#include "mater.h"
#include "raytrace.h"
#include "../librt_private.h"
Include dependency graph for db_comb.c:

Go to the source code of this file.


#define STAT_ROT   1
#define STAT_XLATE   2
#define STAT_PERSP   4
#define STAT_SCALE   8
#define MAX_SS   128


size_t db_tree_nleaves (const union tree *tp)
struct rt_tree_arraydb_flatten_tree (struct rt_tree_array *rt_tree_array, union tree *tp, int op, int freeflag, struct resource *resp)
int rt_comb_import4 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t matrix, const struct db_i *dbip, struct resource *resp)
int rt_comb_export4 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
void db_tree_flatten_describe (struct bu_vls *vls, const union tree *tp, int indented, int lvl, double mm2local, struct resource *resp)
void db_tree_describe (struct bu_vls *vls, const union tree *tp, int indented, int lvl, double mm2local)
void db_comb_describe (struct bu_vls *str, const struct rt_comb_internal *comb, int verbose, double mm2local, struct resource *resp)
void rt_comb_ifree (struct rt_db_internal *ip)
int rt_comb_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *dbip)
void db_wrap_v4_external (struct bu_external *op, const char *name)
int db_ck_left_heavy_tree (const union tree *tp, int no_unions)
int db_ck_v4gift_tree (const union tree *tp)
union treedb_mkbool_tree (struct rt_tree_array *rt_tree_array, size_t howfar, struct resource *resp)
union treedb_mkgift_tree (struct rt_tree_array *trees, size_t subtreecount, struct resource *resp)
int rt_comb_get_color (unsigned char rgb[3], const struct rt_comb_internal *comb)
int db_comb_mvall (struct directory *dp, struct db_i *dbip, const char *old_name, const char *new_name, struct bu_ptbl *stack)

Detailed Description

This module contains the import/export routines for "Combinations", the non-leaf nodes in the directed acyclic graphs (DAGs) in the BRL-CAD ".g" database.

This parallels the function of the geometry (leaf-node) import/export routines found in the g_xxx.c routines.

As a reminder, some combinations are special, when marked with the "Region" flag, everything from that node down is considered to be made of uniform material.

Definition in file db_comb.c.

Macro Definition Documentation

#define MAX_SS   128

Referenced by rt_comb_import4().