Example #1
0
 public LocalRayResult(CollisionObject collisionObject,
                       LocalShapeInfo localShapeInfo,
                       Vector3 hitNormalLocal,
                       float hitFraction)
 {
     _collisionObject = collisionObject;
     _localShapeInfo  = localShapeInfo;
     _hitNormalLocal  = hitNormalLocal;
     _hitFraction     = hitFraction;
 }
Example #2
0
		public override float AddSingleResult(LocalRayResult r, bool b)
		{
			LocalShapeInfo	shapeInfo = new LocalShapeInfo();
			shapeInfo.m_shapePart = -1;
			shapeInfo.m_triangleIndex = m_i;
			if (r.m_localShapeInfo == null)
			{
				r.m_localShapeInfo = shapeInfo;
			}
			return m_userCallback.AddSingleResult(r, b);
		}
Example #3
0
			public LocalRayResult(CollisionObject collisionObject,
				LocalShapeInfo localShapeInfo,
				Vector3 hitNormalLocal,
				float hitFraction)
			{
				_collisionObject = collisionObject;
				_localShapeInfo = localShapeInfo;
				_hitNormalLocal = hitNormalLocal;
				_hitFraction = hitFraction;
			}
Example #4
0
			public override double addSingleResult( ref LocalConvexResult r, bool b )
			{
				LocalShapeInfo shapeInfo = new LocalShapeInfo();
				shapeInfo.m_shapePart = -1;
				shapeInfo.m_triangleIndex = m_i;
				if( r.m_localShapeInfo == null )
					r.m_localShapeInfo = shapeInfo;
				btScalar result = m_userCallback.addSingleResult( ref r, b );
				m_closestHitFraction = m_userCallback.m_closestHitFraction;
				return result;
			}
Example #5
0
			internal override double reportHit( ref btVector3 hitNormalLocal, ref btVector3 hitPointLocal
				, double 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( ref convexResult, normalInWorldSpace );
				}
				return hitFraction;
			}
Example #6
0
			internal override double reportHit( ref btVector3 hitNormalLocal, double hitFraction, int partId, int triangleIndex )
			{
				LocalShapeInfo shapeInfo = new LocalShapeInfo();
				shapeInfo.m_shapePart = partId;
				shapeInfo.m_triangleIndex = triangleIndex;

				btVector3 hitNormalWorld; m_colObjWorldTransform.m_basis.Apply( ref hitNormalLocal, out hitNormalWorld );

				LocalRayResult rayResult = new LocalRayResult
									( m_collisionObject,
									  shapeInfo,
					hitNormalWorld,
					hitFraction );

				bool normalInWorldSpace = true;
				return m_resultCallback.addSingleResult( rayResult, normalInWorldSpace );
			}
Example #7
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LocalShapeInfo obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Example #8
0
			public LocalConvexResult( btCollisionObject hitCollisionObject,
				LocalShapeInfo localShapeInfo,
				ref btVector3 hitNormalLocal,
				ref btVector3 hitPointLocal,
				double hitFraction
				)
			{
				m_hitCollisionObject = ( hitCollisionObject );
				m_localShapeInfo = ( localShapeInfo );
				m_hitNormalLocal = ( hitNormalLocal );
				m_hitPointLocal = ( hitPointLocal );
				m_hitFraction = ( hitFraction );
			}
Example #9
0
			public LocalRayResult( btCollisionObject collisionObject,
				LocalShapeInfo localShapeInfo,
				btVector3 hitNormalLocal,
				double hitFraction )
			{
				m_collisionObject = ( collisionObject );
				m_localShapeInfo = ( localShapeInfo );
				m_hitNormalLocal = ( hitNormalLocal );
				m_hitFraction = ( hitFraction );
			}