BRL-CAD
#include "common.h"
#include <stdlib.h>
#include <stddef.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include "bio.h"
#include "tcl.h"
#include "bu/parallel.h"
#include "vmath.h"
#include "db.h"
#include "nmg.h"
#include "rtgeom.h"
#include "raytrace.h"
#include "../fixpt.h"
Include dependency graph for ebm.c:

Go to the source code of this file.

Data Structures

struct  rt_ebm_specific
 
struct  ebm_hit_private
 
struct  ebm_edge
 

Macros

#define RT_EBM_NULL   ((struct rt_ebm_specific *)0)
 
#define RT_EBM_O(m)   bu_offsetof(struct rt_ebm_internal, m)
 
#define NORM_ZPOS   3
 
#define NORM_YPOS   2
 
#define NORM_XPOS   1
 
#define NORM_XNEG   (-1)
 
#define NORM_YNEG   (-2)
 
#define NORM_ZNEG   (-3)
 
#define BIT_XWIDEN   2
 
#define BIT_YWIDEN   2
 
#define BIT(_eip, _xx, _yy)   ((unsigned char *)((_eip)->mp->apbuf))[ ((_yy)+BIT_YWIDEN)*((_eip)->xdim + BIT_XWIDEN*2)+(_xx)+BIT_XWIDEN ]
 

Functions

int rt_ebm_dda (struct xray *rp, struct soltab *stp, struct application *ap, struct seg *seghead)
 
int rt_seg_planeclip (struct seg *out_hd, struct seg *in_hd, vect_t out_norm, fastf_t in, fastf_t out, struct xray *rp, struct application *ap)
 
void rt_ebm_centroid (point_t *cent, const struct rt_db_internal *ip)
 
int rt_seg_planeclip (struct seg *out_hd, struct seg *in_hd, fastf_t *out_norm, fastf_t in, fastf_t out, struct xray *rp, struct application *ap)
 
int rt_ebm_dda (register struct xray *rp, struct soltab *stp, struct application *ap, struct seg *seghead)
 
int rt_ebm_import4 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
 
int rt_ebm_export4 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
 
int rt_ebm_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
 
int rt_ebm_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
 
int rt_ebm_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
 
void rt_ebm_ifree (struct rt_db_internal *ip)
 
int rt_ebm_bbox (struct rt_db_internal *ip, point_t *min, point_t *max, const struct bn_tol *tol)
 
int rt_ebm_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
 
void rt_ebm_print (register const struct soltab *stp)
 
int rt_ebm_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
 
void rt_ebm_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp)
 
void rt_ebm_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
 
void rt_ebm_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
 
void rt_ebm_free (struct soltab *stp)
 
void rt_ebm_plate (int x_1, int y_1, int x_2, int y_2, double t, register fastf_t *mat, register struct bu_list *vhead)
 
int rt_ebm_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
 
int rt_ebm_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
 
int rt_ebm_get (struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr)
 
int rt_ebm_adjust (struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv)
 
int rt_ebm_form (struct bu_vls *logstr, const struct rt_functab *ftp)
 
void rt_ebm_make (const struct rt_functab *ftp, struct rt_db_internal *intern)
 
int rt_ebm_params (struct pc_pc_set *ps, const struct rt_db_internal *ip)
 
void rt_ebm_surf_area (fastf_t *area, const struct rt_db_internal *ip)
 

Variables

const struct bu_structparse rt_ebm_parse []
 

Detailed Description

Intersect a ray with an Extruded Bitmap, where the bitmap is taken from a bw(5) file.

Definition in file ebm.c.