rtgeom.h File Reference

Details of the internal forms used by the LIBRT geometry routines for the different solids. More...

#include "common.h"

Include dependency graph for rtgeom.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rt_tor_internal
struct  rt_tgc_internal
struct  rt_ell_internal
struct  rt_superell_internal
struct  rt_metaball_internal
struct  rt_arb_internal
struct  rt_ars_internal
struct  rt_half_internal
struct  rt_grip_internal
struct  rt_pg_internal
struct  rt_pg_internal::rt_pg_face_internal
struct  rt_ebm_internal
struct  rt_vol_internal
struct  rt_hf_internal
struct  rt_arbn_internal
struct  rt_pipe_internal
struct  rt_part_internal
struct  rt_rpc_internal
struct  rt_rhc_internal
struct  rt_epa_internal
struct  rt_ehy_internal
struct  rt_eto_internal
struct  rt_dsp_internal
struct  rt_sketch_internal
struct  rt_sketch_internal::curve
struct  rt_submodel_internal
struct  rt_extrude_internal
struct  rt_cline_internal
struct  rt_bot_internal

Defines

#define SEEN_RTGEOM_H   seen
#define NAMELEN   16
#define RT_TOR_INTERNAL_MAGIC   0x9bffed87
#define RT_TOR_CK_MAGIC(_p)   BU_CKMAG(_p,RT_TOR_INTERNAL_MAGIC,"rt_tor_internal")
#define RT_TGC_INTERNAL_MAGIC   0xaabbdd87
#define RT_TGC_CK_MAGIC(_p)   BU_CKMAG(_p,RT_TGC_INTERNAL_MAGIC,"rt_tgc_internal")
#define RT_ELL_INTERNAL_MAGIC   0x93bb23ff
#define RT_ELL_CK_MAGIC(_p)   BU_CKMAG(_p,RT_ELL_INTERNAL_MAGIC,"rt_ell_internal")
#define RT_SUPERELL_INTERNAL_MAGIC   0xff93bb23
#define RT_SUPERELL_CK_MAGIC(_p)   BU_CKMAG(_p,RT_SUPERELL_INTERNAL_MAGIC,"rt_superell_internal")
#define RT_METABALL_INTERNAL_MAGIC   0x62616c6c
#define RT_METABALL_CK_MAGIC(_p)   BU_CKMAG(_p,RT_METABALL_INTERNAL_MAGIC,"rt_metaball_internal")
#define RT_ARB_INTERNAL_MAGIC   0x9befd010
#define RT_ARB_CK_MAGIC(_p)   BU_CKMAG(_p,RT_ARB_INTERNAL_MAGIC,"rt_arb_internal")
#define RT_ARS_INTERNAL_MAGIC   0x77ddbbe3
#define RT_ARS_CK_MAGIC(_p)   BU_CKMAG(_p,RT_ARS_INTERNAL_MAGIC,"rt_ars_internal")
#define RT_HALF_INTERNAL_MAGIC   0xaa87bbdd
#define RT_HALF_CK_MAGIC(_p)   BU_CKMAG(_p,RT_HALF_INTERNAL_MAGIC,"rt_half_internal")
#define RT_GRIP_INTERNAL_MAGIC   0x31196205
#define RT_GRIP_CK_MAGIC(_p)   BU_CKMAG(_p,RT_GRIP_INTERNAL_MAGIC,"rt_grip_internal")
#define RT_PG_INTERNAL_MAGIC   0x9bfed887
#define RT_PG_CK_MAGIC(_p)   BU_CKMAG(_p,RT_PG_INTERNAL_MAGIC,"rt_pg_internal")
#define RT_NURB_GET_CONTROL_POINT(_s, _u, _v)
#define RT_EBM_NAME_LEN   256
#define RT_EBM_INTERNAL_MAGIC   0xf901b231
#define RT_EBM_CK_MAGIC(_p)   BU_CKMAG(_p,RT_EBM_INTERNAL_MAGIC,"rt_ebm_internal")
#define RT_VOL_NAME_LEN   128
#define RT_VOL_INTERNAL_MAGIC   0x987ba1d0
#define RT_VOL_CK_MAGIC(_p)   BU_CKMAG(_p,RT_VOL_INTERNAL_MAGIC,"rt_vol_internal")
#define RT_HF_INTERNAL_MAGIC   0x4846494d
#define RT_HF_CK_MAGIC(_p)   BU_CKMAG(_p,RT_HF_INTERNAL_MAGIC,"rt_hf_internal")
#define RT_ARBN_INTERNAL_MAGIC   0x18236461
#define RT_ARBN_CK_MAGIC(_p)   BU_CKMAG(_p,RT_ARBN_INTERNAL_MAGIC,"rt_arbn_internal")
#define RT_PIPE_INTERNAL_MAGIC   0x7dd7bb3e
#define RT_PIPE_CK_MAGIC(_p)   BU_CKMAG(_p,RT_PIPE_INTERNAL_MAGIC,"rt_pipe_internal")
#define RT_PART_INTERNAL_MAGIC   0xaaccee87
#define RT_PART_CK_MAGIC(_p)   BU_CKMAG(_p,RT_PART_INTERNAL_MAGIC,"rt_part_internal")
#define RT_PARTICLE_TYPE_SPHERE   1
#define RT_PARTICLE_TYPE_CYLINDER   2
#define RT_PARTICLE_TYPE_CONE   3
#define RT_RPC_INTERNAL_MAGIC   0xaaccee88
#define RT_RPC_CK_MAGIC(_p)   BU_CKMAG(_p,RT_RPC_INTERNAL_MAGIC,"rt_rpc_internal")
#define RT_RHC_INTERNAL_MAGIC   0xaaccee89
#define RT_RHC_CK_MAGIC(_p)   BU_CKMAG(_p,RT_RHC_INTERNAL_MAGIC,"rt_rhc_internal")
#define RT_EPA_INTERNAL_MAGIC   0xaaccee90
#define RT_EPA_CK_MAGIC(_p)   BU_CKMAG(_p,RT_EPA_INTERNAL_MAGIC,"rt_epa_internal")
#define RT_EHY_INTERNAL_MAGIC   0xaaccee91
#define RT_EHY_CK_MAGIC(_p)   BU_CKMAG(_p,RT_EHY_INTERNAL_MAGIC,"rt_ehy_internal")
#define RT_ETO_INTERNAL_MAGIC   0xaaccee92
#define RT_ETO_CK_MAGIC(_p)   BU_CKMAG(_p,RT_ETO_INTERNAL_MAGIC,"rt_eto_internal")
#define DSP_NAME_LEN   128
#define dsp_file   dsp_name
 for backwards compatibility
