vector<double> BayesactClient::get_response_epa() {
  vector<double> epa(3);
  epa[0] = response_.evaluation();
  epa[1] = response_.potency();
  epa[2] = response_.activity();
  return epa;
}
Пример #2
0
//Look at the GJK_EPA.h header file for documentation and instructions
bool SteerLib::GJK_EPA::intersect(float& return_penetration_depth, Util::Vector& return_penetration_vector, const std::vector<Util::Vector>& _shapeA, const std::vector<Util::Vector>& _shapeB)
{
    std::vector<Util::Vector> simplex;
    
    bool isColliding = GJK(_shapeA, _shapeB, simplex);
    
    if (isColliding) {
        epa(_shapeA, _shapeB, simplex, return_penetration_depth, return_penetration_vector);
    }
    
    return isColliding;
}
Пример #3
0
//Look at the GJK_EPA.h header file for documentation and instructions
bool SteerLib::GJK_EPA::intersect(float& return_penetration_depth, Util::Vector& return_penetration_vector, const std::vector<Util::Vector>& _shapeA, const std::vector<Util::Vector>& _shapeB)
{
	std::vector<Util::Vector> simplex;
	bool collision = gjk(_shapeA, _shapeB, simplex);

	if(collision)
		epa(return_penetration_depth, return_penetration_vector,simplex,_shapeA, _shapeB);
	/*else{
		return_penetration_depth = 0;
		return_penetration_vector.zero();
	}*/	
	
    return collision;
}
Пример #4
0
SimdScalar EpaPenetrationDepthSolver::EpaPenDepth( SimplexSolverInterface& simplexSolver,
												   ConvexShape* pConvexA, ConvexShape* pConvexB,
												   const SimdTransform& transformA, const SimdTransform& transformB,
												   SimdPoint3& wWitnessOnA, SimdPoint3& wWitnessOnB )
{
	Epa epa( pConvexA, pConvexB, transformA, transformB );

	if ( !epa.Initialize( simplexSolver ) )
	{
		assert( false && "Epa failed to initialize!" );
		return 0;
	}

	return epa.CalcPenDepth( wWitnessOnA, wWitnessOnB );
}