BRL-CAD
qray.h
Go to the documentation of this file.
1 /* Q R A Y . H
2  * BRL-CAD
3  *
4  * Copyright (c) 2007-2014 United States Government as represented by
5  * the U.S. Army Research Laboratory.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * version 2.1 as published by the Free Software Foundation.
10  *
11  * This library is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this file; see the file named COPYING for more
18  * information.
19  */
20 /** @addtogroup libged */
21 /** @{ */
22 /** @file libged/qray.h
23  *
24  * Private header file for "Query Ray" variables.
25  *
26  */
27 /** @} */
28 
29 #include "ged.h"
30 
31 #ifndef LIBGED_QRAY_H
32 #define LIBGED_QRAY_H
33 
34 #define DG_QRAY_TEXT(_dgop) ((_dgop)->gd_qray_effects == 't' || (_dgop)->gd_qray_effects == 'b')
35 #define DG_QRAY_GRAPHICS(_dgop) ((_dgop)->gd_qray_effects == 'g' || (_dgop)->gd_qray_effects == 'b')
36 
37 #define DG_QRAY_BASENAME "query_ray"
38 #define DG_QRAY_BOTH ((_dgop)->gd_qray_effects == 'b')
39 #define DG_QRAY_FORMAT_P "fmt p \"%e %e %e %e\\n\" x_in y_in z_in los"
40 #define DG_QRAY_FORMAT_O "fmt r \"\\n\" ; fmt p \"\"; fmt o \"%e %e %e %e\\n\" ov_x_in ov_y_in ov_z_in ov_los"
41 #define DG_QRAY_FORMAT_NULL "fmt r \"\"; fmt h \"\"; fmt p \"\"; fmt m \"\"; fmt o \"\"; fmt f \"\"; fmt g \"\""
42 
43 #define DG_INV_GED 0.00048828125
44 
45 struct qray_fmt_data {
46  char type;
47  char *fmt;
48 };
49 
50 
51 struct qray_dataList {
52  struct bu_list l;
57 };
58 
59 
60 /* defined in qray.c */
61 extern void qray_init(struct ged_drawable *gdp);
62 extern void qray_free(struct ged_drawable *gdp);
63 extern void qray_data_to_vlist(struct ged *gdp, struct bn_vlblock *vbp, struct qray_dataList *headp, vect_t dir, int do_overlaps);
64 
65 #endif
66 
67 /*
68  * Local Variables:
69  * mode: C
70  * tab-width: 8
71  * indent-tabs-mode: t
72  * c-file-style: "stroustrup"
73  * End:
74  * ex: shiftwidth=4 tabstop=8
75  */
Definition: list.h:118
char * fmt
Definition: qray.h:47
Definition: ged.h:338
fastf_t x_in
Definition: qray.h:53
void qray_init(struct ged_drawable *gdp)
Definition: qray.c:424
void qray_data_to_vlist(struct ged *gdp, struct bn_vlblock *vbp, struct qray_dataList *headp, vect_t dir, int do_overlaps)
Definition: qray.c:471
struct bu_list l
Definition: qray.h:52
fastf_t z_in
Definition: qray.h:55
char type
Definition: qray.h:46
void qray_free(struct ged_drawable *gdp)
Definition: qray.c:458
fastf_t y_in
Definition: qray.h:54
double fastf_t
Definition: defines.h:300
fastf_t los
Definition: qray.h:56