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

FlatShadeStripCB Class Reference

A callback class for rendering each face of a Patch with a flat shading style. More...

#include <flat_shade.H>

Inheritance diagram for FlatShadeStripCB:

Inheritance graph
[legend]
Collaboration diagram for FlatShadeStripCB:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FlatShadeStripCB ()
 ~FlatShadeStripCB ()
virtual void begin_faces (TriStrip *)
virtual void end_faces (TriStrip *)
virtual void begin_edges (EdgeStrip *)
virtual void end_edges (EdgeStrip *)
virtual void begin_verts (VertStrip *)
virtual void end_verts (VertStrip *)
virtual void edgeCB (CBvert *v, CBedge *)
virtual void vertCB (CBvert *v)
Accessor Functions
void enable_texcoords ()
void disable_texcoords ()
bool texcoords_enabled ()
void enable_autoUV ()
void disable_autoUV ()
bool autoUV_enabled ()
Callback Hooks
virtual void faceCB (CBvert *v, CBface *f)

Public Attributes

double alpha

Private Attributes

bool do_texcoords
 Should texture coordinates be sent to OpenGL with each vertex?
bool use_auto
TexCoordGenauto_UV

Detailed Description

A callback class for rendering each face of a Patch with a flat shading style.

This is the GLStripCB for the FlatShadeTexture GTexture.

See also:
FlatShadeTexture

Definition at line 25 of file flat_shade.H.


Constructor & Destructor Documentation

FlatShadeStripCB::FlatShadeStripCB  )  [inline]
 

Definition at line 29 of file flat_shade.H.

References auto_UV, TexCoordGen::setup(), and use_auto.

FlatShadeStripCB::~FlatShadeStripCB  )  [inline]
 

Definition at line 36 of file flat_shade.H.

References auto_UV.


Member Function Documentation

bool FlatShadeStripCB::autoUV_enabled  )  [inline]
 

Definition at line 50 of file flat_shade.H.

References use_auto.

virtual void GLStripCB::begin_edges EdgeStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Reimplemented in StripColorCB.

Definition at line 37 of file util.H.

References GL_LINE_STRIP, and glBegin().

Referenced by StripColorCB::begin_edges().

virtual void GLStripCB::begin_faces TriStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Reimplemented in StripColorCB.

Definition at line 34 of file util.H.

References GL_TRIANGLE_STRIP, and glBegin().

Referenced by StripColorCB::begin_faces().

virtual void GLStripCB::begin_verts VertStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Reimplemented in StripColorCB.

Definition at line 40 of file util.H.

References GL_POINTS, and glBegin().

Referenced by StripColorCB::begin_verts().

void FlatShadeStripCB::disable_autoUV  )  [inline]
 

Definition at line 49 of file flat_shade.H.

References use_auto.

void FlatShadeStripCB::disable_texcoords  )  [inline]
 

Definition at line 45 of file flat_shade.H.

References do_texcoords.

Referenced by FlatShadeTexture::draw().

virtual void GLStripCB::edgeCB CBvert v,
CBedge
[inline, virtual, inherited]
 

Reimplemented from StripCB.

Reimplemented in ColorIDStripCB, and StripColorCB.

Definition at line 47 of file util.H.

References glVertex3dv(), and Bvert::loc().

Referenced by StripColorCB::edgeCB().

void FlatShadeStripCB::enable_autoUV  )  [inline]
 

Definition at line 48 of file flat_shade.H.

References use_auto.

void FlatShadeStripCB::enable_texcoords  )  [inline]
 

Definition at line 44 of file flat_shade.H.

References do_texcoords.

Referenced by FlatShadeTexture::draw().

virtual void GLStripCB::end_edges EdgeStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Definition at line 38 of file util.H.

References glEnd().

virtual void GLStripCB::end_faces TriStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Definition at line 35 of file util.H.

References glEnd().

virtual void GLStripCB::end_verts VertStrip  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Definition at line 41 of file util.H.

References glEnd().

void FlatShadeStripCB::faceCB CBvert v,
CBface f
[virtual]
 

Reimplemented from GLStripCB.

Definition at line 27 of file flat_shade.C.

References Bvert::alpha(), StripCB::alpha, auto_UV, Bvert::color(), mlib::Point2< P, V >::data(), do_texcoords, UVdata::get_uv(), GL_COL(), glNormal3dv(), glTexCoord2dv(), glVertex3dv(), Bvert::has_color(), Bvert::loc(), UVdata::lookup(), Bface::norm(), Bface::patch(), Patch::tex_coord_gen(), use_auto, and TexCoordGen::uv_from_vert().

bool FlatShadeStripCB::texcoords_enabled  )  [inline]
 

Definition at line 46 of file flat_shade.H.

References do_texcoords.

virtual void GLStripCB::vertCB CBvert v  )  [inline, virtual, inherited]
 

Reimplemented from StripCB.

Reimplemented in ColorIDStripCB.

Definition at line 48 of file util.H.

References glVertex3dv(), and Bvert::loc().


Member Data Documentation

double StripCB::alpha [inherited]
 

Definition at line 39 of file stripcb.H.

Referenced by StripColorCB::begin_faces(), StripColorCB::begin_verts(), SmoothShadeTexture::draw(), LineDrawingTexture::draw(), FlatShadeTexture::draw(), CurvatureTexture::draw(), StripColorCB::edgeCB(), SmoothShadeStripCB::faceCB(), StripTexCoordsCB2::faceCB(), faceCB(), and StripTexCoordsCB3::faceCB().

TexCoordGen* FlatShadeStripCB::auto_UV [private]
 

Definition at line 66 of file flat_shade.H.

Referenced by faceCB(), FlatShadeStripCB(), and ~FlatShadeStripCB().

bool FlatShadeStripCB::do_texcoords [private]
 

Should texture coordinates be sent to OpenGL with each vertex?

Definition at line 64 of file flat_shade.H.

Referenced by disable_texcoords(), enable_texcoords(), faceCB(), and texcoords_enabled().

bool FlatShadeStripCB::use_auto [private]
 

Definition at line 65 of file flat_shade.H.

Referenced by autoUV_enabled(), disable_autoUV(), enable_autoUV(), faceCB(), and FlatShadeStripCB().


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