#include <Surface.h>
Inheritance diagram for Surface:

Public Methods | |
| virtual int | inside (const Point& p) const |
| return true if point is "inside" the directed surface default is just the inline above. More... | |
| virtual double | how_near ( const Point& x ) const = 0 |
| signed function giving minimum distance to the surface: surface is actually defined by zero. More... | |
| virtual double | distance ( const Point& x, const Vector& v, int inout) const = 0 |
| distance along direction v from point x to enter or leave the surface. | |
| virtual Vector | normal ( const Point& x ) const = 0 |
| returns normal-vector at Point x, assuming x to be on the surface. | |
| virtual GeomObject& | transform (const CoordTransform& T ) |
| Subclass must apply to other directions note that a Surface will not respond to a translation transformation. More... | |
| virtual void | reverse () |
| reverse sense of surface. More... | |
| const Point& | origin () const |
| access to origin. More... | |
| const Vector& | direction () const |
| access to direction. More... | |
| virtual Surface& | copy () const |
| virtual copy, must be implemented by subclass to allow copy. More... | |
| virtual void | setOffset (double) |
| must be supplied by subclass if appropriate. More... | |
| virtual double | offset () const |
Protected Methods | |
| Surface ( const Point& o, const Vector& n ) | |
| Surface (const Surface&) | |
Private Attributes | |
| const Point& | referencePoint |
| Vector | referenceDirection |
Definition at line 19 of file Surface.h.
|
|
|
|
|
Definition at line 22 of file Surface.cxx. |
|
|
virtual copy, must be implemented by subclass to allow copy.
Reimplemented in Plane. Definition at line 29 of file Surface.cxx. |
|
|
access to direction.
Definition at line 55 of file Surface.h. Referenced by Wedge::axis(), Hyperbolic::axis(), Cylinder::axis(), Conic::axis(), Plane::how_near(), Plane::normal(), and Plane::printOn(). |
|
|
distance along direction v from point x to enter or leave the surface.
Reimplemented in Conic, Cylinder, Hyperbolic, Plane, Sphere, and Wedge. Referenced by Intersection::distance(). |
|
|
signed function giving minimum distance to the surface: surface is actually defined by zero. The distance will be positive if the point is inside the Plane, negative if the point is outside. Reimplemented in Conic, Cylinder, Hyperbolic, Plane, Sphere, and Wedge. Referenced by Intersection::distance(), Volume::distanceToEnter(), Volume::distanceToLeave(), and inside(). |
|
|
return true if point is "inside" the directed surface default is just the inline above.
Definition at line 25 of file Surface.h. Referenced by Wedge::distance(), Volume::distanceToEnter(), and Volume::inside(). |
|
|
returns normal-vector at Point x, assuming x to be on the surface.
Reimplemented in Conic, Cylinder, Hyperbolic, Plane, Sphere, and Wedge. |
|
|
|
|
|
access to origin.
Definition at line 52 of file Surface.h. Referenced by Cylinder::distance(), Wedge::how_near(), Sphere::how_near(), Plane::how_near(), Cylinder::how_near(), Plane::printOn(), and Cylinder::printOn(). |
|
|
reverse sense of surface.
Reimplemented in Plane. Definition at line 15 of file Surface.cxx. Referenced by Plane::reverse(). |
|
|
must be supplied by subclass if appropriate. Allows the surface to be "moved" by changing the parameter describing the offset of the surface from the origin. |
|
|
Subclass must apply to other directions note that a Surface will not respond to a translation transformation.
Reimplemented from GeomObject. Definition at line 9 of file Surface.cxx. Referenced by Volume::transform(). |
|
|
|
|
|
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000