BRL-CAD

Routines supporting reading and writing version 5 of the BRL-CAD geometry database. More...

Collaboration diagram for Database Version 5:

Files

file  db5.h
 Definition of the BRL-CAD "v5" database format used for new ".g" files.
 

Data Structures

struct  db5_ondisk_header
 
struct  db5_raw_internal
 

Macros

#define DB5HDR_MAGIC1   0x76 /* 'v' */
 
#define DB5HDR_MAGIC2   0x35 /* '5' */
 
#define DB5HDR_HFLAGS_DLI_MASK   0x03
 
#define DB5HDR_HFLAGS_DLI_APPLICATION_DATA_OBJECT   0
 
#define DB5HDR_HFLAGS_DLI_HEADER_OBJECT   1
 
#define DB5HDR_HFLAGS_DLI_FREE_STORAGE   2
 
#define DB5HDR_HFLAGS_HIDDEN_OBJECT   0x4
 
#define DB5HDR_HFLAGS_NAME_PRESENT   0x20
 
#define DB5HDR_HFLAGS_OBJECT_WIDTH_MASK   0xc0
 
#define DB5HDR_HFLAGS_OBJECT_WIDTH_SHIFT   6
 
#define DB5HDR_HFLAGS_NAME_WIDTH_MASK   0x18
 
#define DB5HDR_HFLAGS_NAME_WIDTH_SHIFT   3
 
#define DB5HDR_WIDTHCODE_8BIT   0
 
#define DB5HDR_WIDTHCODE_16BIT   1
 
#define DB5HDR_WIDTHCODE_32BIT   2
 
#define DB5HDR_WIDTHCODE_64BIT   3
 
#define DB5HDR_AFLAGS_ZZZ_MASK   0x07
 
#define DB5HDR_AFLAGS_PRESENT   0x20
 
#define DB5HDR_AFLAGS_WIDTH_MASK   0xc0
 
#define DB5HDR_AFLAGS_WIDTH_SHIFT   6
 
#define DB5HDR_BFLAGS_ZZZ_MASK   0x07
 
#define DB5HDR_BFLAGS_PRESENT   0x20
 
#define DB5HDR_BFLAGS_WIDTH_MASK   0xc0
 
#define DB5HDR_BFLAGS_WIDTH_SHIFT   6
 
#define DB5_GLOBAL_OBJECT_NAME   "_GLOBAL"
 
#define DB5_ZZZ_UNCOMPRESSED   0
 
#define DB5_ZZZ_GNU_GZIP   1
 
#define DB5_ZZZ_BURROUGHS_WHEELER   2
 
#define DB5_MAJORTYPE_RESERVED   0
 
#define DB5_MAJORTYPE_BRLCAD   1
 
#define DB5_MAJORTYPE_ATTRIBUTE_ONLY   2
 
#define DB5_MAJORTYPE_BINARY_MASK   0x18
 
#define DB5_MAJORTYPE_BINARY_UNIF   9
 
#define DB5_MAJORTYPE_BINARY_MIME   10
 
#define DB5_MINORTYPE_RESERVED   0
 
#define DB5_MINORTYPE_BRLCAD_TOR   1
 
#define DB5_MINORTYPE_BRLCAD_TGC   2
 
#define DB5_MINORTYPE_BRLCAD_ELL   3
 
#define DB5_MINORTYPE_BRLCAD_ARB8   4
 
#define DB5_MINORTYPE_BRLCAD_ARS   5
 
#define DB5_MINORTYPE_BRLCAD_HALF   6
 
#define DB5_MINORTYPE_BRLCAD_REC   7
 
#define DB5_MINORTYPE_BRLCAD_POLY   8
 
#define DB5_MINORTYPE_BRLCAD_BSPLINE   9
 
#define DB5_MINORTYPE_BRLCAD_SPH   10
 
#define DB5_MINORTYPE_BRLCAD_NMG   11
 
#define DB5_MINORTYPE_BRLCAD_EBM   12
 
#define DB5_MINORTYPE_BRLCAD_VOL   13
 
#define DB5_MINORTYPE_BRLCAD_ARBN   14
 
#define DB5_MINORTYPE_BRLCAD_PIPE   15
 
#define DB5_MINORTYPE_BRLCAD_PARTICLE   16
 
