#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 | |||
) | [inline] |
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 | |||
) | [inline] |
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.