Logo Search packages:      
Sourcecode: blender version File versions  Download package

MinkowskiSumShape.cpp

/*
 * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
 *
 * 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);
}

Generated by  Doxygen 1.6.0   Back to index