#define DSP_CUT_DIR_ADAPT   'a'
#define DSP_CUT_DIR_llUR   'l'
#define DSP_CUT_DIR_ULlr   'L'
#define RT_DSP_SRC_V4_FILE   '4'
#define RT_DSP_SRC_FILE   'f'
#define RT_DSP_SRC_OBJ   'o'
#define RT_DSP_INTERNAL_MAGIC   0xde6
#define RT_DSP_CK_MAGIC(_p)   BU_CKMAG(_p,RT_DSP_INTERNAL_MAGIC,"rt_dsp_internal")
#define SKETCH_NAME_LEN   16
#define RT_SKETCH_INTERNAL_MAGIC   0x736b6574
#define RT_SKETCH_CK_MAGIC(_p)   BU_CKMAG(_p,RT_SKETCH_INTERNAL_MAGIC,"rt_sketch_internal")
#define RT_SUBMODEL_INTERNAL_MAGIC   0x7375626d
 subm
#define RT_SUBMODEL_CK_MAGIC(_p)   BU_CKMAG(_p,RT_SUBMODEL_INTERNAL_MAGIC,"rt_submodel_internal")
#define RT_EXTRUDE_INTERNAL_MAGIC   0x65787472
#define RT_EXTRUDE_CK_MAGIC(_p)   BU_CKMAG(_p,RT_EXTRUDE_INTERNAL_MAGIC,"rt_extrude_internal")
#define RT_CLINE_INTERNAL_MAGIC   0x43767378
#define RT_CLINE_CK_MAGIC(_p)   BU_CKMAG(_p,RT_CLINE_INTERNAL_MAGIC,"rt_cline_internal")
#define RT_BOT_UNORIENTED   1
 unoriented triangles