#define DB5_MINORTYPE_BRLCAD_RPC   17
 
#define DB5_MINORTYPE_BRLCAD_RHC   18
 
#define DB5_MINORTYPE_BRLCAD_EPA   19
 
#define DB5_MINORTYPE_BRLCAD_EHY   20
 
#define DB5_MINORTYPE_BRLCAD_ETO   21
 
#define DB5_MINORTYPE_BRLCAD_GRIP   22
 
#define DB5_MINORTYPE_BRLCAD_JOINT   23
 
#define DB5_MINORTYPE_BRLCAD_HF   24
 
#define DB5_MINORTYPE_BRLCAD_DSP   25
 
#define DB5_MINORTYPE_BRLCAD_SKETCH   26
 
#define DB5_MINORTYPE_BRLCAD_EXTRUDE   27
 
#define DB5_MINORTYPE_BRLCAD_SUBMODEL   28
 
#define DB5_MINORTYPE_BRLCAD_CLINE   29
 
#define DB5_MINORTYPE_BRLCAD_BOT   30
 
#define DB5_MINORTYPE_BRLCAD_COMBINATION   31
 
#define DB5_MINORTYPE_BRLCAD_SUPERELL   35
 
#define DB5_MINORTYPE_BRLCAD_METABALL   36
 
#define DB5_MINORTYPE_BRLCAD_BREP   37
 
#define DB5_MINORTYPE_BRLCAD_HYP   38
 
#define DB5_MINORTYPE_BRLCAD_CONSTRAINT   39
 
#define DB5_MINORTYPE_BRLCAD_REVOLVE   40
 
#define DB5_MINORTYPE_BRLCAD_PNTS   41
 
#define DB5_MINORTYPE_BRLCAD_ANNOT   42
 
#define DB5_MINORTYPE_BRLCAD_HRT   43
 
#define DB5_MINORTYPE_BRLCAD_DATUM   44
 
#define DB5_MINORTYPE_BRLCAD_SCRIPT   45
 
#define DB5_MINORTYPE_BRLCAD_MATERIAL   46
 
#define DB5_MINORTYPE_BINU_WID_MASK   0x30
 
#define DB5_MINORTYPE_BINU_SGN_MASK   0x08
 
#define DB5_MINORTYPE_BINU_ATM_MASK   0x07
 
#define DB5_MINORTYPE_BINU_FLOAT   0x02
 
#define DB5_MINORTYPE_BINU_DOUBLE   0x03
 
#define DB5_MINORTYPE_BINU_8BITINT_U   0x04
 
#define DB5_MINORTYPE_BINU_16BITINT_U   0x05
 
#define DB5_MINORTYPE_BINU_32BITINT_U   0x06
 
#define DB5_MINORTYPE_BINU_64BITINT_U   0x07
 
#define DB5_MINORTYPE_BINU_8BITINT   0x0c
 
#define DB5_MINORTYPE_BINU_16BITINT   0x0d
 
#define DB5_MINORTYPE_BINU_32BITINT   0x0e
 
#define DB5_MINORTYPE_BINU_64BITINT   0x0f
 
#define RT_CK_RIP(_ptr)   BU_CKMAG( _ptr, DB5_RAW_INTERNAL_MAGIC, "db5_raw_internal" )
 

Variables

const char * binu_types []
 

Detailed Description

Routines supporting reading and writing version 5 of the BRL-CAD geometry database.

Macro Definition Documentation

◆ DB5HDR_MAGIC1

#define DB5HDR_MAGIC1   0x76 /* 'v' */

Definition at line 67 of file db5.h.

◆ DB5HDR_MAGIC2

#define DB5HDR_MAGIC2   0x35 /* '5' */

Definition at line 68 of file db5.h.

◆ DB5HDR_HFLAGS_DLI_MASK

#define DB5HDR_HFLAGS_DLI_MASK   0x03

Definition at line 71 of file db5.h.

◆ DB5HDR_HFLAGS_DLI_APPLICATION_DATA_OBJECT

#define DB5HDR_HFLAGS_DLI_APPLICATION_DATA_OBJECT   0

Definition at line 72 of file db5.h.

◆ DB5HDR_HFLAGS_DLI_HEADER_OBJECT

#define DB5HDR_HFLAGS_DLI_HEADER_OBJECT   1

