GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
opengl_renderer::patch_tessellator Class Reference
Inheritance diagram for opengl_renderer::patch_tessellator:
Collaboration diagram for opengl_renderer::patch_tessellator:

Public Types

typedef void(* fcn) (void)
 

Public Member Functions

 patch_tessellator (opengl_renderer *r, int cmode, int lmode, bool fl, float idx=0.0)
 
void add_vertex (double *loc, void *data) const
 
void begin_contour (void) const
 
void begin_polygon (bool filled=true)
 
void end_contour (void) const
 
void end_polygon (void) const
 

Protected Member Functions

void begin (GLenum type)
 
void combine (GLdouble xyz[3], void *data[4], GLfloat w[4], void **out_data)
 
virtual void edge_flag (GLboolean)
 
void end (void)
 
virtual void error (GLenum err)
 
virtual void init (void)
 
bool is_filled (void) const
 
void vertex (void *data)
 

Private Member Functions

 patch_tessellator (const patch_tessellator &)=delete
 
patch_tessellatoroperator= (const patch_tessellator &)=delete
 

Static Private Member Functions

static void tess_begin (GLenum type, void *t)
 
static void tess_combine (GLdouble c[3], void *v[4], GLfloat w[4], void **out, void *t)
 
static void tess_edge_flag (GLboolean flag, void *t)
 
static void tess_end (void *t)
 
static void tess_error (GLenum err, void *t)
 
static void tess_vertex (void *v, void *t)
 

Private Attributes

int m_color_mode
 
bool m_face_lighting
 
bool m_fill
 
bool m_first
 
GLUtesselator * m_glu_tess
 
int m_index
 
int m_light_mode
 
opengl_rendererm_renderer
 
std::list< vertex_datam_tmp_vdata
 

Detailed Description

Definition at line 510 of file gl-render.cc.

Member Typedef Documentation

◆ fcn

typedef void( * opengl_tessellator::fcn) (void)
inherited

Definition at line 348 of file gl-render.cc.

Constructor & Destructor Documentation

◆ patch_tessellator() [1/2]

opengl_renderer::patch_tessellator::patch_tessellator ( opengl_renderer r,
int  cmode,
int  lmode,
bool  fl,
float  idx = 0.0 
)
inline

Definition at line 514 of file gl-render.cc.

◆ patch_tessellator() [2/2]

opengl_renderer::patch_tessellator::patch_tessellator ( const patch_tessellator )
privatedelete

Member Function Documentation

◆ add_vertex()

void opengl_tessellator::add_vertex ( double *  loc,
void *  data 
) const
inlineinherited

Definition at line 381 of file gl-render.cc.

References loc.

Referenced by opengl_renderer::draw_patch().

◆ begin()

void opengl_renderer::patch_tessellator::begin ( GLenum  type)
inlineprotectedvirtual

Reimplemented from opengl_tessellator.

Definition at line 522 of file gl-render.cc.

References opengl_functions::glBegin(), opengl_functions::glShadeModel(), GOURAUD, and INTERP.

◆ begin_contour()

void opengl_tessellator::begin_contour ( void  ) const
inlineinherited

Definition at line 375 of file gl-render.cc.

Referenced by opengl_renderer::draw_patch().

◆ begin_polygon()

void opengl_tessellator::begin_polygon ( bool  filled = true)
inlineinherited

Definition at line 364 of file gl-render.cc.

Referenced by opengl_renderer::draw_patch().

◆ combine()

void opengl_renderer::patch_tessellator::combine ( GLdouble  xyz[3],
void *  data[4],
GLfloat  w[4],
void **  out_data 
)
inlineprotectedvirtual

◆ edge_flag()

virtual void opengl_tessellator::edge_flag ( GLboolean  )
inlineprotectedvirtualinherited

Definition at line 394 of file gl-render.cc.

◆ end()

void opengl_renderer::patch_tessellator::end ( void  )
inlineprotectedvirtual

Reimplemented from opengl_tessellator.

Definition at line 540 of file gl-render.cc.

References opengl_functions::glEnd().

◆ end_contour()

void opengl_tessellator::end_contour ( void  ) const
inlineinherited

Definition at line 378 of file gl-render.cc.

Referenced by opengl_renderer::draw_patch().

◆ end_polygon()

void opengl_tessellator::end_polygon ( void  ) const
inlineinherited

Definition at line 372 of file gl-render.cc.

Referenced by opengl_renderer::draw_patch().

◆ error()

virtual void opengl_tessellator::error ( GLenum  err)
inlineprotectedvirtualinherited

Definition at line 396 of file gl-render.cc.

References error().

◆ init()

virtual void opengl_tessellator::init ( void  )
inlineprotectedvirtualinherited

Definition at line 399 of file gl-render.cc.

◆ is_filled()

bool opengl_tessellator::is_filled ( void  ) const
inlineprotectedinherited

Definition at line 417 of file gl-render.cc.

◆ operator=()

patch_tessellator& opengl_renderer::patch_tessellator::operator= ( const patch_tessellator )
privatedelete

◆ tess_begin()

static void opengl_tessellator::tess_begin ( GLenum  type,
void *  t 
)
inlinestaticprivateinherited

Definition at line 420 of file gl-render.cc.

◆ tess_combine()

static void opengl_tessellator::tess_combine ( GLdouble  c[3],
void *  v[4],
GLfloat  w[4],
void **  out,
void *  t 
)
inlinestaticprivateinherited

Definition at line 429 of file gl-render.cc.

References Faddeeva::w().

◆ tess_edge_flag()

static void opengl_tessellator::tess_edge_flag ( GLboolean  flag,
void *  t 
)
inlinestaticprivateinherited

Definition at line 433 of file gl-render.cc.

◆ tess_end()

static void opengl_tessellator::tess_end ( void *  t)
inlinestaticprivateinherited

Definition at line 423 of file gl-render.cc.

◆ tess_error()

static void opengl_tessellator::tess_error ( GLenum  err,
void *  t 
)
inlinestaticprivateinherited

Definition at line 436 of file gl-render.cc.

References error().

◆ tess_vertex()

static void opengl_tessellator::tess_vertex ( void *  v,
void *  t 
)
inlinestaticprivateinherited

Definition at line 426 of file gl-render.cc.

◆ vertex()

Member Data Documentation

◆ m_color_mode

int opengl_renderer::patch_tessellator::m_color_mode
private

Definition at line 666 of file gl-render.cc.

◆ m_face_lighting

bool opengl_renderer::patch_tessellator::m_face_lighting
private

Definition at line 668 of file gl-render.cc.

◆ m_fill

bool opengl_tessellator::m_fill
privateinherited

Definition at line 442 of file gl-render.cc.

◆ m_first

bool opengl_renderer::patch_tessellator::m_first
private

Definition at line 670 of file gl-render.cc.

◆ m_glu_tess

GLUtesselator* opengl_tessellator::m_glu_tess
privateinherited

Definition at line 441 of file gl-render.cc.

◆ m_index

int opengl_renderer::patch_tessellator::m_index
private

Definition at line 669 of file gl-render.cc.

◆ m_light_mode

int opengl_renderer::patch_tessellator::m_light_mode
private

Definition at line 667 of file gl-render.cc.

◆ m_renderer

opengl_renderer* opengl_renderer::patch_tessellator::m_renderer
private

Definition at line 665 of file gl-render.cc.

◆ m_tmp_vdata

std::list<vertex_data> opengl_renderer::patch_tessellator::m_tmp_vdata
private

Definition at line 671 of file gl-render.cc.


The documentation for this class was generated from the following file: