#include <body.H>
Inheritance diagram for BODY:
Public Types | |
enum | ref_img_t { REF_IMG_NONE = 0, REF_IMG_ID = 1, REF_IMG_COLOR = 2, REF_IMG_COLOR_2 = 4, REF_IMG_ID_PRE1 = 8, REF_IMG_ID_PRE2 = 16, REF_IMG_ID_PRE3 = 32, REF_IMG_ID_PRE4 = 64, REF_IMG_TEX_MEM = 128 } |
Public Member Functions | |
BODY () | |
virtual | ~BODY () |
virtual CTAGlist & | tags () const |
virtual BODYptr | copy (int y=1) const =0 |
virtual double | nearest (mlib::CWtransf &, mlib::CWpt &, double) |
virtual int | intersect (RAYhit &r, mlib::CWtransf &xf, mlib::Wpt &near, mlib::Wvec &n, double &d, double &d2d, mlib::XYpt &uvc) const =0 |
int | intersect (RAYhit &r, mlib::CWtransf &xf) const |
int | intersect (RAYhit &r) const |
virtual void | transform (mlib::CWtransf &xform, CMOD &)=0 |
virtual BODY * | subtract (BODYptr &subtractor)=0 |
virtual BODY * | intersect (BODYptr &intersector)=0 |
virtual BODY * | combine (BODYptr &unionor)=0 |
virtual mlib::CEDGElist & | body_edges ()=0 |
virtual mlib::CWpt_list & | vertices ()=0 |
virtual void | set_vertices (mlib::CWpt_list &)=0 |
virtual void | triangulate (mlib::Wpt_list &verts, FACElist &faces) |
virtual void | changed ()=0 |
virtual void | set_geom (GEOM *) |
virtual int | uv_able () const |
METHS: Texture stuff. | |
virtual int | can_set_uv () const |
virtual void | set_texcoords (mlib::CXYpt_list &) |
virtual mlib::CXYpt_list & | get_texcoords () |
virtual BODYptr | body_copy (int y=1) |
virtual CBBOX & | get_bb ()=0 |
bool | bb_valid () const |
virtual DATA_ITEM * | dup () const =0 |
DEFINE_RTTI_METHODS2 ("BODY", DATA_ITEM, CDATA_ITEM *) | |
void | Own () const |
void | Free () const |
int | Lock () |
void | Unlock () |
int | Unique () const |
virtual void | add_tags () const |
virtual STDdstream & | format (STDdstream &d) const |
virtual STDdstream & | decode (STDdstream &d) |
virtual void | recompute () |
virtual STAT_STR_RET | class_name () const =0 |
virtual int | is_of_type (Cstr_ptr &t) const |
virtual int | draw (CVIEWptr &)=0 |
virtual int | draw_id_ref () |
virtual int | draw_id_ref_pre1 () |
virtual int | draw_id_ref_pre2 () |
virtual int | draw_id_ref_pre3 () |
virtual int | draw_id_ref_pre4 () |
virtual int | draw_color_ref () |
virtual int | draw_color_ref_2 () |
virtual int | draw_tex_mem_ref () |
virtual ref_img_t | use_ref_image () |
virtual int | draw_vis_ref () |
virtual int | draw_ref_img (ref_img_t t) |
virtual int | draw_final (CVIEWptr &) |
Static Public Member Functions | |
static BODYptr | cube () |
METHS: Static factory methods. | |
static BODYptr | cone () |
static BODYptr | cylinder () |
static BODYptr | sphere () |
static BODYptr | torus (double radius) |
static BODYptr | trunc_cone (double radius) |
static BODYptr | revolve (mlib::CWpt_list &profile, BODYptr &ob) |
static BODYptr | extrusion (mlib::CWpt_list &profile, BODYptr &ob) |
static BODYptr | extrusion (mlib::CWpt_list &profile, mlib::CWpt_list &path, BODYptr &ob) |
static BODYptr | trunc_pyr (CMVEC2 &taper, CMVEC2 &shear) |
static int | set_factory (BODY *b) |
static str_ptr | base_name () |
static STAT_STR_RET | static_name () |
static int | add_decoder (Cstr_ptr &d, DATA_ITEM *di, int copy=-1) |
static void | set_default_decoder (DATA_ITEM *(*d)(STDdstream &, Cstr_ptr &, DATA_ITEM *)) |
static DATA_ITEM * | Decode (STDdstream &d, int DelayDecoding=0) |
static DATA_ITEM * | lookup (Cstr_ptr &d) |
static HASH * | di_hash () |
static STAT_STR_RET | static_name () |
Protected Member Functions | |
virtual BODYptr | create_cube () |
virtual BODYptr | create_cone () |
virtual BODYptr | create_cylinder () |
virtual BODYptr | create_sphere () |
virtual BODYptr | create_torus (double) |
virtual BODYptr | create_trunc_cone (double) |
virtual BODYptr | create_revolve (mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_extrusion (mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_extrusion (mlib::CWpt_list &, mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_trunc_pyr (CMVEC2 &, CMVEC2 &) |
Protected Attributes | |
int | _tris |
BBOX | _bb |
mlib::EDGElist | _edges |
int | _copy |
TAGlist | _DEFINERtags |
Static Protected Attributes | |
static BODY * | _factory = 0 |
static str_ptr | _base_name = BMESH::static_name() |
static TAGlist | _body_tags |
Static Private Attributes | |
static mlib::CXYpt_list | _dummy |
Definition at line 30 of file body.H.
|
Definition at line 25 of file ref_img_client.H. |
|
|
|
|
|
Definition at line 41 of file data_item.C. References DATA_ITEM::_hash, and HASH::add(). Referenced by JOTvar< OBJ, TYPE >::check_inst_name(), FUNC_ITEM::FUNC_ITEM(), hashdist::hashdist(), JOTvar< OBJ, TYPE >::JOTvar(), and DISTRIB::notify_exist(). |
|
Definition at line 205 of file data_item.H. |
|
Definition at line 141 of file body.H. References _base_name. |
|
Definition at line 137 of file body.H. References _bb, and BBOX::valid(). |
|
Definition at line 133 of file body.H. References copy(). |
|
Implemented in BMESH. |
|
|
|
|
|
|
|
|
Definition at line 116 of file body.H. References _factory, and create_cone(). |
|
Implemented in BMESH. Referenced by body_copy(). |
|
Definition at line 41 of file body.H. Referenced by cone(). |
|
Definition at line 40 of file body.H. Referenced by cube(). |
|
Definition at line 42 of file body.H. Referenced by cylinder(). |
|
|
|
Definition at line 50 of file body.H. Referenced by extrusion(). |
|
Definition at line 47 of file body.H. Referenced by revolve(). |
|
Definition at line 43 of file body.H. Referenced by sphere(). |
|
Definition at line 45 of file body.H. Referenced by torus(). |
|
Definition at line 46 of file body.H. Referenced by trunc_cone(). |
|
Definition at line 57 of file body.H. Referenced by trunc_pyr(). |
|
METHS: Static factory methods.
Definition at line 115 of file body.H. References _factory, and create_cube(). |
|
Definition at line 117 of file body.H. References _factory, and create_cylinder(). |
|
Definition at line 57 of file data_item.C. References DATA_ITEM::_copy, DATA_ITEM::_decode_unknown, DATA_ITEM::class_name(), DATA_ITEM::decode(), DATA_ITEM::dup(), Config::get_var_bool(), and DATA_ITEM::lookup(). Referenced by JOThash::get(), DISTRIB::interpret(), and operator>>(). |
|
Reimplemented in JOTsend_geom, and BMESH. Definition at line 145 of file data_item.C. References DATA_ITEM::class_name(), COMMENT::decode(), j, COMMENT::name(), TAGformat::read_end_id(), TAGformat::read_id(), DATA_ITEM::recompute(), and DATA_ITEM::tags(). Referenced by DATA_ITEM::Decode(), BMESH::decode(), JOTio::get(), BMESH::get_patches(), Patch::get_texture(), VIEW::get_view_animator(), and VIEW::get_view_data_file(). |
|
|
|
Definition at line 225 of file data_item.H. References DATA_ITEM::_hash. |
|
|
Reimplemented in GELset. Definition at line 55 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(), and RefImageClient::draw_tex_mem_ref(). |
|
Reimplemented in GELset. Definition at line 56 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset, GEOM, GESTURE, ControlLineTexture, HiddenLineTexture, BMESH, and Patch. Definition at line 100 of file ref_img_client.H. Referenced by Patch::draw_final(), HiddenLineTexture::draw_final(), and ControlLineTexture::draw_final(). |
|
Reimplemented in GELset, and OGLTexture. Definition at line 50 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 51 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 52 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 53 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 54 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
|
Reimplemented in DotsShader, DotsShader_EX, GLSLHatching, HalftoneShader, HalftoneShaderEx, and MSLDShader. Definition at line 57 of file ref_img_client.H. References RefImageClient::draw_color_ref(). Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset, GEOM, LINE3D, OGLTexture, ControlFrameTexture, ControlLineTexture, SilFrameTexture, SilsTexture, WireframeTexture, ZcrossFrameTexture, ZcrossTexture, CAMwidget_anchor, CAMwidget_anchor, BMESH, Patch, BALLwidget_anchor, and GRIDwidget_anchor. Definition at line 68 of file ref_img_client.H. Referenced by Patch::draw_vis_ref(). |
|
Implements DATA_ITEM. |
|
Definition at line 128 of file body.H. References _factory, and create_extrusion(). |
|
Definition at line 126 of file body.H. References _factory, and create_extrusion(). |
|
Reimplemented in Animator, JOTdone, JOTsend_geom, and BMESH. Definition at line 194 of file data_item.C. References DATA_ITEM::class_name(), TAGformat::end_id(), Config::get_var_bool(), TAGformat::id(), DATA_ITEM::tags(), and STDdstream::write_newline(). Referenced by JOTdone::format(), BMESH::format(), Animator::format(), JOTio::put(), and VIEW::put_view_data_file(). |
|
Definition at line 76 of file ref.H. References REFcounter::_mutex, REFcounter::_u, and REF_ME. |
|
|
|
Definition at line 112 of file body.H. References _dummy. |
|
|
|
Definition at line 84 of file body.H. References intersect(). |
|
Definition at line 77 of file body.H. References intersect(). |
|
Referenced by intersect(). |
|
Definition at line 214 of file data_item.H. References IS. Referenced by BMESH::operator=(). |
|
Definition at line 105 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. Referenced by REFlock::REFlock(). |
|
Definition at line 222 of file data_item.H. References DATA_ITEM::_hash, and HASH::find(). Referenced by DATA_ITEM::Decode(), FUNC_ITEM::FUNC_ITEM(), Patch::get_tex(), and BMESH::read_jot_stream(). |
|
|
|
Definition at line 59 of file ref.H. References REFcounter::_mutex, REFcounter::_u, and REF_ME. |
|
Reimplemented in Patch. Definition at line 208 of file data_item.H. Referenced by DATA_ITEM::decode(). |
|
Definition at line 124 of file body.H. References _factory, and create_revolve(). |
|
Definition at line 218 of file data_item.H. References DATA_ITEM::_decode_unknown. |
|
Definition at line 134 of file body.H. References _factory. |
|
|
|
|
|
|
|
Definition at line 118 of file body.H. References _factory, and create_sphere(). |
|
Definition at line 44 of file ref_img_client.H. References RET_STAT_STR. Referenced by BMESH::operator=(). |
|
Definition at line 31 of file data_item.C. References RET_STAT_STR. Referenced by BALLwidget_anchor::BALLwidget_anchor(), CAMwidget_anchor::CAMwidget_anchor(), Patch::cur_tex(), OGLTexture::draw_id_ref(), OGLTexture::draw_id_triangles(), OGLTexture::draw_vis_ref(), VIEW::get_view_animator(), GRIDwidget_anchor::GRIDwidget_anchor(), and toggle_sil_frame(). |
|
|
|
Reimplemented from DATA_ITEM. Reimplemented in BMESH, and LMESH. Definition at line 67 of file body.H. References _body_tags. Referenced by BMESH::tags(). |
|
Definition at line 120 of file body.H. References _factory, and create_torus(). |
|
|
|
Reimplemented in BMESH. Definition at line 101 of file body.H. References ARRAY< T >::clear(), and mlib::Pointlist< L, P, V, S >::clear(). Referenced by BMESH::operator=(). |
|
Definition at line 122 of file body.H. References _factory, and create_trunc_cone(). |
|
Definition at line 131 of file body.H. References _factory, and create_trunc_pyr(). |
|
Definition at line 115 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. |
|
Definition at line 111 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. Referenced by REFlock::~REFlock(). |
|
Reimplemented in GEOM, DotsShader, DotsShader_EX, GLSLHatching, HalftoneShader, HalftoneShaderEx, MSLDShader, BMESH, and Patch. Definition at line 60 of file ref_img_client.H. References RefImageClient::REF_IMG_NONE. Referenced by OGLTexture::draw_id_ref(), and Patch::use_ref_image(). |
|
METHS: Texture stuff.
|
|
Implemented in BMESH. |
|
Definition at line 61 of file body.H. Referenced by base_name(). |
|
Definition at line 37 of file body.H. Referenced by BMESH::_merge(), bb_valid(), BMESH::changed(), and BMESH::get_bb(). |
|
Definition at line 62 of file body.H. Referenced by tags(). |
|
Definition at line 197 of file data_item.H. Referenced by DATA_ITEM::Decode(). |
|
Definition at line 198 of file data_item.H. Referenced by DATA_ITEM::tags(). |
|
Definition at line 34 of file body.H. Referenced by get_texcoords(). |
|
Reimplemented in BMESH. Definition at line 38 of file body.H. Referenced by BMESH::_merge(), BMESH::body_edges(), and BMESH::changed(). |
|
Definition at line 60 of file body.H. Referenced by cone(), cube(), cylinder(), extrusion(), revolve(), set_factory(), sphere(), torus(), trunc_cone(), and trunc_pyr(). |
|
|