#include "common.h"
#include <stdlib.h>
#include <stdio.h>
#include <strings.h>
#include <math.h>
#include <ctype.h>
#include "tcl.h"
#include "machine.h"
#include "vmath.h"
#include "db.h"
#include "nmg.h"
#include "rtgeom.h"
#include "raytrace.h"
#include "./debug.h"
#include "./plane.h"
#include "./bot.h"
#include "./g_bot_include.c"
Include dependency graph for g_bot.c:
Go to the source code of this file.
Data Structures | |
struct | bot_edge |
Defines | |
#define | GLUE(_a, _b) _a ## _b |
#define | XGLUE(_a, _b) GLUE(_a,_b) |
#define | MAXHITS 128 |
#define | BOT_MIN_DN 1.0e-9 |
#define | RT_BOT_UNORIENTED_NORM(_hitp, _in_or_out) |
#define | TRI_TYPE float |
#define | NORM_TYPE signed char |
#define | NORMAL_SCALE 127.0 |
#define | ONE_OVER_SCALE (1.0/127.0) |
#define | TRI_TYPE double |
#define | NORM_TYPE fastf_t |
#define | NORMAL_SCALE 1.0 |
#define | ONE_OVER_SCALE 1.0 |
#define | RT_BOT_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | MAX_AFFECTED_FACES 128 |
Functions | |
HIDDEN int | rt_bot_makesegs (struct hit *hits, int nhits, struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead, struct rt_piecestate *psp) |
int | rt_botface_w_normals (struct soltab *stp, struct bot_specific *bot, fastf_t *ap, fastf_t *bp, fastf_t *cp, fastf_t *vertex_normals, int face_no, const struct bn_tol *tol) |
int | rt_botface (struct soltab *stp, struct bot_specific *bot, fastf_t *ap, fastf_t *bp, fastf_t *cp, int face_no, const struct bn_tol *tol) |
void | rt_bot_prep_pieces (struct bot_specific *bot, struct soltab *stp, int ntri, const struct bn_tol *tol) |
int | rt_bot_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_bot_print (register const struct soltab *stp) |
int | rt_bot_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
int | rt_bot_piece_shot (struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_bot_piece_hitsegs (struct rt_piecestate *psp, struct seg *seghead, struct application *ap) |
void | rt_bot_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_bot_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_bot_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_bot_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_bot_free (register struct soltab *stp) |
int | rt_bot_class (const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol) |
int | rt_bot_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_bot_plot_poly (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_bot_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_bot_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_bot_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_bot_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_bot_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_bot_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_bot_ifree (struct rt_db_internal *ip) |
int | rt_bot_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol) |
int | rt_bot_xform (struct rt_db_internal *op, const fastf_t *mat, struct rt_db_internal *ip, const int free, struct db_i *dbip) |
int | rt_bot_find_v_nearest_pt2 (const struct rt_bot_internal *bot, const point_t pt2, const mat_t mat) |
int | rt_bot_edge_in_list (const int v1, const int v2, const int edge_list[], const int edge_count) |
int | rt_bot_find_e_nearest_pt2 (int *vert1, int *vert2, const struct rt_bot_internal *bot, const point_t pt2, const mat_t mat) |
int | rt_bot_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_bot_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_bot_tclform (const struct rt_functab *ftp, Tcl_Interp *interp) |
int | rt_bot_vertex_fuse (struct rt_bot_internal *bot) |
int | rt_bot_same_orientation (const int *a, const int *b) |
int | rt_bot_face_fuse (struct rt_bot_internal *bot) |
int | rt_bot_condense (struct rt_bot_internal *bot) |
int | find_closest_face (fastf_t **centers, int *piece, int *old_faces, int num_faces, fastf_t *vertices) |
void | Add_unique_verts (int *piece_verts, int *v) |
int | rt_bot_sort_faces (struct rt_bot_internal *bot, int tris_per_piece) |
int | rt_bot_decimate (struct rt_bot_internal *bot, fastf_t max_chord_error, fastf_t max_normal_error, fastf_t min_edge_length) |
int | rt_smooth_bot (struct rt_bot_internal *bot, char *bot_name, struct db_i *dbip, fastf_t norm_tol_angle) |
Variables | |
int | rt_bot_minpieces = RT_DEFAULT_MINPIECES |
int | rt_bot_tri_per_piece = RT_DEFAULT_TRIS_PER_PIECE |
Authors - John R. Anderson Source - The U. S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5066
Definition in file g_bot.c.