Blender
V3.3
|
#include "btSoftBody.h"
#include "LinearMath/btQuickprof.h"
#include "LinearMath/btPolarDecomposition.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseInterface.h"
#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
#include "BulletCollision/NarrowPhaseCollision/btGjkEpa2.h"
#include "BulletDynamics/Featherstone/btMultiBodyLinkCollider.h"
#include "BulletDynamics/Featherstone/btMultiBodyConstraint.h"
#include <string.h>
#include <cmath>
#include "poly34.h"
Go to the source code of this file.
Classes | |
struct | btSymMatrix< T > |
class | btSoftBodyCollisionShape |
class | btSoftClusterCollisionShape |
struct | btEigen |
struct | btSoftColliders |
struct | btSoftColliders::ClusterBase |
struct | btSoftColliders::CollideCL_RS |
struct | btSoftColliders::CollideCL_SS |
struct | btSoftColliders::CollideSDF_RS |
struct | btSoftColliders::CollideSDF_RD |
struct | btSoftColliders::CollideSDF_RDF |
struct | btSoftColliders::CollideVF_SS |
struct | btSoftColliders::CollideVF_DD |
struct | btSoftColliders::CollideFF_DD |
struct | btSoftColliders::CollideCCD |
Variables | |
static const int | KDOP_COUNT = 13 |
static btVector3 | dop [KDOP_COUNT] |
|
inlinestatic |
Definition at line 966 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btMatrix3x3, and r.
Referenced by AngularImpulseMatrix(), and ImpulseMatrix().
|
inlinestatic |
Definition at line 1035 of file btSoftBodyInternals.h.
References Add(), and inverse().
Referenced by btSoftBody::AJoint::Prepare().
|
inlinestatic |
Definition at line 1307 of file btSoftBodyInternals.h.
References length2(), btSoftBody::Node::m_f, btSoftBody::Node::m_im, btSoftBody::Node::m_v, and ProjectOnAxis().
Referenced by btSoftBody::addAeroForceToFace(), and btSoftBody::addAeroForceToNode().
|
inlinestatic |
Definition at line 1281 of file btSoftBodyInternals.h.
References Freestyle::a, blender::compositor::area(), usdtokens::b(), btCross(), btVector3, and x2.
Referenced by btSoftBody::appendFace(), btSoftBody::setTotalMass(), and btSoftBody::updateArea().
|
inlinestatic |
Definition at line 1186 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btCross(), btVector3, Freestyle::c, and w().
Referenced by btSoftColliders::CollideVF_SS::Process().
|
inlinestatic |
Definition at line 1178 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), and Freestyle::c.
Referenced by btSoftColliders::CollideVF_SS::Process(), and btSoftColliders::CollideVF_DD::Process().
|
static |
Definition at line 625 of file btSoftBodyInternals.h.
References bernsteinVFTest(), continuousCollisionDetection(), e, and node.
Referenced by btSoftColliders::CollideCCD::Process(), and btSoftColliders::CollideCCD::Repel().
|
static |
Definition at line 510 of file btSoftBodyInternals.h.
References conservativeCulling(), coplanarAndInsideTest(), and node.
Referenced by bernsteinCCD(), and bernsteinVFTest().
|
static |
Definition at line 526 of file btSoftBodyInternals.h.
References bernsteinVFTest(), conservativeCulling(), coplanarAndInsideTest(), deCasteljau(), diffSign(), getBernsteinCoeff(), and node.
|
inlinestatic |
Definition at line 1275 of file btSoftBodyInternals.h.
References btSoftBody::Face::m_n, and btSoftBody::Node::m_x.
Definition at line 829 of file btSoftBodyInternals.h.
Definition at line 839 of file btSoftBodyInternals.h.
References x.
Definition at line 868 of file btSoftBodyInternals.h.
References btFabs(), btVector3, x, and y.
Referenced by btSoftBody::generateClusters().
Definition at line 801 of file btSoftBodyInternals.h.
References Freestyle::a, and usdtokens::b().
Definition at line 795 of file btSoftBodyInternals.h.
References Freestyle::a, and usdtokens::b().
|
static |
Definition at line 501 of file btSoftBodyInternals.h.
Referenced by bernsteinVFTest().
|
static |
Definition at line 543 of file btSoftBodyInternals.h.
References Freestyle::a, blender::math::abs(), usdtokens::b(), btSwap(), btVector3, Freestyle::c, blender::math::cross(), e, eps, hasSeparatingPlane(), btSoftBody::Face::m_n, btSoftBody::Node::m_v, btSoftBody::Node::m_x, node, normal, proximityTest(), r, SAFE_EPSILON, SIMD_EPSILON, SolveP2(), SolveP3(), and x2.
Referenced by bernsteinCCD().
|
static |
Definition at line 480 of file btSoftBodyInternals.h.
References diffSign(), node, rootFindingLemma(), sameSign(), signDetermination1(), and signDetermination2().
Referenced by bernsteinVFTest().
|
inlinestatic |
Definition at line 889 of file btSoftBodyInternals.h.
References btMatrix3x3, btVector3, and v.
Referenced by btPolyhedralContactClipping::findSeparatingAxis(), and MassMatrix().
Definition at line 851 of file btSoftBodyInternals.h.
References x.
|
static |
Definition at line 517 of file btSoftBodyInternals.h.
Referenced by bernsteinVFTest().
|
inlinestatic |
Definition at line 898 of file btSoftBodyInternals.h.
References btMatrix3x3, btVector3, and x.
Referenced by btSoftBody::appendDeformableAnchor(), btSoftColliders::CollideSDF_RDF::DoNode(), ImpulseMatrix(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), and MassMatrix().
|
inlinestatic |
Definition at line 907 of file btSoftBodyInternals.h.
References btMatrix3x3, btVector3, and v.
|
static |
Definition at line 150 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), and sameSign().
Referenced by bernsteinVFTest(), coplanarAndInsideTest(), getSigns(), rootFindingLemma(), signDetermination1Internal(), and signDetermination2Internal().
Definition at line 916 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), and result.
Referenced by blender ::dot::arrowType_to_string(), and OuterProduct().
|
inlinestatic |
Definition at line 1234 of file btSoftBodyInternals.h.
References btSoftBodyWorldInfo::air_density, btDot(), btVector3, btSoftBody::sMedium::m_density, btSoftBodyWorldInfo::m_gravity, btSoftBody::sMedium::m_pressure, btSoftBody::sMedium::m_velocity, btSoftBodyWorldInfo::water_density, btSoftBodyWorldInfo::water_normal, btSoftBodyWorldInfo::water_offset, and x.
Referenced by btSoftBody::addAeroForceToFace(), and btSoftBody::addAeroForceToNode().
|
static |
btSoftBody implementation by Nathanael Presson
Definition at line 34 of file btSoftBodyInternals.h.
References btMultiBodyJacobianData::m_deltaVelocitiesUnitImpulse, btMultiBodyJacobianData::m_jacobians, btMultiBodyLinkCollider::m_link, btMultiBodyLinkCollider::m_multiBody, btAlignedObjectArray< T >::resize(), btMultiBodyJacobianData::scratch_m, btMultiBodyJacobianData::scratch_r, and btMultiBodyJacobianData::scratch_v.
Referenced by btSoftBody::appendDeformableAnchor(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), and btDeformableMultiBodyDynamicsWorld::integrateTransforms().
|
static |
Definition at line 47 of file btSoftBodyInternals.h.
References blender::math::abs(), btVector3, and v.
Referenced by btSoftBody::appendDeformableAnchor(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), and btDeformableMultiBodyDynamicsWorld::integrateTransforms().
|
static |
Definition at line 223 of file btSoftBodyInternals.h.
References btVector3, blender::math::dot(), btSoftBody::Face::m_n, btSoftBody::Face::m_n0, btSoftBody::Face::m_n1, btSoftBody::Node::m_q, btSoftBody::Face::m_vn, btSoftBody::Node::m_x, and node.
Referenced by bernsteinVFTest().
|
static |
Definition at line 263 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btVector3, Freestyle::c, blender::math::cross(), btSoftBody::Node::m_v, and btSoftBody::Node::m_x.
Referenced by signDetermination1(), and signDetermination2().
Definition at line 108 of file btSoftBodyInternals.h.
References SIMD_EPSILON, and x.
Referenced by hasSeparatingPlane().
|
static |
Definition at line 170 of file btSoftBodyInternals.h.
References diffSign(), evaluateBezier(), evaluateBezier2(), and sameSign().
Referenced by signDetermination1(), and signDetermination2().
|
static |
Definition at line 118 of file btSoftBodyInternals.h.
References btVector3, dop, getSign(), hex, KDOP_COUNT, btSoftBody::Face::m_n, btSoftBody::Node::m_v, btSoftBody::Node::m_x, and node.
Referenced by continuousCollisionDetection().
|
inlinestatic |
Definition at line 1199 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btFabs(), btSwap(), btSoftBody::ImplicitFn::Eval(), Lerp(), t, and v.
Referenced by btSoftBody::refine().
|
inlinestatic |
Definition at line 1004 of file btSoftBodyInternals.h.
References Add(), Diagonal(), inverse(), MassMatrix(), and r.
Referenced by btSoftBody::appendDeformableAnchor(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RS::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), btSoftBody::LJoint::Prepare(), btSoftBody::solveConstraints(), and btSoftColliders::ClusterBase::SolveContact().
|
inlinestatic |
Definition at line 1014 of file btSoftBodyInternals.h.
References Add(), Diagonal(), inverse(), MassMatrix(), and r.
|
inlinestatic |
Definition at line 1028 of file btSoftBodyInternals.h.
References Add(), inverse(), and MassMatrix().
Definition at line 813 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), and t.
|
inlinestatic |
Definition at line 818 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btMatrix3x3, Lerp(), r, and t.
Definition at line 807 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), and t.
Referenced by btSoftBody::cutLink(), ImplicitSolve(), Lerp(), btSoftBody::predictMotion(), btSoftBody::refine(), and btSoftBody::updateClusters().
|
inlinestatic |
Definition at line 1142 of file btSoftBodyInternals.h.
References btVector3, blender::math::cross(), normal, rayIntersectsTriangle(), ret, SIMD_EPSILON, and t.
|
inlinestatic |
Definition at line 997 of file btSoftBodyInternals.h.
References btMatrix3x3, Cross(), Diagonal(), r, and Sub().
Referenced by ImpulseMatrix().
|
inlinestatic |
Definition at line 1323 of file btSoftBodyInternals.h.
References Freestyle::a, and usdtokens::b().
Referenced by btSoftBody::cutLink().
|
inlinestatic |
Definition at line 982 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btMatrix3x3, and r.
Referenced by btSoftBody::updatePose().
|
static |
Definition at line 142 of file btSoftBodyInternals.h.
References Freestyle::a, and SAFE_EPSILON.
Referenced by sameSign(), signDetermination1(), and signDetermination2().
Definition at line 1253 of file btSoftBodyInternals.h.
References btVector3, l, SIMD_EPSILON, and v.
Referenced by btSoftBody::AJoint::Prepare().
|
inlinestatic |
Definition at line 990 of file btSoftBodyInternals.h.
References btCross().
|
inlinestatic |
Definition at line 924 of file btSoftBodyInternals.h.
References btMatrix3x3, btVector3, Dot(), u1, u2, v1, and v2.
Referenced by btDeformableLinearElasticityForce::addScaledHessian(), btSoftBody::appendDeformableAnchor(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), btSoftBody::getRigidTransform(), and btDeformableMultiBodyDynamicsWorld::integrateTransforms().
|
inlinestatic |
Definition at line 945 of file btSoftBodyInternals.h.
References btMatrix3x3, btVector3, v1, and v2.
|
inlinestatic |
Definition at line 1411 of file btSoftBodyInternals.h.
References btPolarDecomposition::decompose().
Referenced by btSoftBody::updateClusters(), and btSoftBody::updatePose().
|
static |
Definition at line 236 of file btSoftBodyInternals.h.
Referenced by rootFindingLemma(), signDetermination1(), and signDetermination2().
Definition at line 1042 of file btSoftBodyInternals.h.
References Freestyle::a, btDot(), and v.
Referenced by ApplyClampedForce(), and ProjectOnPlane().
Definition at line 1048 of file btSoftBodyInternals.h.
References Freestyle::a, ProjectOnAxis(), and v.
Referenced by btSoftBody::PSolve_SContacts().
|
inlinestatic |
Definition at line 1055 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btDot(), btVector3, SIMD_EPSILON, and t.
Referenced by btSoftColliders::CollideVF_SS::Process(), and ProjectOrigin().
|
inlinestatic |
Definition at line 1075 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btCross(), btDot(), btSqrt(), btVector3, Freestyle::c, ProjectOrigin(), and SIMD_EPSILON.
|
static |
Definition at line 66 of file btSoftBodyInternals.h.
References blender::math::abs(), btVector3, normal, SIMD_EPSILON, sqrt(), and x2.
Referenced by continuousCollisionDetection(), btSoftColliders::CollideVF_DD::Process(), and btSoftColliders::CollideFF_DD::Repel().
|
inlinestatic |
Definition at line 1109 of file btSoftBodyInternals.h.
References Freestyle::a, btVector3, t, v, v1, and v2.
Referenced by lineIntersectsTriangle().
|
static |
Definition at line 245 of file btSoftBodyInternals.h.
References diffSign(), polyDecomposition(), sameSign(), u1, and v1.
Referenced by coplanarAndInsideTest().
|
static |
Definition at line 146 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), nearZero(), and SAFE_EPSILON.
Referenced by coplanarAndInsideTest(), diffSign(), getSigns(), rootFindingLemma(), signDetermination1Internal(), and signDetermination2Internal().
Definition at line 863 of file btSoftBodyInternals.h.
Referenced by btSoftBody::refine().
|
inlinestatic |
Definition at line 874 of file btSoftBodyInternals.h.
References Freestyle::a, btMatrix3x3, btVector3, and xy.
Definition at line 857 of file btSoftBodyInternals.h.
Referenced by KDL::abs().
|
static |
Definition at line 363 of file btSoftBodyInternals.h.
References getJs(), getSigns(), btSoftBody::Face::m_n, nearZero(), node, polyDecomposition(), SAFE_EPSILON, signDetermination1Internal(), u1, and v1.
Referenced by coplanarAndInsideTest().
|
static |
Definition at line 303 of file btSoftBodyInternals.h.
References diffSign(), K, L, sameSign(), u1, and v1.
Referenced by signDetermination1().
|
static |
Definition at line 414 of file btSoftBodyInternals.h.
References getJs(), getSigns(), btSoftBody::Face::m_n, nearZero(), node, polyDecomposition(), SAFE_EPSILON, signDetermination2Internal(), u1, and v1.
Referenced by coplanarAndInsideTest().
|
static |
Definition at line 315 of file btSoftBodyInternals.h.
References diffSign(), sameSign(), u1, and v1.
Referenced by signDetermination2().
Definition at line 845 of file btSoftBodyInternals.h.
References x.
|
inlinestatic |
Definition at line 974 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btMatrix3x3, and r.
Referenced by MassMatrix().
|
inlinestatic |
Definition at line 1263 of file btSoftBodyInternals.h.
References btVector3, btDbvtAabbMm::Expand(), btDbvtAabbMm::FromPoints(), btSoftBody::Face::m_n, and btSoftBody::Node::m_x.
Referenced by btSoftBody::appendTetra(), btSoftBody::initializeFaceTree(), and btSoftBody::predictMotion().
|
inlinestatic |
Definition at line 1293 of file btSoftBodyInternals.h.
References Freestyle::a, usdtokens::b(), btCross(), btDot(), btVector3, Freestyle::c, and x2.
Definition at line 789 of file btSoftBodyInternals.h.
References T.
Referenced by btSoftBody::appendFace(), btSoftBody::appendLink(), btSoftBody::appendMaterial(), btSoftBody::appendNode(), btSoftBody::appendNote(), btSoftBody::appendTetra(), and btSoftBody::btSoftBody().
|
static |
Definition at line 94 of file btSoftBodyInternals.h.
Referenced by hasSeparatingPlane().
|
static |
Definition at line 93 of file btSoftBodyInternals.h.
Referenced by hasSeparatingPlane().