public LocalRayResult(CollisionObject collisionObject, LocalShapeInfo localShapeInfo, ref Vector3 hitNormalLocal, float hitFraction) { m_collisionObject = collisionObject; m_localShapeInfo = localShapeInfo; m_hitNormalLocal = hitNormalLocal; m_hitFraction = hitFraction; }
public LocalConvexResult(CollisionObject hitCollisionObject, LocalShapeInfo localShapeInfo, ref Vector3 hitNormalLocal, ref Vector3 hitPointLocal, float hitFraction ) { m_hitCollisionObject = hitCollisionObject; m_localShapeInfo = localShapeInfo; m_hitNormalLocal = hitNormalLocal; m_hitPointLocal = hitPointLocal; m_hitFraction = hitFraction; }
public override float ReportHit(ref Vector3 hitNormalLocal, float hitFraction, int partId, int triangleIndex) { LocalShapeInfo shapeInfo = new LocalShapeInfo(); shapeInfo.m_shapePart = partId; shapeInfo.m_triangleIndex = triangleIndex; Vector3 hitNormalWorld = Vector3.TransformNormal(hitNormalLocal,m_colObjWorldTransform); LocalRayResult rayResult = new LocalRayResult (m_collisionObject, shapeInfo, ref hitNormalWorld, hitFraction); bool normalInWorldSpace = true; return m_resultCallback.AddSingleResult(rayResult, normalInWorldSpace); }
public override float ReportHit(ref Vector3 hitNormalLocal, ref Vector3 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, shapeInfo, ref hitNormalLocal, ref hitPointLocal, hitFraction); bool normalInWorldSpace = true; return m_resultCallback.AddSingleResult(convexResult,normalInWorldSpace); } return hitFraction; }