1#ifndef BulletClosestRayCallback_h
2#define BulletClosestRayCallback_h
10#include <QScopedPointer>
21class BulletTargetShape;
40 const btCollisionWorld::RayResultCallback &source,
41 btCollisionWorld::LocalRayResult &rayResult,
42 bool nornmalInWorldSpace);
51 btVector3
point()
const;
58 btScalar
distance(
const btVector3 &other)
const;
62 const btScalar tolerance = DBL_MAX)
const;
74 virtual btScalar
addSingleResult(btCollisionWorld::LocalRayResult &rayResult,
75 bool normalInWorldSpace);
78 unsigned int defaultFlags()
const;
79 void copyRayResult(btCollisionWorld::RayResultCallback &dest,
80 const btCollisionWorld::RayResultCallback &source);
Bullet ray tracing callback for closest hit on target surface.
Definition BulletClosestRayCallback.h:33
btScalar fraction() const
Return the intersection hit fraction or fractional distance along the ray of the intersection.
Definition BulletClosestRayCallback.cpp:157
btScalar distance() const
Returns the distance from the intersection point to the beginning of the ray.
Definition BulletClosestRayCallback.cpp:221
btVector3 m_normal
! The intersection point in body fixed (x, y, z) kilometers.
Definition BulletClosestRayCallback.h:68
btVector3 lookdir() const
Return the end of the ray.
Definition BulletClosestRayCallback.cpp:140
int m_partId
! The 0-based index of the intersected triangle.
Definition BulletClosestRayCallback.h:71
bool isValid() const
Checks if the callback is valid/has a valid intersection.
Definition BulletClosestRayCallback.cpp:120
virtual ~BulletClosestRayCallback()
Destory a callback.
Definition BulletClosestRayCallback.cpp:110
int triangleIndex() const
Return the 0-based index of the intersected triangle.
Definition BulletClosestRayCallback.cpp:200
btVector3 point() const
Return the intersection point, if one exists.
Definition BulletClosestRayCallback.cpp:167
bool operator==(const BulletClosestRayCallback &other) const
Equality operator to check if this callback is equivalent to another callback.
Definition BulletClosestRayCallback.cpp:266
bool isVisible(const BulletClosestRayCallback &other, const btScalar tolerance=DBL_MAX) const
Check if the intersection in this is visible based on another callback.
Definition BulletClosestRayCallback.cpp:291
btVector3 normal() const
Return the local surface normal at the intersection, if an intersection exists.
Definition BulletClosestRayCallback.cpp:183
int partId() const
Return the Bullet ID of the intersected collision object.
Definition BulletClosestRayCallback.cpp:210
BulletClosestRayCallback()
Default constructor.
Definition BulletClosestRayCallback.cpp:31
virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult &rayResult, bool normalInWorldSpace)
! The Bullet ID of the intersected collision object.
Definition BulletClosestRayCallback.cpp:333
const BulletTargetShape * body() const
@breif Return pointer to target shape
Definition BulletClosestRayCallback.cpp:313
btVector3 m_point
Definition BulletClosestRayCallback.h:67
int m_triangleIndex
! The local surface normal at the intersection point in body fixed (x, y, z).
Definition BulletClosestRayCallback.h:70
btVector3 observer() const
Return the beginning of the ray.
Definition BulletClosestRayCallback.cpp:130
Bullet Target Shape for planetary bodies.
Definition BulletTargetShape.h:33
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16