24#ifndef HYPERPLANE_3D_H
25#define HYPERPLANE_3D_H
A regular single 3D cuboid is the basic component of a 3D cuboid structure which defines the grid.
The description of a single 3D cuboid – header file.
Top level namespace for all of OpenLB.
Definition of a analytical 2D plane embedded in 3D space.
Vector< T, 3 > project(const Vector< T, 2 > &x) const
Hyperplane3D & centeredIn(const Cuboid3D< T > &cuboid)
Center the hyperplane relative to the given cuboid.
Hyperplane3D & rotateSpanAroundZ(T r)
Rotate the spanning vectors around the Z axis.
Hyperplane3D & spannedBy(const Vector< T, 3 > &u, const Vector< T, 3 > &v)
Span the hyperplane using two span vectors.
Hyperplane3D & rotateSpanAroundX(T r)
Rotate the spanning vectors around the X axis.
Hyperplane3D & rotateSpanAroundY(T r)
Rotate the spanning vectors around the Y axis.
Hyperplane3D & normalTo(const Vector< T, 3 > &normal)
Calculate the spanning vectors of the hyperplane to be orthogonal to the given normal.
Hyperplane3D & applyMatrixToSpan(const Vector< T, 3 > &row0, const Vector< T, 3 > &row1, const Vector< T, 3 > &row2)
Apply a matrix given by its row vectors to both span vectors.
Hyperplane3D & originAt(const Vector< T, 3 > &origin)
Center the hyperplane at the given origin vector.
efficient implementation of a vector class