public override float AddSingleResult(ref LocalRayResult r, bool b) { LocalShapeInfo shapeInfo = new LocalShapeInfo(); shapeInfo.m_shapePart = -1; shapeInfo.m_triangleIndex = m_i; r.m_localShapeInfo = shapeInfo; //if (r.m_localShapeInfo == null) //{ // r.m_localShapeInfo = shapeInfo; //} float result = m_userCallback.AddSingleResult(ref r, b); m_closestHitFraction = m_userCallback.m_closestHitFraction; return result; }
public override float ReportHit(ref IndexedVector3 hitNormalLocal, ref IndexedVector3 hitPointLocal, float hitFraction, int partId, int triangleIndex) { LocalShapeInfo shapeInfo = new LocalShapeInfo(); shapeInfo.m_shapePart = partId; shapeInfo.m_triangleIndex = triangleIndex; if (hitFraction <= m_resultCallback.m_closestHitFraction) { LocalConvexResult convexResult = new LocalConvexResult (m_collisionObject, ref shapeInfo, ref hitNormalLocal, ref hitPointLocal, hitFraction); bool normalInWorldSpace = m_triangleMesh is TriangleMeshShape; return m_resultCallback.AddSingleResult(ref convexResult, normalInWorldSpace); } return hitFraction; }
public LocalConvexResult(CollisionObject hitCollisionObject, ref IndexedVector3 hitNormalLocal, ref IndexedVector3 hitPointLocal, float hitFraction ) { m_hitCollisionObject = hitCollisionObject; m_hitNormalLocal = hitNormalLocal; m_hitPointLocal = hitPointLocal; m_hitFraction = hitFraction; m_localShapeInfo = new LocalShapeInfo(); }
public override float ReportHit(ref IndexedVector3 hitNormalLocal, float hitFraction, int partId, int triangleIndex) { LocalShapeInfo shapeInfo = new LocalShapeInfo(); shapeInfo.m_shapePart = partId; shapeInfo.m_triangleIndex = triangleIndex; IndexedVector3 hitNormalWorld = m_colObjWorldTransform._basis * hitNormalLocal; LocalRayResult rayResult = new LocalRayResult (m_collisionObject, ref shapeInfo, ref hitNormalWorld, hitFraction); bool normalInWorldSpace = true; return m_resultCallback.AddSingleResult(ref rayResult, normalInWorldSpace); }
public LocalRayResult(CollisionObject collisionObject, ref IndexedVector3 hitNormalLocal, float hitFraction) { m_collisionObject = collisionObject; m_hitNormalLocal = hitNormalLocal; m_hitFraction = hitFraction; m_localShapeInfo = new LocalShapeInfo(); }