/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
App/include/solver/SolverKernel.h
94 строки
3 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
#pragma once #include "solver/SolverConfig.h" #include "boost/cstdint.hpp" #include "rbx/ArrayDynamic.h" namespace RBX { class ConstraintJacobianPair; class BodyPairIndices; class SolverBodyStaticProperties; class SolverBodyMassAndInertia; class ConstraintVariables; class VirtualDisplacementArray; class VirtualDisplacementArray; class EffectiveMassPair; void PGSComputeEffectiveMasses( EffectiveMassPair* _effectiveMassesVelStage, EffectiveMassPair* _effectiveMassesPosStage, size_t _constraintCount, const boost::uint8_t* _dimensions, const ConstraintJacobianPair* _jacobians, const BodyPairIndices* _pairs, const SolverBodyMassAndInertia* _massAndIntertia, const SolverConfig& _config ); void PGSApplyEffectiveMassMultipliers( EffectiveMassPair* _effectiveMassesVelStage, EffectiveMassPair* _effectiveMassesPosStage, size_t _constraintCount, const boost::uint8_t* _dimensions, const float* _multipliers, const BodyPairIndices* _pairs, const SolverConfig& _config ); void PGSPreconditionConstraintEquations( ConstraintJacobianPair* _preconditionedJacobiansVelStage, ConstraintJacobianPair* _preconditionedJacobiansPosStage, ConstraintVariables* _velocityStageVariables, ConstraintVariables* _positionStageVariables, size_t _constraintCount, const boost::uint8_t* _dimensions, const boost::uint8_t* _useBlock, const float* __restrict _sorVel, const float* __restrict _sorPos, const ConstraintJacobianPair* _jacobians, const EffectiveMassPair* _effectiveMassesVelStage, const EffectiveMassPair* _effectiveMassesPosStage ); void PGSInitVirtualDisplacements( VirtualDisplacementArray& _virDVel, VirtualDisplacementArray& _virDPos, const EffectiveMassPair* _effectiveMassesVelStage, const EffectiveMassPair* _effectiveMassesPosStage, size_t _constraintCount, const boost::uint8_t* _dimensions, const ConstraintVariables* __restrict _velStage, const ConstraintVariables* __restrict _posStage, const BodyPairIndices* _pairs, const SolverConfig& _config ); void PGSSolveKernel( ConstraintVariables* __restrict _velStage, ConstraintVariables* __restrict _posStage, VirtualDisplacementArray& _virDVel, VirtualDisplacementArray& _virDPos, size_t _constraintCount, size_t _collisionCount, const boost::uint8_t* _dimensions, const BodyPairIndices* _pairs, const ConstraintJacobianPair* _preconditionedJacobiansVelStage, const ConstraintJacobianPair* _preconditionedJacobiansPosStage, const EffectiveMassPair* _effectiveMassesVelStage, const EffectiveMassPair* _effectiveMassesPosStage, const SolverConfig& _config ); void PGSSolveKernelComputeErrors( ArrayBase< float >& _residuals, ArrayBase< float >& _deltaResiduals, ArrayBase< ConstraintVariables >& _vars, VirtualDisplacementArray& _virD, size_t _constraintCount, size_t _collisionCount, size_t _bodyCount, const boost::uint8_t* _dimensions, const BodyPairIndices* _pairs, const ConstraintJacobianPair* _jacobians, const ConstraintJacobianPair* _preconditionedJacobians, const EffectiveMassPair* _effectiveMasses, const SolverConfig& _config ); }