g_ell.c File Reference

#include "common.h"
#include <stddef.h>
#include <stdio.h>
#include <strings.h>
#include <math.h>
#include "machine.h"
#include "vmath.h"
#include "db.h"
#include "nmg.h"
#include "raytrace.h"
#include "nurb.h"
#include "rtgeom.h"
#include "./debug.h"
#include "noalias.h"

Include dependency graph for g_ell.c:

Go to the source code of this file.

Data Structures

struct  ell_specific
struct  ell_state
struct  ell_vert_strip

Defines

#define ELL_NULL   ((struct ell_specific *)0)
#define RT_ELL_SEG_MISS(SEG)   (SEG).seg_stp=RT_SOLTAB_NULL
#define ELLOUT(n)   ov+(n-1)*3
#define M(x, y, z, w)

Functions

int rt_sph_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
int rt_ell_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
void rt_ell_print (register const struct soltab *stp)
int rt_ell_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
void rt_ell_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
void rt_ell_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp)
void rt_ell_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
void rt_ell_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
void rt_ell_free (register struct soltab *stp)
int rt_ell_class (void)
void rt_ell_16pts (register fastf_t *ov, register fastf_t *V, fastf_t *A, fastf_t *B)
int rt_ell_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
int rt_ell_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_ell_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
int rt_ell_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
int rt_ell_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
int rt_ell_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
int rt_ell_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
void rt_ell_ifree (struct rt_db_internal *ip)
int rt_ell_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol)

Variables

const struct bu_structparse rt_ell_parse []


Detailed Description

Intersect a ray with a Generalized Ellipsoid.

Authors - Edwin O. Davisson (Analysis) Michael John Muuss (Programming) Peter F. Stiller (Curvature Analysis) Phillip Dykstra (RPPs, Curvature) Dave Becker (Vectorization)

Source - SECAD/VLD Computing Consortium, Bldg 394 The U. S. Army Ballistic Research Laboratory Aberdeen Proving Ground, Maryland 21005

Definition in file g_ell.c.


Define Documentation

#define M x,
y,
z,
 ) 
 

Value:

{ \
        *op++ = m[ 0]*(x) + m[ 1]*(y) + m[ 2]*(z) + m[ 3]*(w);\
        *op++ = m[ 4]*(x) + m[ 5]*(y) + m[ 6]*(z) + m[ 7]*(w);\
        *op++ = m[ 8]*(x) + m[ 9]*(y) + m[10]*(z) + m[11]*(w);\
        *op++ = m[12]*(x) + m[13]*(y) + m[14]*(z) + m[15]*(w); }


Generated on Mon Sep 18 01:25:05 2006 for BRL-CAD by  doxygen 1.4.6