#define RT_BOT_CCW   2
 oriented counter-clockwise
#define RT_BOT_CW   3
 oriented clockwise
#define RT_BOT_SURFACE   1
 triangles represent a surface (no volume)
#define RT_BOT_SOLID   2
 triangles respresent the boundary of a solid object
#define RT_BOT_PLATE   3
 triangles represent plates. Thicknesses are specified in "thickness" array, and face mode is specified in "face_mode" bit vector. This is the FASTGEN "plate" mode. Orientation is ignored.
#define RT_BOT_PLATE_NOCOS   4
 same as plate mode, but LOS is set equal to face thickness, not the thickness divided by the cosine of the obliquity angle
#define RT_BOT_HAS_SURFACE_NORMALS   0x1
 This primitive may have surface normals at each face vertex.
#define RT_BOT_USE_NORMALS   0x2
 Use the surface normals if they exist.
#define RT_BOT_USE_FLOATS   0x4
 Use the single precision version of "tri_specific" during prep.
#define RT_BOT_INTERNAL_MAGIC   0x626F7472
#define RT_BOT_CK_MAGIC(_p)   BU_CKMAG(_p,RT_BOT_INTERNAL_MAGIC,"rt_bot_internal")


Detailed Description

Details of the internal forms used by the LIBRT geometry routines for the different solids.

These structures are what the struct rt_db_internal generic pointer idb_ptr points at, based on idb_type indicating a solid id ID_xxx, such as ID_TGC.

Depends on having machine.h, bu.h, vmath.h, and bn.h included first.

The proper order for including them all is: # include <stdio.h> # include <math.h> # include "machine.h" # include "bu.h" # include "vmath.h" # include "nmg.h" # include "raytrace.h" # include "nurb.h" # include "rtgeom.h"

Author:
Michael John Muuss
Source
SECAD/VLD Computing Consortium, Bldg 394 The U. S. Army Ballistic Research Laboratory Aberdeen Proving Ground, Maryland 21005-5066
Header
/cvsroot/brlcad/brlcad/include/rtgeom.h,v 14.13 2006/09/18 05:24:07 lbutler Exp

Definition in file rtgeom.h.


Define Documentation

#define dsp_file   dsp_name
 

for backwards compatibility

Definition at line 411 of file rtgeom.h.

#define DSP_CUT_DIR_ADAPT   'a'
 

Definition at line 416 of file rtgeom.h.

Referenced by rt_dsp_export5(), rt_dsp_import(), rt_dsp_import5(), rt_dsp_make(), and rt_hf_to_dsp().

#define DSP_CUT_DIR_llUR   'l'
 

Definition at line 417 of file rtgeom.h.

Referenced by rt_dsp_export5(), and rt_dsp_import5().

#define DSP_CUT_DIR_ULlr   'L'
 

Definition at line 418 of file rtgeom.h.

Referenced by rt_dsp_export5(), and rt_dsp_import5().

#define RT_DSP_SRC_V4_FILE   '4'
 

Definition at line 428 of file rtgeom.h.

Referenced by rt_dsp_export5(), rt_dsp_free(), rt_dsp_import5(), rt_dsp_norm(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_shot(), rt_dsp_tcladjust(), and rt_dsp_tclget().

#define RT_DSP_SRC_FILE   'f'
 

Definition at line 429 of file rtgeom.h.

Referenced by rt_dsp_export5(), rt_dsp_free(), rt_dsp_import5(), rt_dsp_make(), rt_dsp_norm(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_shot(), rt_dsp_tcladjust(), rt_dsp_tclget(), and rt_hf_to_dsp().

#define RT_DSP_SRC_OBJ   'o'
 

Definition at line 430 of file rtgeom.h.

Referenced by rt_dsp_export5(), rt_dsp_free(), rt_dsp_import5(), rt_dsp_norm(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_shot(), rt_dsp_tcladjust(), rt_dsp_tclget(), and wdb_node_write().


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