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

Patch Class Reference

A region of a BMESH that can be textured individually. More...

#include <patch.H>

Inheritance diagram for Patch:

Inheritance graph
[legend]
Collaboration diagram for Patch:

Collaboration graph
[legend]
List of all members.

Silhouettes, Creases, Etc.

EdgeStripcur_sils ()
 Generates (if needed) and returns the requested silhouettes, creases, etc. Operates on the CURRENT subdivision Patch.
ZcrossPathcur_zx_sils ()
 
EdgeStripcur_creases ()
EdgeStripcur_borders ()
 
EdgeStripbuild_sils ()
 Generates (if needed) and returns the requested silhouettes, creases, etc. Operates on *this* Patch as opposed to the current subdivision Patch.
ZcrossPathbuild_zx_sils ()
 
EdgeStripbuild_creases ()
 
EdgeStripbuild_borders ()
 
EdgeStripsils ()
 Simple accessor -- no checks for updating.
ZcrossPathzx_sils ()
 
Note:
May be phased out because it appears to be unused.

EdgeStripcreases ()
 
Note:
May be phased out because it appears to be unused.

EdgeStripborders ()
 
Note:
May be phased out because it appears to be unused.


Subdivision

Redefined by Lpatch (subdivision patches).

virtual Patchcur_patch ()
 Returns the corresponding patch at the "current" subdivision level.
BMESHcur_mesh ()
 Convenience: the mesh of the current subdivision patch.
int subdiv_level () const
 The level of this Patch in the subdivision hierarchy (control mesh is 0, next level is 1, etc.).
virtual int rel_subdiv_level ()
 The level of this Patch relative to its control Patch (filled in by Lpatch).
virtual int rel_edit_level ()
 The mesh edit level, relative to this patch (filled in by Lpatch).
virtual CBface_listcur_faces () const
 Returns mesh faces at current subdivision level.
virtual Bvert_list cur_verts () const
 Returns mesh vertices at current subdivision level.
virtual Bedge_list cur_edges () const
 Returns mesh edges at current subdivision level.
virtual int num_faces () const
virtual Patchget_child ()
 Used by Lpatch to produce a child patch at the next subdivision level.
virtual Patchctrl_patch () const
 Returns the highest-level parent Patch of this one.

Building

void add (Bface *f)
void remove (Bface *f)
void add (VertStrip *)
void remove (VertStrip *)
void add (EdgeStrip *)
void remove (EdgeStrip *)
void build_tri_strips ()
virtual double tris_per_strip () const

Notification

virtual void triangulation_changed ()
void creases_changed ()
void borders_changed ()

Drawing

virtual int draw_tri_strips (StripCB *)
virtual int draw_sil_strips (StripCB *)
int draw_crease_strips (StripCB *)
int draw_border_strips (StripCB *)
int draw_edge_strips (StripCB *)
int draw_vert_strips (StripCB *)

Appear Methods

virtual CCOLORcolor () const
virtual bool has_color () const
virtual void set_color (CCOLOR &c)
virtual void unset_color ()
virtual double transp () const
virtual bool has_transp () const
virtual void set_transp (double t)
virtual void unset_transp ()
virtual void set_texture (CTEXTUREptr &t)
 Set normal texture map.
virtual void unset_texture ()
 Unset normal texture map.
void apply_texture ()
 convenience
static init_fade_func_t _init_fade = 0
 Function to use for initializing a fade from one GTexture to another.

Dynamic Samples

PIXEL get_old_sample_center ()
 center of the samples from last frame
PIXEL get_sample_center ()
 center of the samples
VEXEL get_z ()
 Non-accumulated z.
PIXEL get_patch_center ()
bool get_do_dynamic_stuff () const
void do_dynamic_stuff (bool d)
void set_do_lod (bool d)
bool get_do_lod ()
PIXEL sample_origin () const
VEXEL sample_u_vec () const
VEXEL sample_v_vec () const
double sample_scale () const
const vector< DynamicSample > & get_samples () const
double lod_t () const
VEXEL lod_u () const
VEXEL lod_v () const
void update_dynamic_samples ()
void reset_dynamic_samples ()
void create_dynamic_samples ()

Serialization Methods

COLORcolor_ ()
str_ptrname_ ()
int & cur_tex_i_ ()
virtual void get_faces (TAGformat &d)
virtual void put_faces (TAGformat &d) const
virtual void get_color (TAGformat &d)
virtual void put_color (TAGformat &d) const
virtual void get_texture (TAGformat &d)
virtual void put_textures (TAGformat &d) const
virtual void recompute ()
static TAGlist_patch_tags = 0

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

virtual ~Patch ()
virtual void add_tags () const
virtual STDdstreamformat (STDdstream &d) const
virtual STDdstreamdecode (STDdstream &d)
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 int draw_ref_img (ref_img_t t)
Versioning/Caching
used by textures to tell if they are up-to-date (e.g., display lists may be out of date).

virtual void changed ()
virtual uint stamp ()
BMESHdrawable Methods
virtual int draw (CVIEWptr &)
DATA_ITEM Methods
virtual CTAGlist & tags () const
virtual DATA_ITEMdup () const

Static Public Member Functions

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 ()
static STAT_STR_RET static_name ()

Protected Member Functions

 Patch (BMESH *=0)
EdgeStripbuild_edge_strip (EdgeStrip *strip, CSimplexFilter &filter)
 Fill the given edge strip with edges of a given type that belong to this patch.
STDdstreamdecode_local (STDdstream &ds)
STDdstreamformat_local (STDdstream &ds) const

Protected Attributes

BMESH_mesh
 owner
Bface_list _faces
 unordered faces
ARRAY< TriStrip * > _tri_strips
 faces organized into tri strips
EdgeStrip _sils
 silhouette edges (as strip)
ZcrossPath _zx_sils
 zero_crossing sils
EdgeStrip_creases
 crease edges (maybe derived type)
EdgeStrip_borders
 border edges (maybe derived type)
ARRAY< EdgeStrip * > _edge_strips
 edges to be rendered as line strips
ARRAY< VertStrip * > _vert_strips
 vertices to be rendered as points
GTexture_list _textures
 list of textures
int _cur_tex_i
 index of current texture
int _non_tex_i
GTexture_prev_tex
 last GTexture used
ARRAY< uint_pixels
 pixels on patch
uint _stamp
 version number
uint _mesh_version
 last recorded mesh version
bool _tri_strips_dirty
 used to rebuild _tri_strips
str_ptr _name
 name
str_ptr _texture_file
 name of texture map image file
TexCoordGen_tex_coord_gen
 for generating texture coordinates
PatchData_data
 optional custom data
int _stencil_id
int _copy
TAGlist _DEFINERtags
COLOR _ambient_color
 Ambient color.
bool _has_ambient_color
 true if it has ambient color
COLOR _color
 Diffuse color.
bool _has_color
 true if it has diffuse color
COLOR _specular_color
 Specular color.
bool _has_specular_color
 true if it has specular color
double _shininess
 Specular shininess.
bool _has_shininess
 true if it has shininess
double _transp
 transparency (AKA alpha, in OpenGL)
bool _has_transp
 true if it has transparency
TEXTUREptr _texture
 What the texture is.
bool _has_texture
 true if we are textured
mlib::Wtransf _tex_xform
 Texture transformation.

Static Protected Attributes

static int _next_stencil_id = 0

Friends

