A geometric object representing a planar surface. More...
#include <plane.h>
Public Member Functions | |
Plane () | |
Plane (const Point &p, const Point &n) | |
Plane (const Point &p0, const Point &p1, const Point &p2) | |
Plane (const Plane &other_plane) | |
~Plane () | |
void | create_from_point_normal (const Point &p, const Point &n) |
void | create_from_three_points (const Point &p0, const Point &p1, const Point &p2) |
void | xy_plane (const Real zpos=0.) |
void | xz_plane (const Real ypos=0.) |
void | yz_plane (const Real xpos=0.) |
virtual bool | above_surface (const Point &p) const override |
virtual bool | below_surface (const Point &p) const override |
virtual bool | on_surface (const Point &p) const override |
virtual Point | closest_point (const Point &p) const override |
virtual Point | unit_normal (const Point &p) const override |
const Point & | get_planar_point () const |
virtual Point | surface_coords (const Point &world_coords) const |
virtual Point | world_coords (const Point &surf_coords) const |
Private Member Functions | |
const Point & | normal () const |
Private Attributes | |
Point | _point |
Point | _normal |
A geometric object representing a planar surface.
This class defines a plane.
Constructs a plane containing point p with normal n.
Definition at line 38 of file plane.C.
References create_from_point_normal().
Constructs a plane containing the three points. The normal is determined in a counter-clockwise sense. See the create_from_three_points method for more details.
Definition at line 46 of file plane.C.
References create_from_three_points().
libMesh::Plane::Plane | ( | const Plane & | other_plane | ) |
Copy-constructor.
Definition at line 55 of file plane.C.
References _normal, _point, and create_from_point_normal().
libMesh::Plane::~Plane | ( | ) |
|
overridevirtual |
true
if the point p is above the surface, false otherwise. Implements libMesh::Surface.
Definition at line 127 of file plane.C.
References _point, normal(), and libMesh::Real.
Referenced by below_surface().
|
overridevirtual |
true
if the point p is below the surface, false otherwise. Implements libMesh::Surface.
Definition at line 144 of file plane.C.
References above_surface().
Implements libMesh::Surface.
Definition at line 169 of file plane.C.
References _point, and normal().
void libMesh::Plane::create_from_three_points | ( | const Point & | p0, |
const Point & | p1, | ||
const Point & | p2 | ||
) |
Defines a plane intersecting the three points p0, p1, and p2. The normal is constructed in a counter-clockwise sense, i.e. (p1-p0)x(p2-p0);
Definition at line 78 of file plane.C.
References _normal, _point, libMesh::TypeVector< T >::cross(), and libMesh::TypeVector< T >::unit().
Referenced by Plane().
const Point & libMesh::Plane::get_planar_point | ( | ) | const |
|
inlineprivate |
Definition at line 139 of file plane.h.
References _normal.
Referenced by above_surface(), closest_point(), and on_surface().
|
overridevirtual |
true
if the point p is on the surface, false otherwise.Implements libMesh::Surface.
Definition at line 151 of file plane.C.
References _point, std::abs(), normal(), and libMesh::Real.
|
inlinevirtualinherited |
Point
world_coords
in the surface's coordinate system. world_coords
is in the world coordinate system. This method is not purely virtual, because there may be surfaces that do not have their own coordinate system. These simply do not have to override this method. Reimplemented in libMesh::Sphere.
Definition at line 101 of file surface.h.
References libMesh::Surface::world_coords().
Implements libMesh::Surface.
Definition at line 184 of file plane.C.
References _normal.
|
inlinevirtualinherited |
surf_coords
. This method is not purely virtual, because there may be surfaces that do not have an own coordinate system. These simply do not have to override this method. Reimplemented in libMesh::Sphere.
Definition at line 110 of file surface.h.
Referenced by libMesh::Surface::surface_coords().
void libMesh::Plane::xy_plane | ( | const Real | zpos = 0. | ) |
void libMesh::Plane::xz_plane | ( | const Real | ypos = 0. | ) |
void libMesh::Plane::yz_plane | ( | const Real | xpos = 0. | ) |
|
private |
Definition at line 145 of file plane.h.
Referenced by create_from_point_normal(), create_from_three_points(), normal(), Plane(), unit_normal(), xy_plane(), xz_plane(), and yz_plane().
|
private |
The plane is defined by a point and a normal.
Definition at line 144 of file plane.h.
Referenced by above_surface(), closest_point(), create_from_point_normal(), create_from_three_points(), get_planar_point(), on_surface(), Plane(), xy_plane(), xz_plane(), and yz_plane().