9 #ifndef bvIntersector_H
10 #define bvIntersector_H
12 class Dt3dBoundingVolume;
128 virtual bool intersectsBoundingVolume(
129 const Dt3dBoundingVolume & bv,
130 const DtVector& bvPosition,
const DtDcm& bvOrientation,
131 const Dt3dBoundingVolume & secondBV,
132 const DtVector& secondBVPosition,
const DtDcm& secondBVOrientation )
const;
135 virtual bool intersectsPoint(
136 const Dt3dBoundingVolume& bv,
137 const DtVector& bvPosition,
const DtDcm& bvOrientation,
138 const DtVector& pointPosition )
const;
148 virtual bool intersectsLineOfChord(
149 const Dt3dBoundingVolume & bv,
150 const DtVector& bvPosition,
const DtDcm& bvOrientation,
152 double& distInChordLengthsFirst,
double& distInChordLengthsLast,
160 virtual bool intersectsLineOfChord(
161 const Dt3dBoundingVolume & bv,
162 const DtVector& bvPosition,
const DtDcm& bvOrientation,
164 double& distInChordLengthsFirst,
double& distInChordLengthsLast,
172 virtual double incidenceAngle(
const Dt3dBoundingVolume & bv,
173 const DtDcm & bvOrientation,
182 virtual bool intersectsMaxBoundingSphere(
const Dt3dBoundingVolume & bv,
184 const Dt3dBoundingVolume& secondBV,
185 const DtVector & secondBVPosition)
const;
189 virtual DtDcm calcRefBV(
const Dt3dBoundingVolume & bv,
191 const DtDcm& latticeToRef )
const;
194 virtual DtVector calcRefOrigin(
const Dt3dBoundingVolume & bv,
196 const DtDcm& latticeToRef )
const;
210 virtual bool refineSegmentIntersection(
212 const DtVector& ray,
double& distFirst,
double& distLast,