class BMESH

Detailed Description

A region of a BMESH that can be textured individually.

Definition at line 174 of file patch.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

Patch::Patch BMESH = 0  )  [protected]
 

Definition at line 23 of file patch.C.

References _mesh, _textures, BMESH::changed(), ARRAY< T >::num(), BMESH::patches(), BMESH::RENDERING_CHANGED, set_name(), and ARRAY< T >::set_unique().

Patch::~Patch  )  [virtual]
 

Definition at line 61 of file patch.C.

References _borders, _creases, _faces, _mesh, _textures, _tri_strips, GTexture_list::delete_all(), ARRAY< T >::empty(), ARRAY< T >::num(), ARRAY< T >::pop(), and BMESH::unlist().


Member Function Documentation

void Patch::add EdgeStrip  ) 
 

Definition at line 274 of file patch.C.

References _edge_strips, changed(), ARRAY< T >::num(), EdgeStrip::patch(), remove(), EdgeStrip::set_patch(), and EdgeStrip::set_patch_index().

void Patch::add VertStrip  ) 
 

Definition at line 249 of file patch.C.

References _vert_strips, changed(), ARRAY< T >::num(), VertStrip::patch(), remove(), VertStrip::set_patch(), and VertStrip::set_patch_index().

void Patch::add Bface f  ) 
 

Definition at line 212 of file patch.C.

References _faces, ARRAY< T >::num(), Bface::patch(), remove(), Bface::set_patch(), Bface::set_patch_index(), and triangulation_changed().

Referenced by BMESH::add_face(), get_faces(), BMESH::make_patch_if_needed(), read_stream(), recompute(), and Lface::set_child_patch().

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

void Patch::add_pixel uint  p  )  [inline]
 

Definition at line 199 of file patch.H.

References _pixels.

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

Definition at line 205 of file data_item.H.

virtual CCOLOR& APPEAR::ambient_color  )  const [inline, virtual, inherited]
 

Definition at line 100 of file appear.H.

References APPEAR::_ambient_color, APPEAR::_has_ambient_color, and APPEAR::color().

Referenced by SmoothShadeTexture::draw(), and GtexUtil::setup_material().

void Patch::apply_texture  )  [inline]
 

convenience

Definition at line 494 of file patch.H.

References APPEAR::_tex_xform, APPEAR::_texture, and APPEAR::has_texture().

Referenced by SmoothShadeTexture::draw(), LineDrawingTexture::draw(), FlatShadeTexture::draw(), and CurvatureTexture::draw().

EdgeStrip* Patch::borders  )  [inline, protected]
 

Note:
May be phased out because it appears to be unused.

Definition at line 275 of file patch.H.

References _borders.

void Patch::borders_changed  ) 
 

Definition at line 108 of file patch.C.

References _borders.

Referenced by triangulation_changed().

EdgeStrip * Patch::build_borders  )  [protected]
 

Definition at line 167 of file patch.C.

References _borders, _mesh, build_edge_strip(), and BMESH::new_edge_strip().

Referenced by cur_borders().

EdgeStrip * Patch::build_creases  )  [protected]
 

Definition at line 152 of file patch.C.

References _creases, _mesh, build_edge_strip(), and BMESH::new_edge_strip().

Referenced by cur_creases().

EdgeStrip * Patch::build_edge_strip EdgeStrip strip,
CSimplexFilter filter
[protected]
 

Fill the given edge strip with edges of a given type that belong to this patch.

Utility method used in build_creases() and build_borders().

Fill the given edge strip with edges of a given type that belong to this patch.

Definition at line 141 of file patch.C.

References EdgeStrip::build_with_tips(), edges(), and EdgeStrip::reset().

Referenced by build_borders(), and build_creases().

EdgeStrip & Patch::build_sils  )  [protected]
 

Generates (if needed) and returns the requested silhouettes, creases, etc. Operates on *this* Patch as opposed to the current subdivision Patch.

Definition at line 116 of file patch.C.

References _mesh, _sils, and BMESH::build_sil_strips().

Referenced by cur_sils().

void Patch::build_tri_strips  ) 
 

Definition at line 299 of file patch.C.

References _faces, _tri_strips, _tri_strips_dirty, ARRAY< T >::clear(), debug, err_msg(), TriStrip::get_strips(), Config::get_var_bool(), ARRAY< T >::num(), Bface_list::secondary_faces(), SimplexArray< L, T >::set_flags(), BMESH::show_secondary_faces(), and tris_per_strip().

Referenced by draw_tri_strips().

ZcrossPath & Patch::build_zx_sils  )  [protected]
 

Definition at line 125 of file patch.C.

References _mesh, _zx_sils, and BMESH::build_zcross_strips().

Referenced by cur_zx_sils().

virtual void Patch::changed  )  [inline, virtual]
 

Reimplemented in Lpatch.

Definition at line 365 of file patch.H.

References _stamp.

Referenced by add(), read_stream(), remove(), set_mesh(), GLSLXToonShader::set_normals(), set_texture(), stamp(), triangulation_changed(), and unset_texture().

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(), put_textures(), BMESH::read_jot_stream(), GTexture::type(), SolidColorTexture::write_stream(), and GTexture::write_stream().

CCOLOR & Patch::color  )  const [virtual]
 

Reimplemented from APPEAR.

Definition at line 821 of file patch.C.

References APPEAR::color().

Referenced by SmoothShadeTexture::draw(), LineDrawingTexture::draw(), KeyLineTexture::draw(), FlatShadeTexture::draw(), CurvatureTexture::draw(), ControlLineTexture::draw(), patch_color(), put_color(), set_color(), and GLSLShader::set_gl_state().

COLOR& Patch::color_  )  [inline, protected]
 

Definition at line 599 of file patch.H.

References APPEAR::_color.

EdgeStrip* Patch::creases  )  [inline, protected]
 

Note:
May be phased out because it appears to be unused.

Definition at line 273 of file patch.H.

References _creases.

void Patch::creases_changed  ) 
 

Definition at line 101 of file patch.C.

References _creases.

Referenced by Patch_list::creases_changed(), and triangulation_changed().

void Patch::create_dynamic_samples  )  [private]
 

Definition at line 1044 of file patch.C.

References _mesh, _old_samples, faces(), generate_samples(), get_weight(), and ARRAY< T >::num().

Referenced by update_dynamic_samples().

virtual Patch* Patch::ctrl_patch  )  const [inline, virtual]
 

Returns the highest-level parent Patch of this one.

Note:
NB. the control patch may not belong to the control mesh, in the case that a patch has been added at a level > 0.

Reimplemented in Lpatch.

Definition at line 325 of file patch.H.

Referenced by ControlFrameTexture::build_strip(), get_ctrl_patch(), get_cur_sub_edges(), get_cur_sub_faces(), and get_cur_sub_vert().

EdgeStrip* Patch::cur_borders  )  [inline]
 

Definition at line 247 of file patch.H.

References build_borders(), and cur_patch().

Referenced by TriStripsTexture::draw().

EdgeStrip* Patch::cur_creases  )  [inline]
 

Definition at line 244 of file patch.H.

References build_creases(), and cur_patch().

Referenced by TriStripsTexture::draw(), draw_crease_strips(), and OGLTexture::draw_id_creases().

virtual Bedge_list Patch::cur_edges  )  const [inline, virtual]
 

Returns mesh edges at current subdivision level.

Reimplemented in Lpatch.

Definition at line 310 of file patch.H.

References edges().

Referenced by WireframeTexture::draw(), and FlatShadeTexture::draw().

virtual CBface_list& Patch::cur_faces  )  const [inline, virtual]
 

Returns mesh faces at current subdivision level.

Reimplemented in Lpatch.

Definition at line 306 of file patch.H.

References _faces.

Referenced by FlatShadeTexture::draw(), and write_stream().

BMESH* Patch::cur_mesh  )  [inline]
 

Convenience: the mesh of the current subdivision patch.

Definition at line 290 of file patch.H.

References cur_patch(), and mesh().

virtual Patch* Patch::cur_patch  )  [inline, virtual]
 

Returns the corresponding patch at the "current" subdivision level.

Reimplemented in Lpatch.

Definition at line 287 of file patch.H.

Referenced by cur_borders(), cur_creases(), cur_mesh(), cur_sils(), cur_zx_sils(), WireframeTexture::draw(), and FlatShadeTexture::draw().

EdgeStrip& Patch::cur_sils  )  [inline]
 

Generates (if needed) and returns the requested silhouettes, creases, etc. Operates on the CURRENT subdivision Patch.

Definition at line 238 of file patch.H.

References build_sils(), and cur_patch().

Referenced by SilsTexture::draw(), OGLTexture::draw_id_sils(), draw_sil_strips(), ZcrossTexture::draw_vis_ref(), and SilsTexture::draw_vis_ref().

GTexture* Patch::cur_tex  )  const [inline]
 

Texture to use according to the "current texture index".

Definition at line 431 of file patch.H.

References _cur_tex_i, _textures, and ARRAY< T >::valid_index().

Referenced by cur_tex(), draw(), draw_final(), draw_ref_img(), draw_vis_ref(), and use_ref_image().

GTexture * Patch::cur_tex CVIEWptr &  v  )  [virtual]
 

Return "current" GTexture, based on the mesh's render style if it has one, or based on the view's render style.

The texture name to use comes from the mesh, unless it's the null string, then it comes from the view. If the texture name is GTexture::static_name() then return the Patch's "current texture." Otherwise return a texture matching the given texture name.

Definition at line 496 of file patch.C.

References _mesh, cur_tex(), get_tex(), str_ptr::null_str(), BMESH::render_style(), RFLAT_SHADE, and DATA_ITEM::static_name().

Referenced by next_texture().

int& Patch::cur_tex_i_  )  [inline, protected]
 

Definition at line 601 of file patch.H.

References _cur_tex_i.

Referenced by tags().

virtual Bvert_list Patch::cur_verts  )  const [inline, virtual]
 

Returns mesh vertices at current subdivision level.

Reimplemented in Lpatch.

Definition at line 308 of file patch.H.

References verts().

Referenced by VertUVTexture::draw(), and VertNormalsTexture::draw().

ZcrossPath& Patch::cur_zx_sils  )  [inline]
 

Definition at line 241 of file patch.H.

References build_zx_sils(), and cur_patch().

Referenced by ZcrossTexture::draw().

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(), get_texture(), VIEW::get_view_animator(), and VIEW::get_view_data_file().

STDdstream& APPEAR::decode_local STDdstream ds  )  [protected, inherited]
 

Patch::DEFINE_RTTI_METHODS3 "Patch"  ,
Patch ,
DATA_ITEM  ,
Patch
 

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

Definition at line 225 of file data_item.H.

References DATA_ITEM::_hash.

void Patch::do_dynamic_stuff bool  d  )  [inline]
 

Definition at line 517 of file patch.H.

References _do_dynamic_stuff.

int Patch::draw CVIEWptr &   )  [virtual]
 

Implements BMESHdrawable.

Reimplemented in Lpatch.

Definition at line 333 of file patch.C.

References _init_fade, _pixels, _prev_tex, ARRAY< T >::clear(), cur_tex(), and Config::get_var_dbl().

Referenced by Lpatch::draw().

int Patch::draw_border_strips StripCB  ) 
 

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

int Patch::draw_crease_strips StripCB  ) 
 

Definition at line 369 of file patch.C.

References cur_creases(), and EdgeStrip::draw().

Referenced by CreasesTexture::draw().

int Patch::draw_edge_strips StripCB  ) 
 

Definition at line 378 of file patch.C.

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

Referenced by OGLTexture::draw_vert_and_edge_strips().

int Patch::draw_final CVIEWptr &  v  )  [virtual]
 

Reimplemented from RefImageClient.

Definition at line 780 of file patch.C.

References cur_tex(), RefImageClient::draw_final(), and VIEW::peek().

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

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

int Patch::draw_ref_img ref_img_t   )  [virtual]
 

Definition at line 773 of file patch.C.

References cur_tex(), RefImageClient::draw_ref_img(), and VIEW::peek().

int Patch::draw_sil_strips StripCB  )  [virtual]
 

Reimplemented in Lpatch.

Definition at line 362 of file patch.C.

References cur_sils(), EdgeStrip::draw(), and EdgeStrip::num().

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 Patch::draw_tri_strips StripCB  )  [virtual]
 

Reimplemented in Lpatch.

Definition at line 351 of file patch.C.

References _faces, _tri_strips, build_tri_strips(), and ARRAY< T >::num().

Referenced by XToonTexture::draw(), ToonTexture_1D::draw(), SolidColorTexture::draw(), SmoothShadeTexture::draw(), LineDrawingTexture::draw(), GLSLShader::draw(), FlatShadeTexture::draw(), CurvatureTexture::draw(), ColorIDTexture::draw(), OGLTexture::draw_stencil(), write_normals(), and write_strips().

int Patch::draw_vert_strips StripCB  ) 
 

Definition at line 394 of file patch.C.

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

Referenced by OGLTexture::draw_vert_and_edge_strips().

int Patch::draw_vis_ref  )  [virtual]
 

Reimplemented from RefImageClient.

Definition at line 766 of file patch.C.

References cur_tex(), RefImageClient::draw_vis_ref(), and VIEW::peek().

DATA_ITEM * Patch::dup  )  const [virtual]
 

Implements DATA_ITEM.

Reimplemented in Lpatch.

Definition at line 811 of file patch.C.

Bedge_list Patch::edges  )  const
 

Definition at line 197 of file patch.C.

References _faces, _mesh, BMESH::edges(), Bface_list::get_edges(), BMESH::is_polylines(), BMESH::nfaces(), and ARRAY< T >::num().

Referenced by build_edge_strip(), ControlFrameTexture::build_strip(), and cur_edges().

CWpt& Patch::eye_local  )  const [inline]
 

Definition at line 335 of file patch.H.

References _mesh, and BMESH::eye_local().

CBface_list& Patch::faces  )  const [inline]
 

Lightweight: returns reference to existing face list:.

Definition at line 223 of file patch.H.

References _faces.

Referenced by StripTexCoordsCB2::compute_face_gradients(), StripTexCoordsCB3::compute_face_gradients(), VertUVTexture::compute_UV_grads(), create_dynamic_samples(), get_faces(), and put_faces().

GTexture * Patch::find_tex Cstr_ptr &  tex_name  )  const
 

Returns an existing texture of the given type, or nil.

Find an existing texture of the given type, but don't create one if it can't be found.

Definition at line 440 of file patch.C.

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

Referenced by get_tex().

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

