#include <simgear/math/SGGeometry.hxx>
#include <simgear/structure/SGSharedPtr.hxx>
-#include <simgear/scene/material/mat.hxx>
#include "BVHVisitor.hxx"
#include "BVHNode.hxx"
namespace simgear {
+class BVHMaterial;
+
class BVHLineSegmentVisitor : public BVHVisitor {
public:
BVHLineSegmentVisitor(const SGLineSegmentd& lineSegment,
{ return _linearVelocity; }
const SGVec3d& getAngularVelocity() const
{ return _angularVelocity; }
- const SGMaterial* getMaterial() const
+ const BVHMaterial* getMaterial() const
{ return _material; }
BVHNode::Id getId() const
{ return _id; }
virtual void apply(BVHGroup& group);
+ virtual void apply(BVHPageNode& node);
virtual void apply(BVHTransform& transform);
virtual void apply(BVHMotionTransform& transform);
virtual void apply(BVHLineGeometry&);
SGVec3d _normal;
SGVec3d _linearVelocity;
SGVec3d _angularVelocity;
- const SGMaterial* _material;
+ const BVHMaterial* _material;
BVHNode::Id _id;
bool _haveHit;