using waterline_type = vtb::geometry::Polyline< T, 3 >
using vertex_type = blitz::TinyVector< T, N >
using grid_type = Grid< T, 4 >
using ship_type = Ship< T >
using triangle_array = std::vector< triangle_type >
using triangle_type = vtb::geometry::Triangle< T, N >
using panel_array = std::vector< panel_type >
using panel_type = Ship_hull_panel< T, N >
waterline_type _waterline
mask_array _wetted_vertices_mask
panel_array _dry_panels
panel_array _wet_panels
panel_array _all_panels
compute_centres(ship_type & ship) -> voidprotected
waterline() const -> const waterline_type &
Waterline polyline (line segment array).
wetted_vertices_mask() const -> const mask_array &
Wetted panels mask.
all_panels() -> panel_array &
all_panels() const -> const panel_array &
All ship hull faces.
dry_panels() -> panel_array &
dry_panels() const -> const panel_array &
Wetted ship hull faces.
wet_panels() -> panel_array &
wet_panels() const -> const panel_array &
Wetted ship hull faces.
solve(ship_type & ship, const grid_type & grid_txyz, Array2< vertex_type > wavy_surface) -> voidvirtual
Determine underwater hull panels (faces) for irregular grid.
solve(ship_type & ship, const grid_type & grid_txyz, Array< T, 2 > wavy_surface) -> voidvirtual
Determine underwater hull panels (faces) taking into account ship position and orientation.
~Wetted_surface_solver()virtual
Wetted_surface_solver()
Base class for wavy surface generators.
vtb::core::Plane_wave_generator< T, Wave, Policy::OpenCL >
vtb::core::Plane_wave_generator< T, Wave, Policy::OpenMP >
vtb::core::Calm_sea_generator< T >
vtb::core::Irregular_wave_surface_generator< T, N >
vtb::core::Plane_wave_generator< T, Wave, P >
using array_type = Array< T, 2 >
using grid_type = Grid< T, 2 >
acf_grid() const -> Grid< T, 3 >virtual
operator()(const grid_type & grid) -> void
generate(const Grid< T, 3 > & grid) -> Array< T, 3 >virtual
generate(T t, const grid_type & grid) -> voidvirtual
elevation() const -> const array_type &
Get wavy surface elevation (height map).
operator=(const Wavy_surface_generator &) -> Wavy_surface_generator &
Wavy_surface_generator(const Wavy_surface_generator &)
~Wavy_surface_generator()virtual
Wavy_surface_generator()
Base class for water waves.
vtb::core::Linear_wave< T, N >
vtb::core::Propagating_stokes_wave< T, N >
vtb::core::Shallow_water_wave< T, N >
dimensions() -> constexpr static int
phase_velocity() const -> vec
Get phase velocity.
period() const -> T
Get wave period.
normal() const -> vec
Get wave direction as unit vector.
direction() const -> T
Get wave direction in radians.
scalar_length() const -> T
Get wave length.
length() const -> vec
Get wave length.
angular_frequency() const -> T
Get wave angular frequency.
number() const -> const vec &
Get wave numbers for each dimension.
wave_number() const -> const vec &
Get wave numbers for each dimension.
amplitude() const -> T
Get wave amplitude.
Wave_base(T amplitude, T length, vec normal, T velocity)explicit
Wave_base(T amplitude, const vec & k, T freq)explicit
operator=(const Wave_base &) -> Wave_base &
Wave_base(const Wave_base &)
Wave_base()