STDdstream& APPEAR::format_local STDdstream ds  )  const [protected, inherited]
 

virtual Patch* Patch::get_child  )  [inline, virtual]
 

Used by Lpatch to produce a child patch at the next subdivision level.

Reimplemented in Lpatch.

Definition at line 319 of file patch.H.

Referenced by Lface::allocate_subdiv_elements(), and Lface::set_child_patch().

virtual void Patch::get_color TAGformat d  )  [inline, protected, virtual]
 

Reimplemented from APPEAR.

Definition at line 604 of file patch.H.

References set_color().

Referenced by tags().

virtual PatchData* Patch::get_data  )  [inline, virtual]
 

Definition at line 206 of file patch.H.

References _data.

bool Patch::get_do_dynamic_stuff  )  const [inline]
 

Definition at line 516 of file patch.H.

References _do_dynamic_stuff.

bool Patch::get_do_lod  )  [inline]
 

Definition at line 519 of file patch.H.

References _do_lod.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), and DotsShader::set_uniform_variables().

void Patch::get_faces TAGformat d  )  [protected, virtual]
 

Definition at line 941 of file patch.C.

References _mesh, add(), BMESH::bf(), err_msg(), faces(), and BMESH::nfaces().

Referenced by tags().

PIXEL Patch::get_old_sample_center  )  [inline]
 

center of the samples from last frame

Definition at line 507 of file patch.H.

References _old_center.

PIXEL Patch::get_patch_center  )  [inline]
 

Definition at line 513 of file patch.H.

References _patch_center.

PIXEL Patch::get_sample_center  )  [inline]
 

center of the samples

Definition at line 509 of file patch.H.

References _new_center.

const vector<DynamicSample>& Patch::get_samples  )  const [inline]
 

Definition at line 525 of file patch.H.

References _old_samples.

GTexture * Patch::get_tex Cstr_ptr &  tex_name  ) 
 

Same as find_tex() but makes a new GTexture if needed.

Returns a texture by class name. Finds one or gets one.

Definition at line 463 of file patch.C.

References _textures, GTexture::dup(), err_msg(), find_tex(), DATA_ITEM::lookup(), and GTexture::set_patch().

Referenced by cur_tex(), OGLTexture::draw_id_ref(), OGLTexture::draw_id_triangles(), OGLTexture::draw_vis_ref(), get_tex(), and get_tex_index().

int Patch::get_tex_index Cstr_ptr &  tex_name  )  [inline]
 

Returns an index for a texture.

Definition at line 422 of file patch.H.

References _textures, ARRAY< T >::get_index(), and get_tex().

Referenced by get_texture(), read_texture(), and set_texture().

void Patch::get_texture TAGformat d  )  [protected, virtual]
 

Reimplemented from APPEAR.

Definition at line 887 of file patch.C.

References _textures, DATA_ITEM::decode(), ERR_LEV_SPAM, err_mesg(), err_msg(), and get_tex_index().

Referenced by tags().

void APPEAR::get_transp TAGformat d  )  [inline, inherited]
 

Definition at line 160 of file appear.H.

References APPEAR::_has_transp, and APPEAR::_transp.

Referenced by GEOM::tags().

VEXEL Patch::get_z  )  [inline]
 

Non-accumulated z.

Definition at line 511 of file patch.H.

References _z.

const GTexture_list& Patch::gtextures  )  const [inline]
 

Definition at line 215 of file patch.H.

References _textures.

virtual bool APPEAR::has_ambient_color  )  const [inline, virtual, inherited]
 

Definition at line 98 of file appear.H.

References APPEAR::_has_ambient_color.

bool Patch::has_color  )  const [virtual]
 

Reimplemented from APPEAR.

Definition at line 827 of file patch.C.

References APPEAR::has_color().

Referenced by KeyLineTexture::draw(), patch_color(), put_color(), and set_color().

virtual bool APPEAR::has_shininess  )  const [inline, virtual, inherited]
 

Definition at line 125 of file appear.H.

References APPEAR::_has_shininess.

virtual bool APPEAR::has_specular_color  )  const [inline, virtual, inherited]
 

Definition at line 116 of file appear.H.

References APPEAR::_has_specular_color.

virtual bool APPEAR::has_texture  )  const [inline, virtual, inherited]
 

Definition at line 145 of file appear.H.

References APPEAR::_has_texture.

Referenced by apply_texture(), OGLTexture::check_patch_texture_map(), SmoothShadeTexture::draw(), FlatShadeTexture::draw(), and write_stream().

bool Patch::has_transp  )  const [virtual]
 

Reimplemented from APPEAR.

Definition at line 855 of file patch.C.

References APPEAR::has_transp().

Referenced by GTexture::alpha().

CWtransf& Patch::inv_xform  )  const [inline]
 

Definition at line 333 of file patch.H.

References _mesh, and BMESH::inv_xform().

Referenced by XToonTexture::update_lights(), and ToonTexture_1D::update_lights().

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 Patch::lod_t  )  const [inline]
 

Definition at line 527 of file patch.H.

References _lod_t.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), and DotsShader::set_uniform_variables().

VEXEL Patch::lod_u  )  const [inline]
 

Definition at line 528 of file patch.H.

References _lod_u.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), and DotsShader::set_uniform_variables().

VEXEL Patch::lod_v  )  const [inline]
 

Definition at line 529 of file patch.H.

References _lod_v.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), and DotsShader::set_uniform_variables().

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(), get_tex(), and BMESH::read_jot_stream().

BMESH* Patch::mesh  )  const [inline]
 

Definition at line 189 of file patch.H.

References _mesh.

Referenced by BMESH::add_face(), ControlFrameTexture::build_strip(), cur_mesh(), ZcrossTexture::draw(), XToonTexture::draw(), ToonTexture_1D::draw(), VertUVTexture::draw(), VertNormalsTexture::draw(), FlatShadeTexture::draw(), ControlFrameTexture::draw(), BMESH::Icosahedron(), GTexture::mesh(), BMESH::Octahedron(), LineDrawingGLSLMode::setup_for_drawing_inside_dl(), LineDrawingVprogFprogNoSSDMode::setup_for_drawing_outside_dl(), CurvatureARBvpARBfpMultiTextureMode::setup_for_drawing_outside_dl(), BMESH::Sphere(), BMESH::unlist(), and XToonTexture::update_cam().

Cstr_ptr& Patch::name  )  const [inline]
 

Definition at line 191 of file patch.H.

References _name.

Referenced by read_patchname(), and read_texture().

str_ptr& Patch::name_  )  [inline, protected]
 

Definition at line 600 of file patch.H.

References _name.

Referenced by tags().

void Patch::next_texture  ) 
 

Definition at line 428 of file patch.C.

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

Referenced by next_texture().

int Patch::num_edge_strips  )  const [inline]
 

Definition at line 202 of file patch.H.

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

Referenced by OGLTexture::draw_vert_and_edge_strips().

virtual int Patch::num_faces  )  const [inline, virtual]
 

For BMESH patch: returns number of faces in patch. For LMESH patch: returns number of faces at current subdiv level.

Remarks:
Popular with Gtextures to report on how many faces they rendered.

Reimplemented in Lpatch.

Definition at line 315 of file patch.H.

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

