KrisLibrary  1.0.0
drawMesh.h
1 #ifndef GLDRAW_DRAW_MESH_H
2 #define GLDRAW_DRAW_MESH_H
3 
4 #include <KrisLibrary/meshing/TriMesh.h>
5 #include "GL.h"
6 #include "drawextra.h"
7 
8 namespace GLDraw {
9 
10 inline void DrawGLTris(const Meshing::TriMesh& mesh)
11 {
12  glBegin(GL_TRIANGLES);
13  for(size_t i=0;i<mesh.tris.size();i++) {
14  Math3D::Vector3 normal = mesh.TriangleNormal(i);
15  glNormal3v(normal);
16  glVertex3v(mesh.verts[mesh.tris[i].a]);
17  glVertex3v(mesh.verts[mesh.tris[i].b]);
18  glVertex3v(mesh.verts[mesh.tris[i].c]);
19  }
20  glEnd();
21 }
22 
23 inline void DrawGLEdges(const Meshing::TriMesh& mesh)
24 {
25  for(size_t i=0;i<mesh.tris.size();i++) {
26  glBegin(GL_LINE_LOOP);
27  glVertex3v(mesh.verts[mesh.tris[i].a]);
28  glVertex3v(mesh.verts[mesh.tris[i].b]);
29  glVertex3v(mesh.verts[mesh.tris[i].c]);
30  glEnd();
31  }
32 }
33 
34 inline void DrawGLVerts(const Meshing::TriMesh& mesh)
35 {
36  glBegin(GL_POINTS);
37  for(size_t i=0;i<mesh.verts.size();i++)
38  glVertex3v(mesh.verts[i]);
39  glEnd();
40 }
41 
42 } //namespace GLDraw
43 
44 #endif
A 3D vector class.
Definition: math3d/primitives.h:136
Vector3 TriangleNormal(int tri) const
Calculates the normal of triangle tri.
Definition: TriMesh.cpp:27
Contains all definitions in the GLDraw package.
Definition: AnyGeometry.h:13
A basic triangle mesh.
Definition: TriMesh.h:41