HELLO·Android
系统源代码
IT资讯
技术文章
我的收藏
注册
登录
-
我收藏的文章
创建代码块
我的代码块
我的账号
Nougat 7.1
|
7.1.1_r28
下载
查看原文件
收藏
根目录
external
libgdx
extensions
gdx-bullet
jni
src
bullet
BulletDynamics
MLCPSolvers
btLemkeSolver.h
/* Bullet Continuous Collision Detection and Physics Library Copyright (c) 2003-2013 Erwin Coumans http://bulletphysics.org This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ ///original version written by Erwin Coumans, October 2013 #ifndef BT_LEMKE_SOLVER_H #define BT_LEMKE_SOLVER_H #include "btMLCPSolverInterface.h" #include "btLemkeAlgorithm.h" ///The btLemkeSolver is based on "Fast Implementation of Lemkes Algorithm for Rigid Body Contact Simulation (John E. Lloyd) " ///It is a slower but more accurate solver. Increase the m_maxLoops for better convergence, at the cost of more CPU time. ///The original implementation of the btLemkeAlgorithm was done by Kilian Grundl from the MBSim team class btLemkeSolver : public btMLCPSolverInterface { protected: public: btScalar m_maxValue; int m_debugLevel; int m_maxLoops; bool m_useLoHighBounds; btLemkeSolver() :m_maxValue(100000), m_debugLevel(0), m_maxLoops(1000), m_useLoHighBounds(true) { } virtual bool solveMLCP(const btMatrixXu & A, const btVectorXu & b, btVectorXu& x, const btVectorXu & lo,const btVectorXu & hi,const btAlignedObjectArray
& limitDependency, int numIterations, bool useSparsity = true) { if (m_useLoHighBounds) { BT_PROFILE("btLemkeSolver::solveMLCP"); int n = A.rows(); if (0==n) return true; bool fail = false; btVectorXu solution(n); btVectorXu q1; q1.resize(n); for (int row=0;row
m_maxValue) { if (x[i]> errorValueMax) { fail = true; errorIndexMax = i; errorValueMax = x[i]; } ////printf("x[i] = %f,",x[i]); } if (x[i]<-m_maxValue) { if (x[i]
m_maxValue) { if (x[i]> errorValueMax) { fail = true; errorIndexMax = i; errorValueMax = x[i]; } ////printf("x[i] = %f,",x[i]); } if (x[i]<-m_maxValue) { if (x[i]
C++程序
|
351行
|
7.43 KB
原始内容
高亮显示
复制内容
×
已收藏
收藏成功,您可以在我收藏的代码页面中查看,其地址为:
https://www.androidos.net.cn/my/collect/code
。
登录后可以享受更多权益
您还没有登录,登录后您可以:
收藏Android系统代码
收藏喜欢的文章
多个平台共享账号
去登录
首次使用?从这里
注册