1 #ifndef GeneralNSurfaceDelimitedBounds_H
2 #define GeneralNSurfaceDelimitedBounds_H
23 const std::vector<SurfaceAndSide>& limits) :
24 theLimits( limits), theSurface(surf) {}
26 virtual float length()
const {
return 0;}
27 virtual float width()
const {
return 0;}
32 return myInside(lp,0);
37 virtual Bounds*
clone()
const {
return new GeneralNSurfaceDelimitedBounds(*
this);}
44 bool myInside(
const Local3DPoint& lp,
float tolerance)
const;
virtual float thickness() const
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
std::vector< SurfaceAndSide > SurfaceContainer
GeneralNSurfaceDelimitedBounds(const Surface *surf, const std::vector< SurfaceAndSide > &limits)
virtual float length() const
SurfaceContainer theLimits
virtual bool inside(const Local3DPoint &lp) const
Determine if the point is inside the bounds.
std::pair< const Surface *, SurfaceOrientation::Side > SurfaceAndSide
virtual float width() const
virtual Bounds * clone() const
const Surface * theSurface
Unlimited (trivial) bounds.