#include <ode/objects.h>
#include <ode/ode.h>
#include <ode/odemath.h>
#include <ode/rotation.h>
#include <ode/timer.h>
#include <ode/error.h>
#include <ode/matrix.h>
#include <ode/misc.h>
#include "objects.h"
#include "config.h"
#include "joints/joint.h"
#include "lcp.h"
#include "util.h"
#include <parallel_common.h>
#include <parallel_utils.h>
#include <parallel_stepper.h>
Go to the source code of this file.
Classes | |
struct | dJointWithInfo1 |
struct | IndexError |
Defines | |
#define | RANDOMLY_REORDER_CONSTRAINTS 1 |
#define | RANDOMLY_REORDER_CONSTRAINTS 1 |
Typedefs | |
typedef dReal * | dRealMutablePtr |
typedef const dReal * | dRealPtr |
Functions | |
static size_t | AdjustArenaSizeForReserveRequirements (size_t arenareq, float rsrvfactor, unsigned rsrvminimum) |
static size_t | BuildIslandAndEstimateStepperMemoryRequirements (dxWorldProcessContext *context, dxWorld *world, dReal stepsize, dmemestimate_fn_t stepperestimate) |
template<typename T > | |
void | compute_Adcfm_b (int m, T sor_w, T *J, const T *iMJ, int *jb, const T *cfm, T *Adcfm, T *b) |
template void | compute_Adcfm_b< dReal > (int m, dReal sor_w, dRealMutablePtr J, dRealPtr iMJ, int *jb, dRealPtr cfm, dRealMutablePtr Adcfm, dRealMutablePtr b) |
template<typename T > | |
void | compute_invM_JT (int m, const T *J, T *iMJ, int *jb, dxBody *const *body, const T *invI) |
template void | compute_invM_JT< dReal > (int m, dRealPtr J, dRealMutablePtr iMJ, int *jb, dxBody *const *body, const dRealPtr invI) |
size_t | dxEstimateParallelStepMemoryRequirements (dxBody *const *body, int nb, dxJoint *const *_joint, int _nj) |
void | dxParallelProcessIslands (dxWorld *world, dReal stepsize, dstepper_fn_t stepper) |
void | dxParallelQuickStepper (dxWorldProcessContext *context, dxWorld *world, dxBody *const *body, int nb, dxJoint *const *_joint, int _nj, dReal stepsize) |
bool | dxReallocateParallelWorldProcessContext (dxWorld *world, dReal stepsize, dmemestimate_fn_t stepperestimate) |
static size_t | EstimateIslandsProcessingMemoryRequirements (dxWorld *world, size_t &sesize) |
static size_t | EstimateParallelSOR_LCPMemoryRequirements (int m, int n) |
static dxWorldProcessContext * | InternalReallocateWorldProcessContext (dxWorldProcessContext *oldcontext, size_t memreq, const dxWorldProcessMemoryManager *memmgr, float rsrvfactor, unsigned rsrvminimum) |
static void | Multiply1_12q1 (dReal *A, const dReal *B, const dReal *C, int q) |
static void | multiply_J (int m, dRealPtr J, int *jb, dRealPtr in, dRealMutablePtr out) |
static void | worldSolve (dxWorldProcessContext *context, const int m, const int nb, dRealMutablePtr J, int *jb, dxBody *const *body, dRealPtr invI, dRealMutablePtr lambda, dRealMutablePtr fc, dRealMutablePtr b, dRealPtr lo, dRealPtr hi, dRealPtr cfm, dRealMutablePtr iMJ, dRealMutablePtr Ad, const int *findex, const dxQuickStepParameters *qs) |
#define RANDOMLY_REORDER_CONSTRAINTS 1 |
Definition at line 375 of file parallel_stepper.cpp.
#define RANDOMLY_REORDER_CONSTRAINTS 1 |
Definition at line 375 of file parallel_stepper.cpp.
typedef dReal* dRealMutablePtr |
Definition at line 39 of file parallel_stepper.cpp.
typedef const dReal* dRealPtr |
Definition at line 38 of file parallel_stepper.cpp.
static size_t AdjustArenaSizeForReserveRequirements | ( | size_t | arenareq, |
float | rsrvfactor, | ||
unsigned | rsrvminimum | ||
) | [static] |
Definition at line 1107 of file parallel_stepper.cpp.
static size_t BuildIslandAndEstimateStepperMemoryRequirements | ( | dxWorldProcessContext * | context, |
dxWorld * | world, | ||
dReal | stepsize, | ||
dmemestimate_fn_t | stepperestimate | ||
) | [static] |
Definition at line 954 of file parallel_stepper.cpp.
void compute_Adcfm_b | ( | int | m, |
T | sor_w, | ||
T * | J, | ||
const T * | iMJ, | ||
int * | jb, | ||
const T * | cfm, | ||
T * | Adcfm, | ||
T * | b | ||
) |
Definition at line 114 of file parallel_stepper.cpp.
template void compute_Adcfm_b< dReal > | ( | int | m, |
dReal | sor_w, | ||
dRealMutablePtr | J, | ||
dRealPtr | iMJ, | ||
int * | jb, | ||
dRealPtr | cfm, | ||
dRealMutablePtr | Adcfm, | ||
dRealMutablePtr | b | ||
) |
void compute_invM_JT | ( | int | m, |
const T * | J, | ||
T * | iMJ, | ||
int * | jb, | ||
dxBody *const * | body, | ||
const T * | invI | ||
) |
Definition at line 89 of file parallel_stepper.cpp.
template void compute_invM_JT< dReal > | ( | int | m, |
dRealPtr | J, | ||
dRealMutablePtr | iMJ, | ||
int * | jb, | ||
dxBody *const * | body, | ||
const dRealPtr | invI | ||
) |
size_t dxEstimateParallelStepMemoryRequirements | ( | dxBody *const * | body, |
int | nb, | ||
dxJoint *const * | _joint, | ||
int | _nj | ||
) |
Definition at line 886 of file parallel_stepper.cpp.
void dxParallelProcessIslands | ( | dxWorld * | world, |
dReal | stepsize, | ||
dstepper_fn_t | stepper | ||
) |
Definition at line 335 of file parallel_stepper.cpp.
void dxParallelQuickStepper | ( | dxWorldProcessContext * | context, |
dxWorld * | world, | ||
dxBody *const * | body, | ||
int | nb, | ||
dxJoint *const * | _joint, | ||
int | _nj, | ||
dReal | stepsize | ||
) |
Definition at line 445 of file parallel_stepper.cpp.
bool dxReallocateParallelWorldProcessContext | ( | dxWorld * | world, |
dReal | stepsize, | ||
dmemestimate_fn_t | stepperestimate | ||
) |
Definition at line 1242 of file parallel_stepper.cpp.
static size_t EstimateIslandsProcessingMemoryRequirements | ( | dxWorld * | world, |
size_t & | sesize | ||
) | [static] |
Definition at line 1092 of file parallel_stepper.cpp.
static size_t EstimateParallelSOR_LCPMemoryRequirements | ( | int | m, |
int | n | ||
) | [static] |
Definition at line 865 of file parallel_stepper.cpp.
static dxWorldProcessContext* InternalReallocateWorldProcessContext | ( | dxWorldProcessContext * | oldcontext, |
size_t | memreq, | ||
const dxWorldProcessMemoryManager * | memmgr, | ||
float | rsrvfactor, | ||
unsigned | rsrvminimum | ||
) | [static] |
Definition at line 1115 of file parallel_stepper.cpp.
static void Multiply1_12q1 | ( | dReal * | A, |
const dReal * | B, | ||
const dReal * | C, | ||
int | q | ||
) | [static] |
Definition at line 381 of file parallel_stepper.cpp.
static void multiply_J | ( | int | m, |
dRealPtr | J, | ||
int * | jb, | ||
dRealPtr | in, | ||
dRealMutablePtr | out | ||
) | [static] |
Definition at line 419 of file parallel_stepper.cpp.
static void worldSolve | ( | dxWorldProcessContext * | context, |
const int | m, | ||
const int | nb, | ||
dRealMutablePtr | J, | ||
int * | jb, | ||
dxBody *const * | body, | ||
dRealPtr | invI, | ||
dRealMutablePtr | lambda, | ||
dRealMutablePtr | fc, | ||
dRealMutablePtr | b, | ||
dRealPtr | lo, | ||
dRealPtr | hi, | ||
dRealPtr | cfm, | ||
dRealMutablePtr | iMJ, | ||
dRealMutablePtr | Ad, | ||
const int * | findex, | ||
const dxQuickStepParameters * | qs | ||
) | [static] |
Definition at line 147 of file parallel_stepper.cpp.