1 #ifndef VTESTBED_GRAPHICS_WAVYSURFACEOBJECT_HH 2 #define VTESTBED_GRAPHICS_WAVYSURFACEOBJECT_HH 4 #include <blitz/array.h> 6 #include <vtestbed/core/types.hh> 7 #include <vtestbed/graphics/AxisSurface.hh> 8 #include <vtestbed/graphics/GerstnerSurface.hh> 9 #include <vtestbed/graphics/WavySurface.hh> 10 #include <vtestbed/graphics/WavySurfaceSlice.hh> 11 #include <vtestbed/graphics/types.hh> 21 using array2 = vtb::core::Array2<T>;
22 using array3 = vtb::core::Array3<T>;
23 using array4 = vtb::core::Array4<T>;
27 using int2 = vtb::core::int2;
28 using vec2 = vtb::core::Vector2<T>;
29 using vec3 = vtb::core::Vector3<T>;
30 using gerstner_type = vtb::core::Array2<vec3>;
34 DrawableGroup3D _drawables;
40 bool _showSurface =
true;
41 bool _irregular =
true;
47 void draw(
const Matrix4& m, Camera3D& camera)
override;
53 inline void show(
bool b) { this->_show = b; }
54 inline void showAxes(
bool b) { _axis.show(b); }
57 showWavySurface(
bool b) {
59 this->_irregularSurface.show(b);
61 this->_regularSurface.show(b);
66 showVelocityPotential(
bool b) {
68 this->_irregularSurface.showSlice(b);
70 this->_regularSurface.showSlice(b);
72 this->_sliceXZ.show(b);
73 this->_sliceYZ.show(b);
82 #endif // vim:filetype=cpp