Referenced by XToonTexture::draw(), WireframeTexture::draw(), ToonTexture_1D::draw(), SolidColorTexture::draw(), SmoothShadeTexture::draw(), NormalsTexture::draw(), VertUVTexture::draw(), VertNormalsTexture::draw(), LineDrawingTexture::draw(), KeyLineTexture::draw(), GLSLShader::draw(), FlatShadeTexture::draw(), FaderTexture::draw(), CurvatureTexture::draw(), ControlLineTexture::draw(), ControlFrameTexture::draw(), ColorIDTexture::draw(), HiddenLineTexture::draw_final(), ControlLineTexture::draw_final(), KeyLineTexture::draw_hidden(), OGLTexture::draw_id_triangles(), ControlLineTexture::draw_vis_ref(), read_stream(), and BMESH::remove_patch().

int Patch::num_tri_strips  )  const [inline]
 

Definition at line 203 of file patch.H.

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

Referenced by write_strips().

int Patch::num_vert_strips  )  const [inline]
 

Definition at line 201 of file patch.H.

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

Referenced by OGLTexture::draw_vert_and_edge_strips().

CWtransf& Patch::obj_to_ndc  )  const [inline]
 

Definition at line 334 of file patch.H.

References _mesh, and BMESH::obj_to_ndc().

double Patch::pix_size  )  const [inline]
 

Definition at line 336 of file patch.H.

References _mesh, and BMESH::pix_size().

CARRAY<uint>& Patch::pixels  )  const [inline]
 

Definition at line 198 of file patch.H.

References _pixels.

virtual void Patch::put_color TAGformat d  )  const [inline, protected, virtual]
 

Reimplemented from APPEAR.

Definition at line 605 of file patch.H.

References color(), has_color(), and TAGformat::id().

Referenced by tags().

void Patch::put_faces TAGformat d  )  const [protected, virtual]
 

Definition at line 961 of file patch.C.

References _faces, TAGformat::end_id(), err_msg(), faces(), TAGformat::id(), Bface::index(), ARRAY< T >::num(), and Bface::patch().

Referenced by tags().

void APPEAR::put_texture TAGformat d  )  const [inherited]
 

Definition at line 32 of file appear.C.

References APPEAR::_has_texture, APPEAR::_tex_xform, APPEAR::_texture, TAGformat::end_id(), TAGformat::id(), and Config::JOT_ROOT().

Referenced by GEOM::tags().

void Patch::put_textures TAGformat d  )  const [protected, virtual]
 

Definition at line 917 of file patch.C.

References _textures, DATA_ITEM::class_name(), TAGformat::end_id(), ERR_LEV_SPAM, err_mesg(), TAGformat::id(), and ARRAY< T >::num().

Referenced by tags().

void APPEAR::put_transp TAGformat d  )  const [inline, inherited]
 

Definition at line 164 of file appear.H.

References APPEAR::_has_transp, APPEAR::_transp, and TAGformat::id().

Referenced by GEOM::tags().

int Patch::read_color istream &  is,
str_list leftover
[virtual]
 

Definition at line 721 of file patch.C.

References ARRAY< T >::clear(), and set_color().

Referenced by read_stream().

int Patch::read_patchname istream &  is,
str_list leftover
[virtual]
 

Definition at line 745 of file patch.C.

References ARRAY< T >::clear(), name(), and set_name().

Referenced by read_stream().

int Patch::read_stream istream &  is,
str_list leftover
[virtual]
 

Definition at line 595 of file patch.C.

References _cur_tex_i, _mesh, _textures, add(), BMESH::bf(), changed(), ARRAY< T >::clear(), IOBlock::consume(), debug, GTexture_list::delete_all(), err_msg(), Config::get_var_bool(), IOBlockList, BMESH::nfaces(), nfaces, ARRAY< T >::num(), num_faces(), read_color(), read_patchname(), read_texture(), and read_texture_map().

Referenced by BMESH::read_patch().

int Patch::read_texture istream &  is,
str_list leftover
[virtual]
 

Definition at line 686 of file patch.C.

References _textures, ARRAY< T >::clear(), get_tex_index(), name(), and GTexture::read_stream().

Referenced by read_stream().

int Patch::read_texture_map istream &  is,
str_list leftover
[virtual]
 

Definition at line 733 of file patch.C.

References _texture_file, and ARRAY< T >::clear().

Referenced by read_stream().

void Patch::recompute  )  [protected, virtual]
 

Reimplemented from DATA_ITEM.

Definition at line 930 of file patch.C.

References _faces, _mesh, add(), BMESH::bf(), ARRAY< T >::empty(), and nfaces.

virtual int Patch::rel_edit_level  )  [inline, virtual]
 

The mesh edit level, relative to this patch (filled in by Lpatch).

Definition at line 302 of file patch.H.

References _mesh, BMESH::edit_level(), and subdiv_level().

Referenced by ControlFrameTexture::draw().

virtual int Patch::rel_subdiv_level  )  [inline, virtual]
 

The level of this Patch relative to its control Patch (filled in by Lpatch).

Reimplemented in Lpatch.

Definition at line 298 of file patch.H.

Referenced by ControlFrameTexture::build_strip().

void Patch::remove EdgeStrip  ) 
 

Definition at line 285 of file patch.C.

References _edge_strips, changed(), EdgeStrip::patch(), EdgeStrip::patch_index(), ARRAY< T >::remove(), EdgeStrip::set_patch(), EdgeStrip::set_patch_index(), and ARRAY< T >::valid_index().

void Patch::remove VertStrip  ) 
 

Definition at line 260 of file patch.C.

References _vert_strips, changed(), VertStrip::patch(), VertStrip::patch_index(), ARRAY< T >::remove(), VertStrip::set_patch(), VertStrip::set_patch_index(), and ARRAY< T >::valid_index().

void Patch::remove Bface f  ) 
 

Definition at line 231 of file patch.C.

References _faces, err_msg(), Bface::patch(), Bface::patch_index(), ARRAY< T >::remove(), Bface::set_patch(), Bface::set_patch_index(), triangulation_changed(), and ARRAY< T >::valid_index().

Referenced by add(), Bface::~Bface(), and VertStrip::~VertStrip().

void Patch::reset_dynamic_samples  ) 
 

Definition at line 1198 of file patch.C.

PIXEL Patch::sample_origin  )  const [inline]
 

Definition at line 521 of file patch.H.

References _o.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), DotsShader_EX::set_uniform_variables(), and DotsShader::set_uniform_variables().

double Patch::sample_scale  )  const [inline]
 

Definition at line 524 of file patch.H.

References _scale.

VEXEL Patch::sample_u_vec  )  const [inline]
 

Definition at line 522 of file patch.H.

References _o, and _u_o.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), DotsShader::set_uniform_variables(), and update_dynamic_samples().

VEXEL Patch::sample_v_vec  )  const [inline]
 

Definition at line 523 of file patch.H.

References _o, and _v_o.

Referenced by HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), DotsShader::set_uniform_variables(), and update_dynamic_samples().

virtual void APPEAR::set_ambient_color CCOLOR c  )  [inline, virtual, inherited]
 

Definition at line 94 of file appear.H.

References APPEAR::_ambient_color, and APPEAR::_has_ambient_color.

void Patch::set_color CCOLOR c  )  [virtual]
 

Reimplemented from APPEAR.

Definition at line 833 of file patch.C.

References color(), has_color(), and APPEAR::set_color().

Referenced by get_color(), and read_color().

virtual void Patch::set_data PatchData d  )  [inline, virtual]
 

Definition at line 205 of file patch.H.

