Go::Domain Class Reference
['geometry' - a spline library]

Abstract base class representing a 2D parameter domain. More...

#include <Domain.h>

Inheritance diagram for Go::Domain:

Go::CurveBoundedDomain Go::RectDomain List of all members.

Public Member Functions

virtual ~Domain ()
 virtual destructor ensures safe inheritance
virtual bool isInDomain (const Array< double, 2 > &point, double tolerance) const=0
 check whether a given parameter pair is located inside the domain
virtual bool isOnBoundary (const Array< double, 2 > &point, double tolerance) const=0
 check whether a given parameter pair is located on the domain boundary
virtual void closestInDomain (const Array< double, 2 > &point, Array< double, 2 > &clo_pt, double tolerance) const=0
 Find the (u, v) point in the Domain that is closest (using Euclidean distance in R^2) to a given (u, v) point.
virtual void closestOnBoundary (const Array< double, 2 > &point, Array< double, 2 > &clo_bd_pt, double tolerance) const=0
 Find the (u, v) point on the boundary of the Domain that is closest (using Euclidean distance in R^2) to a given (u, v) point.

Detailed Description

Abstract base class representing a 2D parameter domain.

Definition at line 49 of file Domain.h.


Member Function Documentation

virtual bool Go::Domain::isInDomain ( const Array< double, 2 > &  point,
double  tolerance 
) const [pure virtual]

check whether a given parameter pair is located inside the domain

Parameters:
point the (u,v)-pair that we want to test.
tolerance the tolerance used (ruling what to do when 'point' is located very near the edge of the domain).
Returns:
'true' if 'point' is inside the domain, or within 'tolerance' from being inside the domain, 'false' otherwise'.

Implemented in Go::CurveBoundedDomain, and Go::RectDomain.

virtual bool Go::Domain::isOnBoundary ( const Array< double, 2 > &  point,
double  tolerance 
) const [pure virtual]

check whether a given parameter pair is located on the domain boundary

Parameters:
point the (u,v)-pair that we want to test
tolerance the tolerance used (how 'far' from the boundary our (u,v) pair can be and still be considered 'on' the boundary.
Returns:
'true' if the point is considered to be on the boundary (within 'tolerance', 'false' otherwise.

Implemented in Go::CurveBoundedDomain, and Go::RectDomain.

virtual void Go::Domain::closestInDomain ( const Array< double, 2 > &  point,
Array< double, 2 > &  clo_pt,
double  tolerance 
) const [pure virtual]

Find the (u, v) point in the Domain that is closest (using Euclidean distance in R^2) to a given (u, v) point.

If the given point is in the domain, then the answer is obviously the same point.

Parameters:
point the (u,v) parameter pair that we want to find the closest parameter pair to inside Domain.
clo_pt the resulting closest parameter point.
tolerance the tolerance used in defining whether the given point is already inside the domain.

Implemented in Go::CurveBoundedDomain, and Go::RectDomain.

virtual void Go::Domain::closestOnBoundary ( const Array< double, 2 > &  point,
Array< double, 2 > &  clo_bd_pt,
double  tolerance 
) const [pure virtual]

Find the (u, v) point on the boundary of the Domain that is closest (using Euclidean distance in R^2) to a given (u, v) point.

If the point is already considered on the boundary, then the answer is obviously the same point.

Parameters:
point the (u,v) parameter pair that we want to find to closest parameter pair to on the Domain border.
clo_bd_pt the resulting closest border point.
tolerance the tolerance used in defining whether the given point is

Implemented in Go::CurveBoundedDomain, and Go::RectDomain.


The documentation for this class was generated from the following file:
Generated on Mon Jun 11 14:48:18 2007 for GoTools Core Library by  doxygen 1.5.1