dynamic_geometry.c File Reference
`#include "common.h"`
`#include <math.h>`
`#include <string.h>`
`#include "bio.h"`
`#include "vmath.h"`
`#include "bn.h"`
`#include "raytrace.h"`
`#include "wdb.h"`
Include dependency graph for dynamic_geometry.c:

Go to the source code of this file.

## Functions

int make_hole (struct rt_wdb *wdbp, point_t hole_start, vect_t hole_depth, fastf_t hole_radius, int num_objs, struct directory **dp)

int make_hole_in_prepped_regions (struct rt_wdb *wdbp, struct rt_i *rtip, point_t hole_start, vect_t hole_depth, fastf_t radius, struct bu_ptbl *regions)

## Detailed Description

The typical use of dynamic geometry involves these steps:

1. Normal use of " db_dirbuild", "gettrees", and "prep".
2. Call "wdb_dbopen" to get a "struct rt_wdb" pointer for the database (typically using the RT_WDB_TYPE_DB_INMEM flag)
3. Create and fill an "rt_reprep_obj_list" structure.
4. Call "rt_unprep" and pass it the "rt_reprep_obj_list" structure.
5. Modify geometry (note, you may only modify geometry that you listed in the "rt_reprep_obj_list" as "unprepped"). You may add, remove, modify, translate, rotate, scale objects under the "unprepped" combinations. (Use the "make_hole" routine here).
6. Call "rt_reprep" with same parameters as you called "rt_unprep".
7. If you are using liboptical, call "view_re_setup" to setup shaders for regions involved.
8. Do raytracing.

If you only need to make holes, a simpler and quicker approach is to use the "make_hole_in_prepped_regions" routine:

Steps 1 and 2 are the same as above, then 3. Call "make_hole" and

1. Do raytracing.

Definition in file dynamic_geometry.c.
{"ft_lang_label":"__label__en","ft_lang_prob":0.70322436,"math_prob":0.4177363,"size":867,"snap":"2020-45-2020-50","text_gpt3_token_len":238,"char_repetition_ratio":0.15643105,"word_repetition_ratio":0.017857144,"special_character_ratio":0.25490198,"punctuation_ratio":0.18589744,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9770039,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2020-11-24T01:32:55Z\",\"WARC-Record-ID\":\"<urn:uuid:6118d2d9-6f49-4c88-9beb-5d187b076363>\",\"Content-Length\":\"9956\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:1855786f-07e6-409f-908d-3d80af2b0b8b>\",\"WARC-Concurrent-To\":\"<urn:uuid:b04c752c-015e-4bb2-a08b-0cc761bf1a13>\",\"WARC-IP-Address\":\"104.225.5.10\",\"WARC-Target-URI\":\"https://brlcad.org/docs/doxygen-r64112/db/da5/dynamic__geometry_8c.xhtml\",\"WARC-Payload-Digest\":\"sha1:B4VTF3NAHPQLKWEGQBH44LKST2O4CFUN\",\"WARC-Block-Digest\":\"sha1:32MQUBUHRDLI3JLQY64G5MTPQ5C56BHW\",\"WARC-Identified-Payload-Type\":\"application/xhtml+xml\",\"warc_filename\":\"/cc_download/warc_2020/CC-MAIN-2020-50/CC-MAIN-2020-50_segments_1606141169606.2_warc_CC-MAIN-20201124000351-20201124030351-00151.warc.gz\"}"}