References _data.

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 Patch::set_do_lod bool  d  )  [inline]
 

Definition at line 518 of file patch.H.

References _do_lod.

void Patch::set_mesh BMESH m  )  [inline]
 

Definition at line 190 of file patch.H.

References _mesh, and changed().

Referenced by BMESH::_merge().

void Patch::set_name Cstr_ptr &  str  )  [inline]
 

Definition at line 192 of file patch.H.

References _name.

Referenced by OBJReaderImpl::add_patches(), Patch(), and read_patchname().

virtual void APPEAR::set_shininess double  s  )  [inline, virtual, inherited]
 

Definition at line 121 of file appear.H.

References APPEAR::_has_shininess, and APPEAR::_shininess.

virtual void APPEAR::set_specular_color CCOLOR c  )  [inline, virtual, inherited]
 

Definition at line 112 of file appear.H.

References APPEAR::_has_specular_color, and APPEAR::_specular_color.

void Patch::set_tex_coord_gen TexCoordGen tg  )  [inline]
 

Definition at line 196 of file patch.H.

References _tex_coord_gen.

Referenced by FlatShadeTexture::draw().

virtual void APPEAR::set_tex_xform mlib::CWtransf t  )  [inline, virtual, inherited]
 

Definition at line 152 of file appear.H.

References APPEAR::_tex_xform.

void Patch::set_texture CTEXTUREptr &  t  )  [virtual]
 

Set normal texture map.

Reimplemented from APPEAR.

Definition at line 873 of file patch.C.

References changed(), and APPEAR::set_texture().

void Patch::set_texture Cstr_ptr &  style  ) 
 

Definition at line 421 of file patch.C.

References _cur_tex_i, and get_tex_index().

void Patch::set_texture GTexture gtex  ) 
 

Definition at line 409 of file patch.C.

References _cur_tex_i, _textures, ARRAY< T >::add_uniquely(), err_msg(), and ARRAY< T >::get_index().

Referenced by OGLTexture::check_patch_texture_map().

void Patch::set_texture_file Cstr_ptr &  str  )  [inline]
 

Definition at line 194 of file patch.H.

References _texture_file.

Referenced by OGLTexture::check_patch_texture_map().

void Patch::set_transp double  t  )  [virtual]
 

Reimplemented from APPEAR.

Definition at line 861 of file patch.C.

References APPEAR::set_transp().

virtual double APPEAR::shininess  )  const [inline, virtual, inherited]
 

Definition at line 127 of file appear.H.

References APPEAR::_has_shininess, APPEAR::_shininess, and Config::get_var_dbl().

Referenced by SmoothShadeTexture::draw(), and GtexUtil::setup_material().

EdgeStrip& Patch::sils  )  [inline, protected]
 

Simple accessor -- no checks for updating.

Note:
May be phased out because it appears to be unused.

Definition at line 269 of file patch.H.

References _sils.

Referenced by BMESH::build_sil_strips().

virtual CCOLOR& APPEAR::specular_color  )  const [inline, virtual, inherited]
 

Definition at line 118 of file appear.H.

References APPEAR::_has_specular_color, APPEAR::_specular_color, and COLOR::white.

Referenced by SmoothShadeTexture::draw(), and GtexUtil::setup_material().

virtual uint Patch::stamp  )  [inline, virtual]
 

Reimplemented in Lpatch.

Definition at line 367 of file patch.H.

References _mesh, _mesh_version, _stamp, changed(), and BMESH::version().

Referenced by BasicTexture::dl_valid(), XToonTexture::draw(), WireframeTexture::draw(), ToonTexture_1D::draw(), SolidColorTexture::draw(), SmoothShadeTexture::draw(), VertUVTexture::draw(), VertNormalsTexture::draw(), LineDrawingTexture::draw(), GLSLShader::draw(), FlatShadeTexture::draw(), CurvatureTexture::draw(), CreasesTexture::draw(), ControlFrameTexture::draw(), and ColorIDTexture::draw().

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

int Patch::stencil_id  )  [inline]
 

Definition at line 208 of file patch.H.

References _next_stencil_id, and _stencil_id.

int Patch::subdiv_level  )  const [inline]
 

The level of this Patch in the subdivision hierarchy (control mesh is 0, next level is 1, etc.).

Definition at line 294 of file patch.H.

References _mesh, and BMESH::subdiv_level().

Referenced by Lpatch::cur_edges(), Lpatch::cur_patch(), rel_edit_level(), and Lpatch::rel_subdiv_level().

CTAGlist & Patch::tags  )  const [virtual]
 

Reimplemented from DATA_ITEM.

Reimplemented in Lpatch.

Definition at line 788 of file patch.C.

References _patch_tags, cur_tex_i_(), get_color(), get_faces(), get_texture(), name_(), put_color(), put_faces(), and put_textures().

Referenced by Lpatch::tags().

TexCoordGen* Patch::tex_coord_gen  )  const [inline]
 

Definition at line 195 of file patch.H.

References _tex_coord_gen.

Referenced by FlatShadeTexture::draw(), SmoothShadeStripCB::faceCB(), FlatShadeStripCB::faceCB(), UV_attrib::get_attrib(), and Bedge::is_texture_seam().

virtual mlib::CWtransf& APPEAR::tex_xform  )  const [inline, virtual, inherited]
 

Definition at line 150 of file appear.H.

References APPEAR::_tex_xform.

virtual CTEXTUREptr& APPEAR::texture  )  const [inline, virtual, inherited]
 

Definition at line 147 of file appear.H.

References APPEAR::_texture.

Cstr_ptr& Patch::texture_file  )  const [inline]
 

Definition at line 193 of file patch.H.

References _texture_file.

Referenced by OGLTexture::check_patch_texture_map().

double Patch::transp  )  const [virtual]
 

Reimplemented from APPEAR.

Definition at line 849 of file patch.C.

References APPEAR::transp().

Referenced by GTexture::alpha().

void Patch::triangulation_changed  )  [virtual]
 

Reimplemented in Lpatch.

Definition at line 90 of file patch.C.

References _tri_strips_dirty, borders_changed(), changed(), and creases_changed().

Referenced by add(), Bface::redef2(), Bface::redefine(), remove(), Bface::reverse(), Patch_list::triangulation_changed(), and Lpatch::triangulation_changed().

virtual double Patch::tris_per_strip  )  const [inline, virtual]
 

Reimplemented in Lpatch.

Definition at line 353 of file patch.H.

References _faces, _tri_strips, ARRAY< T >::empty(), and ARRAY< T >::num().

Referenced by build_tri_strips().

virtual void APPEAR::unset_ambient_color  )  [inline, virtual, inherited]
 

Definition at line 96 of file appear.H.

References APPEAR::_has_ambient_color.

void Patch::unset_color  )  [virtual]
 

Reimplemented from APPEAR.

Definition at line 843 of file patch.C.

References APPEAR::unset_color().

virtual void APPEAR::unset_shininess  )  [inline, virtual, inherited]
 

Definition at line 123 of file appear.H.

References APPEAR::_has_shininess.

virtual void APPEAR::unset_specular_color  )  [inline, virtual, inherited]
 

Definition at line 114 of file appear.H.

References APPEAR::_has_specular_color.

void Patch::unset_texture  )  [virtual]
 

Unset normal texture map.

Reimplemented from APPEAR.

Definition at line 880 of file patch.C.

