Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LINE3D Class Reference

#include <line3d.H>

Inheritance diagram for LINE3D:

Inheritance graph
[legend]
Collaboration diagram for LINE3D:

Collaboration graph
[legend]
List of all members.

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

 LINE3D ()
 LINE3D (mlib::CWpt_list &pts)
virtual ~LINE3D ()
 DEFINE_RTTI_METHODS3 ("LINE3D", LINE3D *, GEL, CDATA_ITEM *)
void add (mlib::CWpt &p)
void add (mlib::CWpt_list &p)
void clear ()
void set (mlib::CWpt_list &p)
void set (int i, mlib::CWpt &p)
int num () const
bool empty () const
mlib::CWpt_listpts () const
mlib::CWptoperator[] (int i) const
mlib::CWptpoint (int i) const
mlib::Wpt point (double s) const
mlib::Wvec tangent (int i) const
mlib::Wvec normal (int i) const
double length () const
bool loop () const
double width () const
void set_width (double w)
CCOLORcolor () const
void set_color (CCOLOR &c)
double alpha () const
void set_alpha (double a)
void set_do_stipple (bool b=true)
bool no_depth () const
void set_no_depth (bool d)
void draw_start (CCOLOR &col, double a, double w, bool do_stipple)
void draw_pts ()
void draw_end ()
virtual RAYhitintersect (RAYhit &r, mlib::CWtransf &=mlib::Identity, int=0) const
virtual int draw (CVIEWptr &)
virtual int draw_vis_ref ()
virtual DATA_ITEMdup () const
 DEFINE_RTTI_METHODS3 ("GEL", GEL *, DATA_ITEM, CDATA_ITEM *)
virtual CTAGlist & tags () const
virtual RAYnearnearest (RAYnear &r, mlib::CWtransf &m=mlib::Identity) const
virtual bool inside (mlib::CXYpt_list &) const
virtual bool needs_blend () const
virtual BBOX bbox (int=0) const
virtual bool cull (const VIEW *) const
virtual bool is_3D () const
virtual bool can_do_halo () const
virtual Cstr_ptr & name () const
virtual ostream & print (ostream &s) const
void Own () const
void Free () const
int Lock ()
void Unlock ()
int Unique () const
virtual void add_tags () const
virtual STDdstreamformat (STDdstream &d) const
virtual STDdstreamdecode (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_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_ref_img (ref_img_t t)
virtual int draw_final (CVIEWptr &)

Static Public Member Functions

static STAT_STR_RET static_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_ITEMDecode (STDdstream &d, int DelayDecoding=0)
static DATA_ITEMlookup (Cstr_ptr &d)
static HASHdi_hash ()

Protected Member Functions

int _draw (CCOLOR &col, double a, double w, bool do_stipple)

Protected Attributes

mlib::Wpt_list _pts
double _width
COLOR _color
double _alpha
bool _do_stipple
bool _no_depth
int _copy
TAGlist _DEFINERtags

Static Protected Attributes

static TAGlist_gel_tags = 0

Detailed Description

Definition at line 15 of file line3d.H.


Member Enumeration Documentation

enum RefImageClient::ref_img_t [inherited]
 

Enumerator:
REF_IMG_NONE 
REF_IMG_ID 
REF_IMG_COLOR 
REF_IMG_COLOR_2 
REF_IMG_ID_PRE1 
REF_IMG_ID_PRE2 
REF_IMG_ID_PRE3 
REF_IMG_ID_PRE4 
REF_IMG_TEX_MEM 

Definition at line 25 of file ref_img_client.H.


Constructor & Destructor Documentation

LINE3D::LINE3D  ) 
 

Definition at line 15 of file line3d.C.

Referenced by dup().

LINE3D::LINE3D mlib::CWpt_list pts  ) 
 

LINE3D::~LINE3D  )  [virtual]
 

Definition at line 34 of file line3d.C.


Member Function Documentation

int LINE3D::_draw CCOLOR col,
double  a,
double  w,
bool  do_stipple
[protected]
 

Definition at line 122 of file line3d.C.

References draw_end(), draw_pts(), draw_start(), and empty().

Referenced by draw(), and draw_vis_ref().

void LINE3D::add mlib::CWpt_list p  ) 
 

void LINE3D::add mlib::CWpt p  ) 
 

Referenced by set().

int DATA_ITEM::add_decoder Cstr_ptr &  d,
DATA_ITEM di,
int  copy = -1
[static, inherited]
 

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().

virtual void DATA_ITEM::add_tags  )  const [inline, virtual, inherited]
 

Definition at line 205 of file data_item.H.

double LINE3D::alpha  )  const [inline]
 

Definition at line 87 of file line3d.H.

References _alpha.

virtual BBOX GEL::bbox int  = 0  )  const [inline, virtual, inherited]
 

