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 //
11
/////////////////////////////////////////////////////////////
13
#ifndef __TRIPATCHSET_H
14
#define __TRIPATCHSET_H
18
#include "Triangle3D.h"
27
class to store joints as a collection of triangular patches and check if a bond crosses one of them
29
class TriPatchSet : public JointSet
32
vector<Triangle3D> m_triangles;
39
virtual ~TriPatchSet(){};
42
virtual int isCrossing(const Vector3&, const Vector3&) const;
43
void addTriangle(const Vector3&, const Vector3&, const Vector3&,int);
44
Vector3 getMinPoint() const {return m_pmin;};
45
Vector3 getMaxPoint() const {return m_pmax;};
46
vector<Triangle3D>::const_iterator triangles_begin() const {return m_triangles.begin();};
47
vector<Triangle3D>::const_iterator triangles_end() const {return m_triangles.end();};
50
#endif // __TRIPATCHSET_H