1
/////////////////////////////////////////////////////////////
3
// Copyright (c) 2007-2011 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.opensource.org/licenses/osl-3.0.php // // //
10
/////////////////////////////////////////////////////////////
12
#ifndef __INTERSECT_VOLUME_SET_H
13
#define __INTERSECT_VOLUME_SET_H
15
// --- Project includes ---
16
#include "AVolume3D.h"
18
// --- STL includes ---
23
class IntersectionVol : public AVolume3D
31
IntersectionVol (AVolume3D& , AVolume3D&);
32
virtual ~IntersectionVol (){};
34
virtual const map<double,const AGeometricObject*> getClosestObjects(const Vector3&,int) const;
36
virtual pair<Vector3,Vector3> getBoundingBox();
37
virtual Vector3 getAPoint(int) const;
38
virtual bool isIn(const Vector3&) const;
39
virtual bool isIn(const Sphere&);
40
virtual bool isFullyOutside(const Sphere&);
41
virtual int getNumberSubVolumes()const{return 1;};
43
friend ostream& operator << (ostream&,const IntersectionVol&);
46
#endif // __INTERSECT_VOLUME_SET_H