Reimplemented in GELset, GEOM, and GESTURE.

Definition at line 122 of file gel.H.

virtual bool GEL::can_do_halo  )  const [inline, virtual, inherited]
 

Reimplemented in GEOM.

Definition at line 127 of file gel.H.

virtual STAT_STR_RET DATA_ITEM::class_name  )  const [pure virtual, inherited]
 

Implemented in hashdist, JOTvar< OBJ, TYPE >, TDI< T >, and FUNC_ITEM.

Referenced by DATA_ITEM::decode(), DATA_ITEM::Decode(), GLSLShader::draw(), DATA_ITEM::format(), GLSLShader::get_uniform_loc(), GLSLShader::init(), DISTRIB::interpret(), BaseJOTappConfig::load(), next_texture(), GEOM::print(), DEFINER::print(), BMESH::print(), print_gel(), Patch::put_textures(), BMESH::read_jot_stream(), GTexture::type(), SolidColorTexture::write_stream(), and GTexture::write_stream().

void LINE3D::clear void   )  [inline]
 

Definition at line 38 of file line3d.H.

References _pts, and mlib::Pointlist< L, P, V, S >::clear().

Referenced by set().

CCOLOR& LINE3D::color  )  const [inline]
 

Definition at line 84 of file line3d.H.

References _color.

virtual bool GEL::cull const VIEW  )  const [inline, virtual, inherited]
 

Reimplemented in GELset, and GEOM.

Definition at line 123 of file gel.H.

DATA_ITEM * DATA_ITEM::Decode STDdstream d,
int  DelayDecoding = 0
[static, inherited]
 

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>>().

STDdstream & DATA_ITEM::decode STDdstream d  )  [virtual, inherited]
 

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().

GEL::DEFINE_RTTI_METHODS3 "GEL"  ,
GEL ,
DATA_ITEM  ,
CDATA_ITEM * 
[inherited]
 

LINE3D::DEFINE_RTTI_METHODS3 "LINE3D"  ,
LINE3D ,
GEL  ,
CDATA_ITEM * 
 

static HASH* DATA_ITEM::di_hash  )  [inline, static, inherited]
 

Definition at line 225 of file data_item.H.

References DATA_ITEM::_hash.

int LINE3D::draw CVIEWptr &   )  [virtual]
 

Reimplemented from GEL.

Definition at line 115 of file line3d.C.

References _alpha, _color, _do_stipple, _draw(), and _width.

virtual int RefImageClient::draw_color_ref  )  [inline, virtual, inherited]
 

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().

virtual int RefImageClient::draw_color_ref_2  )  [inline, virtual, inherited]
 

Reimplemented in GELset.

Definition at line 56 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

void LINE3D::draw_end  ) 
 

Definition at line 180 of file line3d.C.

References empty(), and glPopAttrib().

Referenced by _draw().

virtual int RefImageClient::draw_final CVIEWptr &   )  [inline, virtual, inherited]
 

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().

virtual int RefImageClient::draw_id_ref  )  [inline, virtual, inherited]
 

Reimplemented in GELset, and OGLTexture.

Definition at line 50 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

virtual int RefImageClient::draw_id_ref_pre1  )  [inline, virtual, inherited]
 

Reimplemented in GELset.

Definition at line 51 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

virtual int RefImageClient::draw_id_ref_pre2  )  [inline, virtual, inherited]
 

Reimplemented in GELset.

Definition at line 52 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

virtual int RefImageClient::draw_id_ref_pre3  )  [inline, virtual, inherited]
 

Reimplemented in GELset.

Definition at line 53 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

virtual int RefImageClient::draw_id_ref_pre4  )  [inline, virtual, inherited]
 

Reimplemented in GELset.

Definition at line 54 of file ref_img_client.H.

Referenced by RefImageClient::draw_ref_img().

void LINE3D::draw_pts  ) 
 

Definition at line 168 of file line3d.C.

References _pts, empty(), GL_LINE_STRIP, GL_POINTS, glBegin(), glEnd(), glVertex3dv(), ARRAY< T >::num(), and num().

Referenced by _draw().

virtual int RefImageClient::draw_ref_img ref_img_t  t  )  [inline, virtual, inherited]
 

Definition at line 82 of file ref_img_client.H.

References brcase, brdefault, RefImageClient::draw_color_ref(), RefImageClient::draw_color_ref_2(), RefImageClient::draw_id_ref(), RefImageClient::draw_id_ref_pre1(), RefImageClient::draw_id_ref_pre2(), RefImageClient::draw_id_ref_pre3(), RefImageClient::draw_id_ref_pre4(), RefImageClient::draw_tex_mem_ref(), RefImageClient::REF_IMG_COLOR, RefImageClient::REF_IMG_COLOR_2, RefImageClient::REF_IMG_ID, RefImageClient::REF_IMG_ID_PRE1, RefImageClient::REF_IMG_ID_PRE2, RefImageClient::REF_IMG_ID_PRE3, RefImageClient::REF_IMG_ID_PRE4, and RefImageClient::REF_IMG_TEX_MEM.

