Virtual Testbed
Ship dynamics simulator for extreme conditions
Public Member Functions | List of all members
vtb::core::Hull< T > Class Template Reference
Inheritance diagram for vtb::core::Hull< T >:
[legend]
Collaboration diagram for vtb::core::Hull< T >:
[legend]

Public Member Functions

 Hull (base_type &&rhs)
 
 Hull (const base_type &rhs)
 
scalar_type mass () const
 
void mass (scalar_type rhs)
 
void displacement (scalar_type rhs)
 
scalar_type displacement () const
 
void draught (scalar_type rhs)
 
- Public Member Functions inherited from vtb::geometry::Polyhedron< T, 3 >
 Polyhedron (const Polyhedron &)=default
 
 Polyhedron (Polyhedron &&)=default
 
 Polyhedron (const vertex_array &vertices, const face_array &faces)
 
 Polyhedron (const vertex_array &vertices, const vertex_array &vertex_normals, const face_array &faces)
 
 Polyhedron (const blitz_vertex_array &vertices, const blitz_face_array &faces)
 
 Polyhedron (const triangle_array &triangles)
 
 Polyhedron (const bsp_tree &tree)
 
Polyhedronoperator= (const Polyhedron &)=default
 
Polyhedronoperator= (Polyhedron &&)=default
 
const vertex_arrayvertices () const noexcept
 
const vertex_arrayvertex_normals () const noexcept
 
const vertex_arrayface_normals () const noexcept
 
const face_arrayfaces () const noexcept
 
void clear ()
 
void clear_normals ()
 
void shrink_to_fit ()
 
scalar_type average_face_area () const
 
scalar_type signed_volume () const
 
scalar_type signed_volume_below (int dimension, scalar_type level) const
 
vertex_type centre () const
 
vertex_type centroid () const
 
vertex_type centroid_below (int dimension, scalar_type level) const
 
box_type bounding_box () const
 
Bounds< T > bounds (int dimension) const
 
void swap (Polyhedron &rhs)
 
scalar_type signed_volume_below_centroid (int dimension) const
 
void normalise ()
 Compute face and vertex normals in one loop. More...
 
void normalise_faces ()
 Compute face normals only. More...
 
void reorder ()
 Fix face indices winding order. More...
 
void unique ()
 Remove duplicate vertices and faces. More...
 
void merge (const Polyhedron &rhs)
 Add all vertices, faces and normals from rhs. More...
 
Polyhedronoperator+= (const Polyhedron &rhs)
 
void cut_duplicate_faces ()
 
void remove_face (const vertex_type &vertex)
 
void remove_face (index_type vertex)
 
bool empty () const
 
triangle_array triangles () const
 
blitz_vertex_array blitz_vertices () const
 
blitz_vertex_array blitz_vertex_normals () const
 
blitz_face_array blitz_faces () const
 
void move_to_centre_of_mass ()
 Move origin to centre of mass.
 
void move_to_centre_of_mass (T draught)
 Move origin to centre of mass taking into account buoyancy and gravity forces. More...
 
void move_to_centre_of_bounding_box ()
 Move origin to centre of bounding box.
 
void move (const vertex_type &delta)
 
void scale (const vertex_type &ratio)
 Scale the geometry by specified ratio over each dimension.
 
void wall (scalar_type thickness)
 Shrink or extend the geometry by thickness in the direction of centroid.
 
void flip (int dimension)
 Flip the geometry over specified axis.
 
void mirror (int dimension)
 Extend the geometry by mirroring it over the specified axis.
 
void rotate (int dimension, int degrees)
 Rotate the geometry by angle which is multiple of 90 degrees. More...
 
Mass_moments< T, N > mass_moments () const
 Calculate volume, centre of mass and inertia tensor. More...
 
Mass_moments< T, N > mass_moments_below (int dimension, scalar_type level) const
 
void gnuplot (std::ostream &out) const
 
void object (std::ostream &out) const
 

Additional Inherited Members

- Public Types inherited from vtb::geometry::Polyhedron< T, 3 >
using scalar_type = T
 
using vertex_type = Vertex< T, N >
 
using face_type = Face< 3 >
 
using vertex_array = std::vector< vertex_type >
 
using face_array = std::vector< face_type >
 
using size_type = size_t
 
using index_type = typename face_type::value_type
 
using box_type = Rectangle< T, N >
 
using triangle_type = Triangle< T, N >
 
using triangle_array = std::vector< triangle_type >
 
using bsp_tree = BSP_tree< T, N >
 
- Static Public Attributes inherited from vtb::geometry::Polyhedron< T, 3 >
static constexpr const int dimensions
 

Detailed Description

template<class T>
class vtb::core::Hull< T >

Definition at line 12 of file core/hull.hh.