References changed(), and APPEAR::unset_texture().

void Patch::unset_transp  )  [virtual]
 

Reimplemented from APPEAR.

Definition at line 867 of file patch.C.

References APPEAR::unset_transp().

void Patch::update_dynamic_samples  ) 
 

Definition at line 1072 of file patch.C.

References _do_dynamic_stuff, _do_lod, _dynamic_stamp, _lod_t, _lod_u, _lod_v, _new_center, _o, _old_center, _old_samples, _scale, _u_o, _v_o, _z, cmult(), create_dynamic_samples(), mlib::epsZeroMath(), Config::get_var_bool(), get_weight(), mlib::isZero(), mlib::Vec2< V >::length(), mlib::Vec2< V >::length_sqrd(), mlib::Vec2< V >::normalized(), sample_u_vec(), sample_v_vec(), VIEW::stamp(), sum_weights(), weighted_sum(), and xform().

Referenced by HalftoneShaderEx::set_uniform_variables(), HalftoneShader::set_uniform_variables(), GLSLPaperShader::set_uniform_variables(), DotsShader_EX::set_uniform_variables(), and DotsShader::set_uniform_variables().

RefImageClient::ref_img_t Patch::use_ref_image  )  [virtual]
 

Reimplemented from RefImageClient.

Definition at line 759 of file patch.C.

References cur_tex(), VIEW::peek(), RefImageClient::REF_IMG_NONE, and RefImageClient::use_ref_image().

Bvert_list Patch::verts  )  const
 

Heavyweight: builds the lists and returns by copying (returns vertices and edges of this patch).

Definition at line 182 of file patch.C.

References _faces, _mesh, Bface_list::get_verts(), BMESH::is_points(), BMESH::is_polylines(), BMESH::nfaces(), ARRAY< T >::num(), and BMESH::verts().

Referenced by cur_verts().

int Patch::write_stream ostream &  os  )  [virtual]
 

Definition at line 520 of file patch.C.

References APPEAR::_color, _cur_tex_i, _faces, APPEAR::_has_color, _mesh, _name, APPEAR::_texture, _textures, cur_faces(), ARRAY< T >::empty(), get_ctrl_patch(), APPEAR::has_texture(), int(), BMESH::nfaces(), NULL_STR, ARRAY< T >::num(), and GTexture_list::write_stream().

Referenced by Patch_list::write_stream().

CWtransf& Patch::xform  )  const [inline]
 

Definition at line 332 of file patch.H.

References _mesh, and BMESH::xform().

Referenced by XToonTexture::draw(), ToonTexture_1D::draw(), and update_dynamic_samples().

ZcrossPath& Patch::zx_sils  )  [inline, protected]
 

Note:
May be phased out because it appears to be unused.

Definition at line 271 of file patch.H.

References _zx_sils.

Referenced by BMESH::build_zcross_strips().


Friends And Related Function Documentation

friend class BMESH [friend]
 

Definition at line 180 of file patch.H.


Member Data Documentation

COLOR APPEAR::_ambient_color [protected, inherited]
 

Ambient color.

Definition at line 40 of file appear.H.

Referenced by APPEAR::ambient_color(), and APPEAR::set_ambient_color().

EdgeStrip* Patch::_borders [protected]
 

border edges (maybe derived type)

Definition at line 548 of file patch.H.

Referenced by borders(), borders_changed(), build_borders(), and ~Patch().

COLOR APPEAR::_color [protected, inherited]
 

Diffuse color.

Definition at line 42 of file appear.H.

Referenced by APPEAR::color(), color_(), TEXT2D::draw(), GEOM::draw(), APPEAR::get_color(), APPEAR::put_color(), APPEAR::set_color(), and write_stream().

int DATA_ITEM::_copy [protected, inherited]
 

Definition at line 197 of file data_item.H.

Referenced by DATA_ITEM::Decode().

EdgeStrip* Patch::_creases [protected]
 

crease edges (maybe derived type)

Definition at line 547 of file patch.H.

Referenced by build_creases(), creases(), creases_changed(), and ~Patch().

int Patch::_cur_tex_i [protected]
 

index of current texture

Definition at line 553 of file patch.H.

Referenced by cur_tex(), cur_tex_i_(), next_texture(), read_stream(), set_texture(), and write_stream().

PatchData* Patch::_data [protected]
 

optional custom data

Definition at line 567 of file patch.H.

Referenced by get_data(), and set_data().

TAGlist DATA_ITEM::_DEFINERtags [protected, inherited]
 

Definition at line 198 of file data_item.H.

Referenced by DATA_ITEM::tags().

bool Patch::_do_dynamic_stuff [protected]
 

Definition at line 588 of file patch.H.

Referenced by do_dynamic_stuff(), get_do_dynamic_stuff(), and update_dynamic_samples().

bool Patch::_do_lod [protected]
 

Definition at line 589 of file patch.H.

Referenced by get_do_lod(), set_do_lod(), and update_dynamic_samples().

uint Patch::_dynamic_stamp [protected]
 

Definition at line 587 of file patch.H.

Referenced by update_dynamic_samples().

ARRAY<EdgeStrip*> Patch::_edge_strips [protected]
 

edges to be rendered as line strips

Definition at line 549 of file patch.H.

Referenced by add(), draw_edge_strips(), num_edge_strips(), and remove().

Bface_list Patch::_faces [protected]
 

unordered faces

Definition at line 542 of file patch.H.

Referenced by add(), build_tri_strips(), Lpatch::cur_edges(), cur_faces(), Lpatch::cur_verts(), draw_tri_strips(), edges(), faces(), Lpatch::lface(), num_faces(), put_faces(), recompute(), remove(), tris_per_strip(), verts(), write_stream(), and ~Patch().

bool APPEAR::_has_ambient_color [protected, inherited]
 

true if it has ambient color

Definition at line 41 of file appear.H.

Referenced by APPEAR::ambient_color(), APPEAR::has_ambient_color(), APPEAR::set_ambient_color(), and APPEAR::unset_ambient_color().

bool APPEAR::_has_color [protected, inherited]
 

true if it has diffuse color

Definition at line 43 of file appear.H.

Referenced by APPEAR::color(), TEXT2D::draw(), GEOM::draw(), APPEAR::get_color(), APPEAR::has_color(), APPEAR::put_color(), APPEAR::set_color(), APPEAR::unset_color(), and write_stream().

bool APPEAR::_has_shininess [protected, inherited]
 

true if it has shininess

Definition at line 47 of file appear.H.

Referenced by APPEAR::has_shininess(), APPEAR::set_shininess(), APPEAR::shininess(), and APPEAR::unset_shininess().

bool APPEAR::_has_specular_color [protected, inherited]
 

true if it has specular color

Definition at line 45 of file appear.H.

Referenced by APPEAR::has_specular_color(), APPEAR::set_specular_color(), APPEAR::specular_color(), and APPEAR::unset_specular_color().

bool APPEAR::_has_texture [protected, inherited]
 

true if we are textured

Definition at line 51 of file appear.H.

Referenced by APPEAR::get_texture(), APPEAR::has_texture(), APPEAR::put_texture(), APPEAR::set_texture(), and APPEAR::unset_texture().

bool APPEAR::_has_transp [protected, inherited]
 

true if it has transparency

Definition at line 49 of file appear.H.

