Changeset 5684 for anuga_work/development
- Timestamp:
- Aug 26, 2008, 10:50:42 AM (17 years ago)
- Location:
- anuga_work/development/anugavis/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_work/development/anugavis/src/anugavis.cc
r5636 r5684 5 5 #include <algorithm> 6 6 #include <string> 7 #include <boost/bind.hpp> 7 8 #include <boost/shared_ptr.hpp> 8 9 #ifdef HAVE_GL_GL_H … … 21 22 #include "sww_file.hh" 22 23 24 using boost::bind; 23 25 using boost::shared_ptr; 24 26 using std::for_each; … … 91 93 static Uint32 lastframe; 92 94 bool more = true; 95 float light[4]; 93 96 94 97 if(ticks == 0) lastframe = ticks = SDL_GetTicks(); … … 102 105 this->paused = 1; 103 106 107 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 108 glMatrixMode(GL_MODELVIEW); 109 glLoadIdentity(); 110 gluLookAt(this->eye .x, this->eye .y, this->eye .z, 111 this->focus.x, this->focus.y, this->focus.z, 112 0, 0, 1); 113 light[0] = this->eye.x; 114 light[1] = this->eye.y; 115 light[2] = this->eye.z; 116 light[3] = 1.0; 117 glLightfv(GL_LIGHT0, GL_POSITION, light); 118 for_each(this->heights.begin(), 119 this->heights.end (), 120 bind(&HeightQuantity::draw, _1, this->frame)); 104 121 return false; 105 122 } -
anuga_work/development/anugavis/src/height_quantity.cc
r5636 r5684 16 16 #include <netcdf.h> 17 17 #include "height_quantity.hh" 18 #include "vector.hh" 18 19 19 20 using std::string; … … 63 64 size_t span_2[2] = {1, 0}; 64 65 int ncstatus; 65 int volume;66 int vertex;67 66 int vertIndex; 68 67 if(this->dynamic){ … … 78 77 if(ncstatus != NC_NOERR) throw nc_strerror(ncstatus); 79 78 glNewList(this->display_list, GL_COMPILE); 80 glBegin(GL_TRIANGLES); 81 { 82 83 for(volume = 0 ; volume = this->sww_file->number_of_volumes ; ++volume){ 84 for(vertex = 0 ; vertex < 3 ; ++vertex){ 79 glBegin(GL_TRIANGLES);{ 80 for(int volume = 0 ; volume = this->sww_file->number_of_volumes ; ++volume){ 81 /* Compute normal. */ 82 Vector vs[3]; 83 for(int vertex = 0 ; vertex < 3 ; ++vertex){ 84 int offset = volume * this->sww_file->number_of_vertices + vertex; 85 vertIndex = this->sww_file->volumes[offset]; 86 vs[vertex] = Vector(this->sww_file->x[vertIndex], 87 this->sww_file->y[vertIndex], 88 this->points [vertIndex]); 89 } 90 Vector normal = (vs[1] - vs[0]).cross(vs[2] - vs[0]); 91 if(normal.magnitude() < 0) normal = normal.scale(-1.0); 92 glNormal3f(normal.x, normal.y, normal.z); 93 94 /* Insert vertices. */ 95 for(int vertex = 0 ; vertex < 3 ; ++vertex){ 85 96 vertIndex = this->sww_file->volumes[volume * 86 97 this->sww_file->number_of_vertices + … … 91 102 } 92 103 } 93 } 94 glEnd(); 104 }glEnd(); 95 105 glEndList(); 96 106 }
Note: See TracChangeset
for help on using the changeset viewer.