Definition at line 73 of file db5.h.

◆ DB5HDR_HFLAGS_DLI_FREE_STORAGE

#define DB5HDR_HFLAGS_DLI_FREE_STORAGE   2

Definition at line 74 of file db5.h.

◆ DB5HDR_HFLAGS_HIDDEN_OBJECT

#define DB5HDR_HFLAGS_HIDDEN_OBJECT   0x4

Definition at line 75 of file db5.h.

◆ DB5HDR_HFLAGS_NAME_PRESENT

#define DB5HDR_HFLAGS_NAME_PRESENT   0x20

Definition at line 76 of file db5.h.

◆ DB5HDR_HFLAGS_OBJECT_WIDTH_MASK

#define DB5HDR_HFLAGS_OBJECT_WIDTH_MASK   0xc0

Definition at line 77 of file db5.h.

◆ DB5HDR_HFLAGS_OBJECT_WIDTH_SHIFT

#define DB5HDR_HFLAGS_OBJECT_WIDTH_SHIFT   6

Definition at line 78 of file db5.h.

◆ DB5HDR_HFLAGS_NAME_WIDTH_MASK

#define DB5HDR_HFLAGS_NAME_WIDTH_MASK   0x18

Definition at line 79 of file db5.h.

◆ DB5HDR_HFLAGS_NAME_WIDTH_SHIFT

#define DB5HDR_HFLAGS_NAME_WIDTH_SHIFT   3

Definition at line 80 of file db5.h.

◆ DB5HDR_WIDTHCODE_8BIT

#define DB5HDR_WIDTHCODE_8BIT   0

Definition at line 82 of file db5.h.

◆ DB5HDR_WIDTHCODE_16BIT

#define DB5HDR_WIDTHCODE_16BIT   1

Definition at line 83 of file db5.h.

◆ DB5HDR_WIDTHCODE_32BIT

#define DB5HDR_WIDTHCODE_32BIT   2

Definition at line 84 of file db5.h.

◆ DB5HDR_WIDTHCODE_64BIT

#define DB5HDR_WIDTHCODE_64BIT   3

Definition at line 85 of file db5.h.

◆ DB5HDR_AFLAGS_ZZZ_MASK

#define DB5HDR_AFLAGS_ZZZ_MASK   0x07

Definition at line 88 of file db5.h.

◆ DB5HDR_AFLAGS_PRESENT

#define DB5HDR_AFLAGS_PRESENT   0x20

Definition at line 89 of file db5.h.

◆ DB5HDR_AFLAGS_WIDTH_MASK

#define DB5HDR_AFLAGS_WIDTH_MASK   0xc0

Definition at line 90 of file db5.h.

◆ DB5HDR_AFLAGS_WIDTH_SHIFT

#define DB5HDR_AFLAGS_WIDTH_SHIFT   6

Definition at line 91 of file db5.h.

◆ DB5HDR_BFLAGS_ZZZ_MASK

#define DB5HDR_BFLAGS_ZZZ_MASK   0x07

Definition at line 94 of file db5.h.

◆ DB5HDR_BFLAGS_PRESENT

#define DB5HDR_BFLAGS_PRESENT   0x20

Definition at line 95 of file db5.h.

◆ DB5HDR_BFLAGS_WIDTH_MASK

#define DB5HDR_BFLAGS_WIDTH_MASK   0xc0

Definition at line 96 of file db5.h.

◆ DB5HDR_BFLAGS_WIDTH_SHIFT

#define DB5HDR_BFLAGS_WIDTH_SHIFT   6

Definition at line 97 of file db5.h.

◆ DB5_GLOBAL_OBJECT_NAME

#define DB5_GLOBAL_OBJECT_NAME   "_GLOBAL"

Definition at line 108 of file db5.h.

◆ DB5_ZZZ_UNCOMPRESSED

#define DB5_ZZZ_UNCOMPRESSED   0

Definition at line 111 of file db5.h.

◆ DB5_ZZZ_GNU_GZIP

#define DB5_ZZZ_GNU_GZIP   1

Definition at line 112 of file db5.h.

◆ DB5_ZZZ_BURROUGHS_WHEELER

#define DB5_ZZZ_BURROUGHS_WHEELER   2

Definition at line 113 of file db5.h.

◆ DB5_MAJORTYPE_RESERVED

#define DB5_MAJORTYPE_RESERVED   0

Definition at line 117 of file db5.h.

◆ DB5_MAJORTYPE_BRLCAD

#define DB5_MAJORTYPE_BRLCAD   1

Definition at line 118 of file db5.h.

◆ DB5_MAJORTYPE_ATTRIBUTE_ONLY

#define DB5_MAJORTYPE_ATTRIBUTE_ONLY   2

Definition at line 119 of file db5.h.

◆ DB5_MAJORTYPE_BINARY_MASK

#define DB5_MAJORTYPE_BINARY_MASK   0x18

Definition at line 120 of file db5.h.

◆ DB5_MAJORTYPE_BINARY_UNIF

#define DB5_MAJORTYPE_BINARY_UNIF   9

Definition at line 121 of file db5.h.

◆ DB5_MAJORTYPE_BINARY_MIME

#define DB5_MAJORTYPE_BINARY_MIME   10

Definition at line 122 of file db5.h.

◆ DB5_MINORTYPE_RESERVED

#define DB5_MINORTYPE_RESERVED   0

Definition at line 128 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_TOR

#define DB5_MINORTYPE_BRLCAD_TOR   1

Definition at line 129 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_TGC

#define DB5_MINORTYPE_BRLCAD_TGC   2

Definition at line 130 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ELL

#define DB5_MINORTYPE_BRLCAD_ELL   3

Definition at line 131 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ARB8

#define DB5_MINORTYPE_BRLCAD_ARB8   4

Definition at line 132 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ARS

#define DB5_MINORTYPE_BRLCAD_ARS   5

Definition at line 133 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_HALF

#define DB5_MINORTYPE_BRLCAD_HALF   6

Definition at line 134 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_REC

#define DB5_MINORTYPE_BRLCAD_REC   7

Definition at line 135 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_POLY

#define DB5_MINORTYPE_BRLCAD_POLY   8

Definition at line 136 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_BSPLINE

#define DB5_MINORTYPE_BRLCAD_BSPLINE   9

Definition at line 137 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_SPH

#define DB5_MINORTYPE_BRLCAD_SPH   10

Definition at line 138 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_NMG

#define DB5_MINORTYPE_BRLCAD_NMG   11

Definition at line 139 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_EBM

#define DB5_MINORTYPE_BRLCAD_EBM   12

Definition at line 140 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_VOL

#define DB5_MINORTYPE_BRLCAD_VOL   13

Definition at line 141 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ARBN

#define DB5_MINORTYPE_BRLCAD_ARBN   14

Definition at line 142 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_PIPE

#define DB5_MINORTYPE_BRLCAD_PIPE   15

Definition at line 143 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_PARTICLE

#define DB5_MINORTYPE_BRLCAD_PARTICLE   16

Definition at line 144 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_RPC

#define DB5_MINORTYPE_BRLCAD_RPC   17

Definition at line 145 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_RHC

#define DB5_MINORTYPE_BRLCAD_RHC   18

Definition at line 146 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_EPA

#define DB5_MINORTYPE_BRLCAD_EPA   19

Definition at line 147 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_EHY

#define DB5_MINORTYPE_BRLCAD_EHY   20

Definition at line 148 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ETO

#define DB5_MINORTYPE_BRLCAD_ETO   21

Definition at line 149 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_GRIP

#define DB5_MINORTYPE_BRLCAD_GRIP   22

Definition at line 150 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_JOINT

#define DB5_MINORTYPE_BRLCAD_JOINT   23

Definition at line 151 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_HF

#define DB5_MINORTYPE_BRLCAD_HF   24

Definition at line 152 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_DSP

#define DB5_MINORTYPE_BRLCAD_DSP   25

Definition at line 153 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_SKETCH

#define DB5_MINORTYPE_BRLCAD_SKETCH   26

Definition at line 154 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_EXTRUDE

#define DB5_MINORTYPE_BRLCAD_EXTRUDE   27

Definition at line 155 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_SUBMODEL

#define DB5_MINORTYPE_BRLCAD_SUBMODEL   28

Definition at line 156 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_CLINE

#define DB5_MINORTYPE_BRLCAD_CLINE   29

Definition at line 157 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_BOT

