forked from bartvdbraak/blender
feb4f51103
Only windows projectfiles for now. Will ask Hans to get unix makefiles done.
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
/*
|
|
* Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
|
|
*
|
|
* Permission to use, copy, modify, distribute and sell this software
|
|
* and its documentation for any purpose is hereby granted without fee,
|
|
* provided that the above copyright notice appear in all copies.
|
|
* Erwin Coumans makes no representations about the suitability
|
|
* of this software for any purpose.
|
|
* It is provided "as is" without express or implied warranty.
|
|
*/
|
|
#include "MinkowskiSumShape.h"
|
|
|
|
|
|
MinkowskiSumShape::MinkowskiSumShape(ConvexShape* shapeA,ConvexShape* shapeB)
|
|
:m_shapeA(shapeA),
|
|
m_shapeB(shapeB)
|
|
{
|
|
m_transA.setIdentity();
|
|
m_transB.setIdentity();
|
|
}
|
|
|
|
SimdVector3 MinkowskiSumShape::LocalGetSupportingVertexWithoutMargin(const SimdVector3& vec)const
|
|
{
|
|
SimdVector3 supVertexA = m_transA(m_shapeA->LocalGetSupportingVertexWithoutMargin(vec*m_transA.getBasis()));
|
|
SimdVector3 supVertexB = m_transB(m_shapeB->LocalGetSupportingVertexWithoutMargin(vec*m_transB.getBasis()));
|
|
return supVertexA + supVertexB;
|
|
}
|
|
|
|
float MinkowskiSumShape::GetMargin() const
|
|
{
|
|
return m_shapeA->GetMargin() + m_shapeB->GetMargin();
|
|
}
|
|
|
|
|
|
void MinkowskiSumShape::CalculateLocalInertia(SimdScalar mass,SimdVector3& inertia)
|
|
{
|
|
assert(0);
|
|
inertia.setValue(0,0,0);
|
|
}
|