Rigid ship with a mass and translational and angular velocity.
using variables_type = typename state_vector_type::variables_typeusing inertia_tensor_type = vtb::geometry::Inertia_tensor< T, 3 >using mass_moments_type = vtb::geometry::Mass_moments< T, 3 >using quaternion_type = vtb::geometry::Quaternion< T >using basis_type = vtb::geometry::Basis< T, 3 >using rotation_matrix_type = vtb::geometry::Rotation_matrix< T, 3 >using quaternion_coordinate_system_type = vtb::geometry::Quaternion_coordinate_system< T >using coordinate_system_type = vtb::geometry::Coordinate_system< T, 3 >using matrix_type = blitz::TinyMatrix< T, 3, 3 >using mass_array_type = Mass_array< T >using mass_type = Mass< T >using propulsor_type = Propulsor< T >using room_array = Compartment_array< T >using room_type = Compartment< T >using hull_type = Hull< T >using vec3 = blitz::TinyVector< T, 3 >using scalar_type = Tdump(std::ostream & out) const -> voidinertia_tensor() const -> const inertia_tensor_type &Inertia tensor in body-fixed coordinate system.
volume() const -> scalar_typeTotal volume of the ship hull.
abovewater_volume(scalar_type rhs) -> voidunderwater_volume(scalar_type rhs) -> voidcentre_of_wind(const vec3 & rhs) -> voidcentre_of_floatation(const vec3 & rhs) -> voidcentre_of_buoyancy(const vec3 & rhs) -> voidabovewater_volume() const -> scalar_typeThe volume of the ship hull that is above the water. Computed with respect to centre of floatation.
underwater_volume() const -> scalar_typeThe volume of the ship hull that is under the water. Computed with respect to centre of floatation.
centre_of_wind() const -> const vec3 &A point of application of wind forces (a centre of buoyancy for air).
centre_of_floatation() const -> const vec3 &A point around which the ship rotates. Computed as the centre of waterline 3-d polygon. All force moments are computed with respect to this point.
centre_of_buoyancy() const -> const vec3 &A point of application of buoyant and Froude—Krylov forces.
centre_of_gravity() const -> const vec3 &Centre of mass. Always equals ship position. A point of application of gravity force.
rotation_matrix() const -> const rotation_matrix_type &body_fixed_coordinate_system() const -> quaternion_coordinate_system_typeearth_fixed_coordinate_system() const -> coordinate_system_typedraught(scalar_type rhs) -> voiddisplacement() const -> scalar_typedisplacement(scalar_type rhs) -> voidmass(scalar_type rhs) -> voidflooded_mass() const -> TTotal mass of all fluid volumes inside compartments.
mass() const -> scalar_typepropulsor(const propulsor_type & rhs) -> voidpropulsor() const -> const propulsor_type &compartments() const -> const room_array &compartments() -> room_array &compartments(const room_array & rhs) -> voidhull(hull_type rhs) -> voidhull() const -> const hull_type &reset() -> voidstate_vector() const -> state_vector_typeGet state vector for ship motion equation.
state_vector(const variables_type & v, const variables_type & dv, T dt) -> voidstate_vector(const state_vector_type & v, const state_vector_type & dv, T dt) -> voidSet ship position, orientation and velocities from a state vector.
angular_momentum(const vec3 & rhs) -> voidSet angular momentum.
angular_momentum() const -> const vec3 &Angular momentum.
angular_acceleration() const -> const vec3 &Angular acceleration in Earth-fixed coordinate system.
angular_velocity(const vec3 & rhs) -> voidSet angular velocity in Earth-fixed coordinate system.
angular_velocity() const -> const vec3 &Angular velocity in Earth-fixed coordinate system.
heave(int i = 0) const -> T
coordinate of the position.
sway(int i = 0) const -> T
coordinate of the position.
surge(int i = 0) const -> T
coordinate of the position.
yaw() const -> TCounterclockwise rotation about -axis in radians.
pitch() const -> TCounterclockwise rotation about -axis in radians.
roll() const -> TCounterclockwise rotation about -axis in radians.
quaternion(const quaternion_type & q) -> voidSet rotation quaternion and update rotation quaternion/matrix.
euler_angles(const vec3 & rhs) -> voidSet Euler angles and rotation quaternion/matrix.
quaternion() const -> const quaternion_type &Get rotation quaternion.
euler_angles() const -> vec3Get Euler angles or their derivatives.
angular_displacement(int i = 0) const -> const vec3 &
Get angular position or its time derivatives in Earth-fixed coordinate system.
acceleration() const -> const vec3 &Acceleration in Earth-fixed coordinate system.
velocity(const vec3 & rhs) -> voidSet velocity in Earth-fixed coordinate system.
velocity() const -> const vec3 &Get velocity in Earth-fixed coordinate system.
position(int i, const vec3 & rhs) -> void
Set position or its time derivatives in Earth-fixed coordinate system.
position(int i = 0) const -> const vec3 &
Get position or its time derivatives in Earth-fixed coordinate system.
template <class T> operator<<(std::ostream & out, const Ship< T > & rhs) -> std::ostream &