52# if defined(BV_DLL_EXPORTS) && defined(BV_DLL_IMPORTS)
53# error "Only BV_DLL_EXPORTS or BV_DLL_IMPORTS can be defined, not both."
54# elif defined(BV_DLL_EXPORTS)
55# define BV_EXPORT COMPILER_DLLEXPORT
56# elif defined(BV_DLL_IMPORTS)
57# define BV_EXPORT COMPILER_DLLIMPORT
69#define BV_MINVIEWSIZE 0.0001
70#define BV_MINVIEWSCALE 0.00005
79#define BV_ANCHOR_AUTO 0
80#define BV_ANCHOR_BOTTOM_LEFT 1
81#define BV_ANCHOR_BOTTOM_CENTER 2
82#define BV_ANCHOR_BOTTOM_RIGHT 3
83#define BV_ANCHOR_MIDDLE_LEFT 4
84#define BV_ANCHOR_MIDDLE_CENTER 5
85#define BV_ANCHOR_MIDDLE_RIGHT 6
86#define BV_ANCHOR_TOP_LEFT 7
87#define BV_ANCHOR_TOP_CENTER 8
88#define BV_ANCHOR_TOP_RIGHT 9
151#define BV_OBJ_SETTINGS_INIT {0, 1.0, 0, {255, 0, 0}, 1, 0.0, 0.0, 0, 0}
172#define BV_DBOBJ_BASED 0x01
173#define BV_VIEWONLY 0x02
175#define BV_LABELS 0x08
177#define BV_POLYGONS 0x20
178#define BV_MESH_LOD 0x40
179#define BV_CSG_LOD 0x80
183#define BV_DB_OBJS 0x01
184#define BV_VIEW_OBJS 0x02
185#define BV_LOCAL_OBJS 0x04
187struct bv_scene_obj_internal;
193 struct bv_scene_obj_internal *
i;
354#define bv_scene_group bv_scene_obj
600struct bview_set_internal;
602 struct bview_set_internal *
i;
Header file for the BRL-CAD common definitions.
fastf_t vect_t[ELEMENTS_PER_VECT]
3-tuple vector
double fastf_t
fastest 64-bit (or larger) floating point type
fastf_t mat_t[ELEMENTS_PER_MAT]
4x4 matrix
fastf_t point2d_t[ELEMENTS_PER_POINT2D]
2-tuple point
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
const point_t * points_orig
int draw_non_subtract_only
do not visualize subtraction solids
int s_dmode
draw mode: 0 - wireframe 1 - shaded bots and polysolids only (booleans NOT evaluated) 2 - shaded (boo...
int s_line_width
current line width
fastf_t s_arrow_tip_length
arrow tip length
unsigned char color[3]
color to draw as
int draw_solid_lines_only
do not use dashed lines for subtraction solids
fastf_t s_arrow_tip_width
arrow tip width
fastf_t transparency
holds a transparency value in the range [0.0, 1.0] - 1 is opaque
struct bv_scene_obj * free_scene_obj
void * s_path
alternative (app specific) encoding of s_name
struct bu_vls s_uuid
object name (unique, may be less immediately clear to user)
vect_t s_center
Center point of solid, in model space.
char s_iflag
UP = illuminated, DOWN = regular.
unsigned char s_color[3]
color to draw as
void * s_i_data
custom view data (bv_line_seg, bv_label, bv_polyon, etc)
void(* s_free_callback)(struct bv_scene_obj *)
free any info stored in s_i_data, s_path and draw_data
fastf_t s_csize
Dist across clipped solid (model space)
mat_t s_mat
mat to use for internal lookup and mesh LoD drawing
char s_flag
UP = object visible, DOWN = obj invis.
fastf_t s_size
Distance across solid, in model space.
unsigned long long s_type_flags
size_t s_vlen
Number of actual cmd[] entries in vlist.
void(* s_dlist_free_callback)(struct bv_scene_obj *)
free any dlist specific data
struct bv_obj_settings s_local_os
int s_dlist_mode
drawing mode in which display list was generated (if it doesn't match s_os.s_dmode,...
struct bu_list s_vlist
Pointer to unclipped vector list.
int s_dlist_stale
set by client codes when dlist is out of date - dm must update.
struct bv_scene_obj_internal * i
int(* s_update_callback)(struct bv_scene_obj *, struct bview *, int)
custom update/generator for s_vlist
int s_displayobj
Vector list contains vertices in display context flag.
int s_arrow
arrow flag for view object drawing routines
int s_changed
changed flag - set by s_update_callback if a change occurred
int s_soldash
solid/dashed line flag: 0 = solid, 1 = dashed
unsigned int s_dlist
display list index
struct bv_scene_ob * parent
struct bu_vls s_name
object name (may not be unique, used for activities like path lookup)
struct bv_scene_obj_old_settings s_old
struct bv_obj_settings * s_os
struct bv_scene_obj * free_scene_obj
struct bu_ptbl * view_objs
struct bview_set_internal * i
struct bview_settings settings
struct bv_other_state gv_view_scale
struct bv_grid_state gv_grid
struct bv_other_state gv_view_params
struct bu_ptbl * gv_selected
struct bv_obj_settings obj_s
struct bv_axes gv_model_axes
double gv_snap_tol_factor
struct bv_axes gv_view_axes
struct bv_interactive_rect_state gv_rect
struct bv_adc_state gv_adc
struct bv_other_state gv_center_dot
struct bv_data_tclcad gv_tcl
fastf_t gv_size
2.0 * scale
struct bview_objs gv_objs
struct bview_settings * gv_s
shared settings supplied by user
fastf_t gv_isize
1.0 / size
uint32_t magic
magic number
void(* gv_callback)(struct bview *, void *)
called in ged_view_update with gvp and gv_clientData
struct bview_settings gv_ls
locally maintained settings specific to view (used if gv_s is null)
fastf_t gv_perspective
perspective angle
mat_t gv_pmat
perspective matrix
char gv_coord
coordinate system
void(* gv_bounds_update)(struct bview *)
void * gv_clientData
passed to gv_callback
struct bu_ptbl * callbacks
unsigned long gv_mod_flags
fastf_t gv_a_scale
absolute scale
char gv_rotate_about
indicates what point rotations are about
vect_t gv_eye_pos
eye position
fundamental vector, matrix, quaternion math macros