Referenced by Patch::draw_ref_img().

void LINE3D::draw_start CCOLOR col,
double  a,
double  w,
bool  do_stipple
 

Definition at line 136 of file line3d.C.

References _no_depth, empty(), GL_COL(), GL_CURRENT_BIT, GL_DEPTH_TEST, GL_ENABLE_BIT, GL_LIGHTING, GL_LINE_BIT, GL_LINE_STIPPLE, GL_POINT_BIT, glDisable(), glEnable(), glLineStipple(), glLineWidth(), glPointSize(), glPushAttrib(), and num().

Referenced by _draw().

virtual int RefImageClient::draw_tex_mem_ref  )  [inline, virtual, inherited]
 

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().

int LINE3D::draw_vis_ref  )  [virtual]
 

Reimplemented from RefImageClient.

Definition at line 104 of file line3d.C.

References _draw(), _width, and COLOR::black.

virtual DATA_ITEM* LINE3D::dup  )  const [inline, virtual]
 

Implements GEL.

Definition at line 118 of file line3d.H.

References LINE3D().

bool LINE3D::empty  )  const [inline]
 

Definition at line 55 of file line3d.H.

References _pts, and ARRAY< T >::empty().

Referenced by _draw(), draw_end(), draw_pts(), and draw_start().

STDdstream & DATA_ITEM::format STDdstream d  )  const [virtual, inherited]
 

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().

void REFcounter::Free  )  const [inline, inherited]
 

Definition at line 76 of file ref.H.

References REFcounter::_mutex, REFcounter::_u, and REF_ME.

virtual bool GEL::inside mlib::CXYpt_list  )  const [inline, virtual, inherited]
 

Reimplemented in TEXT2D.

Definition at line 120 of file gel.H.

virtual RAYhit& LINE3D::intersect RAYhit r,
mlib::CWtransf = mlib::Identity,
int  = 0
const [virtual]
 

Reimplemented from GEL.

virtual bool GEL::is_3D  )  const [inline, virtual, inherited]
 

Reimplemented in GEOM.

Definition at line 126 of file gel.H.

virtual int DATA_ITEM::is_of_type Cstr_ptr &  t  )  const [inline, virtual, inherited]
 

Definition at line 214 of file data_item.H.

References IS.

Referenced by BMESH::operator=().

double LINE3D::length  )  const [inline]
 

Definition at line 73 of file line3d.H.

References _pts, and mlib::Pointlist< L, P, V, S >::length().

int REFcounter::Lock  )  [inline, inherited]
 

Definition at line 105 of file ref.H.

References REFcounter::_mutex, and REFcounter::_u.

Referenced by REFlock::REFlock().

static DATA_ITEM* DATA_ITEM::lookup Cstr_ptr &  d  )  [inline, static, inherited]
 

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().

bool LINE3D::loop  )  const [inline]
 

Definition at line 76 of file line3d.H.

References _pts, ARRAY< T >::last(), and num().

virtual Cstr_ptr& GEL::name  )  const [inline, virtual, inherited]
 

Reimplemented in GEOM.

Definition at line 129 of file gel.H.

References GEL::_name.

Referenced by operator<<().

virtual RAYnear& GEL::nearest RAYnear r,
mlib::CWtransf m = mlib::Identity
const [virtual, inherited]
 

Reimplemented in GEOM.

virtual bool GEL::needs_blend  )  const [inline, virtual, inherited]
 

Reimplemented in GEOM, ICON2D, DrawWidget, DEBUG_ELLIPSE, GESTURE, CAMwidget_anchor, CAMwidget_anchor, BALLwidget_anchor, and GRIDwidget_anchor.

Definition at line 121 of file gel.H.

bool LINE3D::no_depth  )  const [inline]
 

Definition at line 92 of file line3d.H.

References _no_depth.

mlib::Wvec LINE3D::normal int  i  )  const [inline]
 

Definition at line 70 of file line3d.H.

References mlib::Vec3< V >::perpend(), and tangent().

int LINE3D::num  )  const [inline]
 

Definition at line 52 of file line3d.H.

References _pts, and ARRAY< T >::num().

Referenced by draw_pts(), draw_start(), and loop().

mlib::CWpt& LINE3D::operator[] int  i  )  const [inline]
 

Definition at line 61 of file line3d.H.

References _pts.

void REFcounter::Own  )  const [inline, inherited]
 

Definition at line 59 of file ref.H.

References REFcounter::_mutex, REFcounter::_u, and REF_ME.

mlib::Wpt LINE3D::point double  s  )  const [inline]
 

Definition at line 66 of file line3d.H.