Referenced by GEOM::draw(), APPEAR::get_transp(), APPEAR::has_transp(), APPEAR::put_transp(), APPEAR::set_transp(), APPEAR::transp(), and APPEAR::unset_transp().

init_fade_func_t Patch::_init_fade = 0 [static]
 

Function to use for initializing a fade from one GTexture to another.

Definition at line 502 of file patch.H.

Referenced by draw().

double Patch::_lod_t [protected]
 

Definition at line 590 of file patch.H.

Referenced by lod_t(), and update_dynamic_samples().

VEXEL Patch::_lod_u [protected]
 

Definition at line 591 of file patch.H.

Referenced by lod_u(), and update_dynamic_samples().

VEXEL Patch::_lod_v [protected]
 

Definition at line 592 of file patch.H.

Referenced by lod_v(), and update_dynamic_samples().

BMESH* Patch::_mesh [protected]
 

owner

Definition at line 540 of file patch.H.

Referenced by build_borders(), build_creases(), build_sils(), build_zx_sils(), Lpatch::control_mesh(), create_dynamic_samples(), Lpatch::cur_edges(), Lpatch::cur_level(), cur_tex(), Lpatch::cur_verts(), edges(), eye_local(), get_faces(), inv_xform(), Lpatch::lmesh(), mesh(), obj_to_ndc(), Patch(), pix_size(), read_stream(), recompute(), rel_edit_level(), set_mesh(), stamp(), subdiv_level(), verts(), write_stream(), xform(), and ~Patch().

uint Patch::_mesh_version [protected]
 

last recorded mesh version

Definition at line 560 of file patch.H.

Referenced by stamp().

str_ptr Patch::_name [protected]
 

name

Definition at line 563 of file patch.H.

Referenced by name(), name_(), set_name(), and write_stream().

PIXEL Patch::_new_center [protected]
 

sample's center in the current frame

Definition at line 577 of file patch.H.

Referenced by get_sample_center(), and update_dynamic_samples().

int Patch::_next_stencil_id = 0 [static, protected]
 

Definition at line 570 of file patch.H.

Referenced by stencil_id().

int Patch::_non_tex_i [protected]
 

Definition at line 554 of file patch.H.

PIXEL Patch::_o [protected]
 

These are used when growing new faces, chaced values of the first quad, so that given a new UV point can figure out new location of the points

Definition at line 584 of file patch.H.

Referenced by sample_origin(), sample_u_vec(), sample_v_vec(), and update_dynamic_samples().

PIXEL Patch::_old_center [protected]
 

sample's center in the last frame

Definition at line 576 of file patch.H.

Referenced by get_old_sample_center(), and update_dynamic_samples().

vector<DynamicSample> Patch::_old_samples [protected]
 

old sample positions (in pixel space)

Definition at line 574 of file patch.H.

Referenced by create_dynamic_samples(), get_samples(), and update_dynamic_samples().

PIXEL Patch::_patch_center [protected]
 

XXX testing...

Definition at line 580 of file patch.H.

Referenced by get_patch_center().

TAGlist * Patch::_patch_tags = 0 [static, protected]
 

Definition at line 598 of file patch.H.

Referenced by tags().

ARRAY<uint> Patch::_pixels [protected]
 

pixels on patch

Definition at line 558 of file patch.H.

Referenced by add_pixel(), draw(), and pixels().

GTexture* Patch::_prev_tex [protected]
 

last GTexture used

Definition at line 556 of file patch.H.

Referenced by draw().

double Patch::_scale [protected]
 

total accumulated scale...

Definition at line 579 of file patch.H.

Referenced by sample_scale(), and update_dynamic_samples().

double APPEAR::_shininess [protected, inherited]
 

Specular shininess.

Definition at line 46 of file appear.H.

Referenced by APPEAR::set_shininess(), and APPEAR::shininess().

EdgeStrip Patch::_sils [protected]
 

silhouette edges (as strip)

Definition at line 545 of file patch.H.

Referenced by build_sils(), and sils().

COLOR APPEAR::_specular_color [protected, inherited]
 

Specular color.

Definition at line 44 of file appear.H.

Referenced by APPEAR::set_specular_color(), and APPEAR::specular_color().

uint Patch::_stamp [protected]
 

version number

Definition at line 559 of file patch.H.

Referenced by changed(), and stamp().

int Patch::_stencil_id [protected]
 

Definition at line 569 of file patch.H.

Referenced by stencil_id().

TexCoordGen* Patch::_tex_coord_gen [protected]
 

for generating texture coordinates

Definition at line 566 of file patch.H.

Referenced by set_tex_coord_gen(), and tex_coord_gen().

mlib::Wtransf APPEAR::_tex_xform [protected, inherited]
 

Texture transformation.

Definition at line 52 of file appear.H.

Referenced by apply_texture(), APPEAR::get_texture(), APPEAR::put_texture(), APPEAR::set_tex_xform(), and APPEAR::tex_xform().

TEXTUREptr APPEAR::_texture [protected, inherited]
 

What the texture is.

Reimplemented in ICON2D.

Definition at line 50 of file appear.H.

Referenced by apply_texture(), APPEAR::get_texture(), APPEAR::put_texture(), APPEAR::set_texture(), APPEAR::texture(), and write_stream().

str_ptr Patch::_texture_file [protected]
 

name of texture map image file

Definition at line 564 of file patch.H.

Referenced by read_texture_map(), set_texture_file(), and texture_file().

GTexture_list Patch::_textures [protected]
 

list of textures

Definition at line 552 of file patch.H.

Referenced by cur_tex(), find_tex(), get_tex(), get_tex_index(), get_texture(), gtextures(), next_texture(), Patch(), put_textures(), read_stream(), read_texture(), set_texture(), write_stream(), and ~Patch().

double APPEAR::_transp [protected, inherited]
 

transparency (AKA alpha, in OpenGL)

Definition at line 48 of file appear.H.

Referenced by GEOM::draw(), APPEAR::get_transp(), APPEAR::put_transp(), APPEAR::set_transp(), and APPEAR::transp().

ARRAY<TriStrip*> Patch::_tri_strips [protected]
 

faces organized into tri strips

Definition at line 543 of file patch.H.

Referenced by build_tri_strips(), Lpatch::clear_subdiv_strips(), draw_tri_strips(), Lpatch::lstrip(), num_tri_strips(), tris_per_strip(), and ~Patch().

bool Patch::_tri_strips_dirty [protected]
 

used to rebuild _tri_strips

Definition at line 561 of file patch.H.

Referenced by build_tri_strips(), Lpatch::clear_subdiv_strips(), and triangulation_changed().

PIXEL Patch::_u_o [protected]
 

Definition at line 585 of file patch.H.

Referenced by sample_u_vec(), and update_dynamic_samples().

PIXEL Patch::_v_o [protected]
 

Definition at line 586 of file patch.H.

Referenced by sample_v_vec(), and update_dynamic_samples().

ARRAY<VertStrip*> Patch::_vert_strips [protected]
 

vertices to be rendered as points

Definition at line 550 of file patch.H.

Referenced by add(), draw_vert_strips(), num_vert_strips(), and remove().

VEXEL Patch::_z [protected]
 

non-accumulated z

Definition at line 578 of file patch.H.

Referenced by get_z(), and update_dynamic_samples().

ZcrossPath Patch::_zx_sils [protected]
 

zero_crossing sils

Definition at line 546 of file patch.H.

Referenced by build_zx_sils(), and zx_sils().


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