BRL-CAD
extrude.c File Reference
#include "common.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "bnetwork.h"
#include "tcl.h"
#include "bu/cv.h"
#include "bu/debug.h"
#include "vmath.h"
#include "db.h"
#include "nmg.h"
#include "rtgeom.h"
#include "raytrace.h"
#include "nurb.h"
#include "../../librt_private.h"
Include dependency graph for extrude.c:

Go to the source code of this file.

Data Structures

struct  extrude_specific
 
struct  loop_inter
 

Macros

#define MAX_HITS   64
 
#define TOP_FACE   1 /* extruded face */
 
#define BOTTOM_FACE   2 /* face in uv-plane */
 
#define LINE_SEG   3
 
#define CARC_SEG   4
 
#define NURB_SEG   5
 
#define BEZIER_SEG   6
 
#define UNKNOWN   0
 
#define A_IN_B   1
 
#define B_IN_A   2
 
#define DISJOINT   3
 
#define LOOPA   1
 
#define LOOPB   2
 

Functions

int seg_to_vlist (struct bu_list *vhead, const struct rt_tess_tol *ttol, point_t V, vect_t u_vec, vect_t v_vec, struct rt_sketch_internal *sketch_ip, void *seg)
 
void rt_sketch_surf_area (fastf_t *area, const struct rt_db_internal *ip)
 
void rt_sketch_centroid (point_t *cent, const struct rt_db_internal *ip)
 
int rt_extrude_bbox (struct rt_db_internal *ip, point_t *min, point_t *max, const struct bn_tol *tol)
 
void rt_extrude_volume (fastf_t *vol, const struct rt_db_internal *ip)
 
int rt_extrude_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
 
void rt_extrude_print (const struct soltab *stp)
 
int rt_extrude_shot (struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
 
void rt_extrude_norm (struct hit *hitp, struct soltab *stp, struct xray *rp)
 
void rt_extrude_curve (struct curvature *cvp, struct hit *hitp, struct soltab *stp)
 
void rt_extrude_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
 
void rt_extrude_free (struct soltab *stp)
 
int rt_extrude_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)
 
void rt_extrude_centroid (point_t *cent, const struct rt_db_internal *ip)
 
void get_indices (void *seg, int *start, int *end)
 
int rt_extrude_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_extrude_import4 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip, struct resource *resp)
 
int rt_extrude_export4 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
 
int rt_extrude_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
 
int rt_extrude_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
 
int rt_extrude_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
 
void rt_extrude_ifree (struct rt_db_internal *ip)
 
int rt_extrude_xform (struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp)
 
int rt_extrude_form (struct bu_vls *logstr, const struct rt_functab *ftp)
 
int rt_extrude_get (struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr)
 
int rt_extrude_adjust (struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv)
 
int rt_extrude_params (struct pc_pc_set *ps, const struct rt_db_internal *ip)
 

Detailed Description

Provide support for solids of extrusion.

Definition in file extrude.c.