References _pts, and mlib::Pointlist< L, P, V, S >::interpolate().

mlib::CWpt& LINE3D::point int  i  )  const [inline]
 

Definition at line 62 of file line3d.H.

References _pts.

virtual ostream& GEL::print ostream &  s  )  const [inline, virtual, inherited]
 

Reimplemented in GEOM.

Definition at line 131 of file gel.H.

Referenced by operator<<().

mlib::CWpt_list& LINE3D::pts  )  const [inline]
 

Definition at line 58 of file line3d.H.

References _pts.

virtual void DATA_ITEM::recompute  )  [inline, virtual, inherited]
 

Reimplemented in Patch.

Definition at line 208 of file data_item.H.

Referenced by DATA_ITEM::decode().

void LINE3D::set int  i,
mlib::CWpt p
 

void LINE3D::set mlib::CWpt_list p  )  [inline]
 

Definition at line 41 of file line3d.H.

References add(), and clear().

void LINE3D::set_alpha double  a  )  [inline]
 

Definition at line 88 of file line3d.H.

References _alpha.

void LINE3D::set_color CCOLOR c  )  [inline]
 

Definition at line 85 of file line3d.H.

References _color.

static void DATA_ITEM::set_default_decoder DATA_ITEM *(*)(STDdstream &, Cstr_ptr &, DATA_ITEM *)  d  )  [inline, static, inherited]
 

Definition at line 218 of file data_item.H.

References DATA_ITEM::_decode_unknown.

void LINE3D::set_do_stipple bool  b = true  )  [inline]
 

Definition at line 90 of file line3d.H.

References _do_stipple.

void LINE3D::set_no_depth bool  d  )  [inline]
 

Definition at line 93 of file line3d.H.

References _no_depth.

void LINE3D::set_width double  w  )  [inline]
 

Definition at line 82 of file line3d.H.

References _width.

static STAT_STR_RET RefImageClient::static_name  )  [inline, static, inherited]
 

Definition at line 44 of file ref_img_client.H.

References RET_STAT_STR.

Referenced by BMESH::operator=().

STAT_STR_RET DATA_ITEM::static_name  )  [static, inherited]
 

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().

virtual CTAGlist& GEL::tags  )  const [inline, virtual, inherited]
 

Reimplemented from DATA_ITEM.

Reimplemented in GEOM.

Definition at line 113 of file gel.H.

References GEL::_gel_tags.

Referenced by GEOM::tags().

mlib::Wvec LINE3D::tangent int  i  )  const [inline]
 

Definition at line 69 of file line3d.H.

References _pts, and mlib::Pointlist< L, P, V, S >::tan().

Referenced by normal().

int REFcounter::Unique  )  const [inline, inherited]
 

Definition at line 115 of file ref.H.

References REFcounter::_mutex, and REFcounter::_u.

void REFcounter::Unlock  )  [inline, inherited]
 

Definition at line 111 of file ref.H.

References REFcounter::_mutex, and REFcounter::_u.

Referenced by REFlock::~REFlock().

virtual ref_img_t RefImageClient::use_ref_image  )  [inline, virtual, inherited]
 

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().

double LINE3D::width  )  const [inline]
 

Definition at line 81 of file line3d.H.

References _width.


Member Data Documentation

double LINE3D::_alpha [protected]
 

Definition at line 127 of file line3d.H.

Referenced by alpha(), draw(), and set_alpha().

COLOR LINE3D::_color [protected]
 

Definition at line 126 of file line3d.H.

Referenced by color(), draw(), and set_color().

int DATA_ITEM::_copy [protected, inherited]
 

Definition at line 197 of file data_item.H.

Referenced by DATA_ITEM::Decode().

TAGlist DATA_ITEM::_DEFINERtags [protected, inherited]
 

Definition at line 198 of file data_item.H.

Referenced by DATA_ITEM::tags().

bool LINE3D::_do_stipple [protected]
 

Definition at line 128 of file line3d.H.

Referenced by draw(), and set_do_stipple().

TAGlist * GEL::_gel_tags = 0 [static, protected, inherited]
 

Definition at line 138 of file gel.H.

Referenced by GEL::tags().

bool LINE3D::_no_depth [protected]
 

Definition at line 129 of file line3d.H.

Referenced by draw_start(), no_depth(), and set_no_depth().

mlib::Wpt_list LINE3D::_pts [protected]
 

Definition at line 124 of file line3d.H.

Referenced by clear(), draw_pts(), empty(), length(), loop(), num(), operator[](), point(), pts(), and tangent().

double LINE3D::_width [protected]
 

Definition at line 125 of file line3d.H.

Referenced by draw(), draw_vis_ref(), set_width(), and width().


The documentation for this class was generated from the following files:
Generated on Mon Sep 18 11:46:24 2006 for jot by  doxygen 1.4.4