#define DB5_MINORTYPE_BRLCAD_BOT   30

Definition at line 158 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_COMBINATION

#define DB5_MINORTYPE_BRLCAD_COMBINATION   31

Definition at line 159 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_SUPERELL

#define DB5_MINORTYPE_BRLCAD_SUPERELL   35

Definition at line 163 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_METABALL

#define DB5_MINORTYPE_BRLCAD_METABALL   36

Definition at line 164 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_BREP

#define DB5_MINORTYPE_BRLCAD_BREP   37

Definition at line 165 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_HYP

#define DB5_MINORTYPE_BRLCAD_HYP   38

Definition at line 166 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_CONSTRAINT

#define DB5_MINORTYPE_BRLCAD_CONSTRAINT   39

Definition at line 168 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_REVOLVE

#define DB5_MINORTYPE_BRLCAD_REVOLVE   40

Definition at line 170 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_PNTS

#define DB5_MINORTYPE_BRLCAD_PNTS   41

Definition at line 171 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_ANNOT

#define DB5_MINORTYPE_BRLCAD_ANNOT   42

Definition at line 172 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_HRT

#define DB5_MINORTYPE_BRLCAD_HRT   43

Definition at line 173 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_DATUM

#define DB5_MINORTYPE_BRLCAD_DATUM   44

Definition at line 174 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_SCRIPT

#define DB5_MINORTYPE_BRLCAD_SCRIPT   45

Definition at line 175 of file db5.h.

◆ DB5_MINORTYPE_BRLCAD_MATERIAL

#define DB5_MINORTYPE_BRLCAD_MATERIAL   46

Definition at line 176 of file db5.h.

◆ DB5_MINORTYPE_BINU_WID_MASK

#define DB5_MINORTYPE_BINU_WID_MASK   0x30

Definition at line 179 of file db5.h.

◆ DB5_MINORTYPE_BINU_SGN_MASK

#define DB5_MINORTYPE_BINU_SGN_MASK   0x08

Definition at line 180 of file db5.h.

◆ DB5_MINORTYPE_BINU_ATM_MASK

#define DB5_MINORTYPE_BINU_ATM_MASK   0x07

Definition at line 181 of file db5.h.

◆ DB5_MINORTYPE_BINU_FLOAT

#define DB5_MINORTYPE_BINU_FLOAT   0x02

Definition at line 182 of file db5.h.

◆ DB5_MINORTYPE_BINU_DOUBLE

#define DB5_MINORTYPE_BINU_DOUBLE   0x03

Definition at line 183 of file db5.h.

◆ DB5_MINORTYPE_BINU_8BITINT_U

#define DB5_MINORTYPE_BINU_8BITINT_U   0x04

Definition at line 184 of file db5.h.

◆ DB5_MINORTYPE_BINU_16BITINT_U

#define DB5_MINORTYPE_BINU_16BITINT_U   0x05

Definition at line 185 of file db5.h.

◆ DB5_MINORTYPE_BINU_32BITINT_U

#define DB5_MINORTYPE_BINU_32BITINT_U   0x06

Definition at line 186 of file db5.h.

◆ DB5_MINORTYPE_BINU_64BITINT_U

#define DB5_MINORTYPE_BINU_64BITINT_U   0x07

Definition at line 187 of file db5.h.

◆ DB5_MINORTYPE_BINU_8BITINT

#define DB5_MINORTYPE_BINU_8BITINT   0x0c

Definition at line 188 of file db5.h.

◆ DB5_MINORTYPE_BINU_16BITINT

#define DB5_MINORTYPE_BINU_16BITINT   0x0d

Definition at line 189 of file db5.h.

◆ DB5_MINORTYPE_BINU_32BITINT

#define DB5_MINORTYPE_BINU_32BITINT   0x0e

Definition at line 190 of file db5.h.

◆ DB5_MINORTYPE_BINU_64BITINT

#define DB5_MINORTYPE_BINU_64BITINT   0x0f

Definition at line 191 of file db5.h.

◆ RT_CK_RIP

#define RT_CK_RIP (   _ptr)    BU_CKMAG( _ptr, DB5_RAW_INTERNAL_MAGIC, "db5_raw_internal" )

Definition at line 223 of file db5.h.

Variable Documentation

◆ binu_types

const char* binu_types[]
extern