Feel++  0.91.4
Feel::Surface Class Reference

#include <surface.hpp>

Inheritance diagram for Feel::Surface:
Feel::Sphere

List of all members.

Public Member Functions

Constructors, destructor
 Surface ()
 Surface (const Surface &)
virtual ~Surface ()
Methods
virtual bool aboveSurface (const Point &p) const =0
virtual bool belowSurface (const Point &p) const =0
virtual bool onSurface (const Point &p) const =0
virtual Point closestPoint (const Point &p) const =0
virtual Point unitNormal (const Point &p) const =0
virtual Point surfaceCoords (const Point &world_coords) const
virtual Point worldCoords (const Point &surf_coords) const

Detailed Description

This class defines a surface. A surface is a two-dimensional object living in three-dimensional space. Examples of surfaces are planes, hollow spheres, hollow cylinders, etc... This is a generic base class that describes the useful functionality a surface will provide. Specific derived classes actually implement the functionality, so this class has pure virtual members.

Author:
Benjamin S. Kirk, 2002
Christophe Prud'homme, 2005

Constructor & Destructor Documentation

Feel::Surface::Surface ( )
inline

Constructor. Does nothing at the moment.

Feel::Surface::Surface ( const Surface )
inline

Copy-constructor.

virtual Feel::Surface::~Surface ( )
inlinevirtual

Destructor.


Member Function Documentation

virtual bool Feel::Surface::aboveSurface ( const Point p) const
pure virtual
Returns:
true if the point p is above the surface, false otherwise.

Implemented in Feel::Sphere.

virtual bool Feel::Surface::belowSurface ( const Point p) const
pure virtual
Returns:
true if the point p is below the surface, false otherwise.

Implemented in Feel::Sphere.

virtual Point Feel::Surface::closestPoint ( const Point p) const
pure virtual
Returns:
the closest point on the surface to point p.

Implemented in Feel::Sphere.

virtual bool Feel::Surface::onSurface ( const Point p) const
pure virtual
Returns:
true if the point p is on the surface, false otherwise. Note that the definition of on the surface really means "very close" to account for roundoff error.

Implemented in Feel::Sphere.

virtual Point Feel::Surface::surfaceCoords ( const Point world_coords) const
inlinevirtual
Returns:
the 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 an own coordinate system. These simply do not have to overload this method.

Reimplemented in Feel::Sphere.

virtual Point Feel::Surface::unitNormal ( const Point p) const
pure virtual
Returns:
a unit vector normal to the surface at point p.

Implemented in Feel::Sphere.

virtual Point Feel::Surface::worldCoords ( const Point surf_coords) const
inlinevirtual
Returns:
the world (cartesian) coordinates for the surface coordinates 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 overload this method.

Reimplemented in Feel::Sphere.