BRL-CAD
#include "common.h"
#include <stdio.h>
#include "vmath.h"
#include "bu/magic.h"
#include "bu/list.h"
#include "bu/vls.h"
#include "bv/defines.h"
Include dependency graph for vlist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bv_vlist
 
struct  bv_vlblock
 

Macros

#define BV_VLIST_CHUNK   35
 32-bit mach => just less than 1k More...
 
#define BV_VLIST_NULL   ((struct bv_vlist *)0)
 
#define BV_CK_VLIST(_p)   BU_CKMAG((_p), BV_VLIST_MAGIC, "bv_vlist")
 
#define BV_VLIST_LINE_MOVE   0
 specify new line More...
 
#define BV_VLIST_LINE_DRAW   1
 subsequent line vertex More...
 
#define BV_VLIST_POLY_START   2
 pt[] has surface normal More...
 
#define BV_VLIST_POLY_MOVE   3
 move to first poly vertex More...
 
#define BV_VLIST_POLY_DRAW   4
 subsequent poly vertex More...
 
#define BV_VLIST_POLY_END   5
 last vert (repeats 1st), draw poly More...
 
#define BV_VLIST_POLY_VERTNORM   6
 per-vertex normal, for interpolation More...
 
#define BV_VLIST_TRI_START   7
 pt[] has surface normal More...
 
#define BV_VLIST_TRI_MOVE   8
 move to first triangle vertex More...
 
#define BV_VLIST_TRI_DRAW   9
 subsequent triangle vertex More...
 
#define BV_VLIST_TRI_END   10
 last vert (repeats 1st), draw poly More...
 
#define BV_VLIST_TRI_VERTNORM   11
 per-vertex normal, for interpolation More...
 
#define BV_VLIST_POINT_DRAW   12
 Draw a single point. More...
 
#define BV_VLIST_POINT_SIZE   13
 specify point pixel size More...
 
#define BV_VLIST_LINE_WIDTH   14
 specify line pixel width More...
 
#define BV_VLIST_DISPLAY_MAT   15
 specify the model matrix More...
 
#define BV_VLIST_MODEL_MAT   16
 specify the display matrix More...
 
#define BV_VLIST_CMD_MAX   16
 Max command number. More...
 
#define BV_GET_VLIST(_free_hd, p)
 
#define BV_FREE_VLIST(_free_hd, hd)
 
#define BV_ADD_VLIST(_free_hd, _dest_hd, pnt, draw)
 
#define BV_VLIST_SET_DISP_MAT(_free_hd, _dest_hd, _ref_pt)
 
#define BV_VLIST_SET_MODEL_MAT(_free_hd, _dest_hd)
 
#define BV_VLIST_SET_POINT_SIZE(_free_hd, _dest_hd, _size)
 
#define BV_VLIST_SET_LINE_WIDTH(_free_hd, _dest_hd, _width)
 
#define BV_CK_VLBLOCK(_p)   BU_CKMAG((_p), BV_VLBLOCK_MAGIC, "bv_vlblock")
 

Functions

size_t bv_vlist_cmd_cnt (struct bv_vlist *vlist)
 
int bv_vlist_bbox (struct bu_list *vlistp, point_t *bmin, point_t *bmax, size_t *length, int *dispmode)
 
void bv_vlist_3string (struct bu_list *vhead, struct bu_list *free_hd, const char *string, const point_t origin, const mat_t rot, double scale)
 
void bv_vlist_2string (struct bu_list *vhead, struct bu_list *free_hd, const char *string, double x, double y, double scale, double theta)
 
const char * bv_vlist_get_cmd_description (int cmd)
 
size_t bv_ck_vlist (const struct bu_list *vhead)
 
void bv_vlist_copy (struct bu_list *vlists, struct bu_list *dest, const struct bu_list *src)
 
void bv_vlist_export (struct bu_vls *vls, struct bu_list *hp, const char *name)
 
void bv_vlist_import (struct bu_list *vlists, struct bu_list *hp, struct bu_vls *namevls, const unsigned char *buf)
 
void bv_vlist_cleanup (struct bu_list *hd)
 
struct bv_vlblockbv_vlblock_init (struct bu_list *free_vlist_hd, int max_ent)
 
void bv_vlblock_free (struct bv_vlblock *vbp)
 
struct bu_listbv_vlblock_find (struct bv_vlblock *vbp, int r, int g, int b)
 
void bv_vlist_rpp (struct bu_list *vlists, struct bu_list *hd, const point_t minn, const point_t maxx)
 
void bv_plot_vlblock (FILE *fp, const struct bv_vlblock *vbp)
 
void bv_vlblock_to_objs (struct bu_ptbl *out, const char *name_root, struct bv_vlblock *vbp, struct bview *v, struct bv_scene_obj *f, struct bu_list *vlfree)
 
struct bv_scene_objbv_vlblock_obj (struct bv_vlblock *vbp, struct bview *v, const char *name)
 
void bv_vlist_to_uplot (FILE *fp, const struct bu_list *vhead)