MathEngine
Home Page       Structures       File List       Functions and Macros      

MdtBcl.h File Reference

Mdt constraints header File. More...

#include "MePrecision.h"
#include "MdtKea.h"
#include "MdtBclLimit.h"
#include "MdtBclContactParams.h"

Go to the source code of this file.

Compounds

struct  MdtBclBSJoint
struct  MdtBclCarWheel
struct  MdtBclConstraintHeader
struct  MdtBclContact
struct  MdtBclFixedPath
struct  MdtBclFPFOJoint
struct  MdtBclHinge
struct  MdtBclLinear1
struct  MdtBclLinear2
struct  MdtBclPrismatic
struct  MdtBclSolverParameters
struct  MdtBclUniversal

Defines

#define MdtBclNO_BODY   -1
 Flag used to indicate the absence of an attached body. More...

#define MdtBclGETMAXROWSBSJOINT   (6)
 Maximum rows added by a Ball And Socket Joint constraint. More...

#define MdtBclGETMAXROWSHINGE   (6)
 Maximum rows added by a Hinge constraint. More...

#define MdtBclGETMAXROWSPRISMATIC   (6)
 Maximum rows added by a Prismatic constraint. More...

#define MdtBclGETMAXROWSCARWHEEL   (6)
 Maximum rows added by a Car Wheel constraint. More...

#define MdtBclGETMAXROWSCONTACT   (3)
 Maximum rows added by a Contact constraint. More...

#define MdtBclGETMAXROWSFIXEDPATH   (3)
 Maximum rows added by a Fixed Path constraint. More...

#define MdtBclGETMAXROWSFPFOJOINT   (6)
 Maximum rows added by a Fixed Path Fixed Orientation constraint. More...

#define MdtBclGETMAXROWSUNIVERSAL   (4)
 Maximum rows added by a Universal Joint constraint. More...

#define MdtBclGETMAXROWSLINEAR1   (1)
 Maximum rows added by a Linear1 constraint. More...

#define MdtBclGETMAXROWSLINEAR2   (2)
 Maximum rows added by a Linear2 constraint. More...


Enumerations

enum  MdtBclJointType {
  MdtBclBSJOINT = 0,
  MdtBclHINGE,
  MdtBclPRISMATIC,
  MdtBclCARWHEEL,
  MdtBclCONTACT,
  MdtBclFIXEDPATH,
  MdtBclFPFOJOINT,
  MdtBclUNIVERSAL,
  MdtBclLINEAR1,
  MdtBclLINEAR2
}
 The enumeration of joint types supported by the MdtBcl module.


Functions

void MdtBclAddBSJoint (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Ball And Socket Joint constraint to a MdtKeaConstraints struct. More...

void MdtBclAddHinge (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Hinge constraint to a MdtKeaConstraints struct. More...

void MdtBclAddPrismatic (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Prismatic constraint to a MdtKeaConstraints 'struct'. More...

void MdtBclAddCarWheel (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Car Wheel constraint to a MdtKeaConstraints struct. More...

void MdtBclAddContact (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Contact constraint to a MdtKeaConstraints struct. More...

void MdtBclAddFixedPath (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Fixed Path constraint to a MdtKeaConstraints struct. More...

void MdtBclAddFPFOJoint (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Fixed Path Fixed Orientation constraint to a MdtKeaConstraints struct. More...

void MdtBclAddUniversal (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Universal Joint constraint to a MdtKeaConstraints struct. More...

void MdtBclAddLinear1 (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Linear1 constraint to a MdtKeaConstraints struct. More...

void MdtBclAddLinear2 (MdtKeaConstraints *const clist, void *const constraint, const MdtKeaTransformation *const tlist, MdtKeaBody *const blist, const MdtBclSolverParameters *const params)
 Add a Linear2 constraint to a MdtKeaConstraints struct. More...

void MdtBclInitConstraintRowList (MdtKeaConstraints *const clist)
 Initialises the MdtKeaConstraints struct. More...

void MdtBclEndPartition (MdtKeaConstraints *const clist)
 Ends a partition in the MdtKeaConstraints struct. More...

void MdtBclStartPartition (MdtKeaConstraints *const clist)
 Starts a partition in the MdtKeaConstraints struct. More...

void MdtBclEndConstraint (MdtKeaConstraints *const clist, const unsigned rows_added)
 MdtBclEndConstraint is used internally by MdtBcl. More...


Detailed Description

Mdt constraints header File.

All angles are specified in radians.


Define Documentation

#define MdtBclGETMAXROWSBSJOINT   (6)

Maximum rows added by a Ball And Socket Joint constraint.

#define MdtBclGETMAXROWSCARWHEEL   (6)

Maximum rows added by a Car Wheel constraint.

#define MdtBclGETMAXROWSCONTACT   (3)

Maximum rows added by a Contact constraint.

#define MdtBclGETMAXROWSFIXEDPATH   (3)

Maximum rows added by a Fixed Path constraint.

#define MdtBclGETMAXROWSFPFOJOINT   (6)

Maximum rows added by a Fixed Path Fixed Orientation constraint.

#define MdtBclGETMAXROWSHINGE   (6)

Maximum rows added by a Hinge constraint.

#define MdtBclGETMAXROWSLINEAR1   (1)

Maximum rows added by a Linear1 constraint.

#define MdtBclGETMAXROWSLINEAR2   (2)

Maximum rows added by a Linear2 constraint.

#define MdtBclGETMAXROWSPRISMATIC   (6)

Maximum rows added by a Prismatic constraint.

#define MdtBclGETMAXROWSUNIVERSAL   (4)

Maximum rows added by a Universal Joint constraint.

#define MdtBclNO_BODY   -1

Flag used to indicate the absence of an attached body.


Enumeration Type Documentation

enum MdtBclJointType

The enumeration of joint types supported by the MdtBcl module.


Function Documentation

void MdtBclAddBSJoint ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Ball And Socket Joint constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclBSJoint struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddCarWheel ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Car Wheel constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclCarWheel struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddContact ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Contact constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclContact struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddFPFOJoint ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Fixed Path Fixed Orientation constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclFPFOJoint struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddFixedPath ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Fixed Path constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclFixedPath struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddHinge ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Hinge constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclHinge struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddLinear1 ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Linear1 constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclLinear1 struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddLinear2 ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Linear2 constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclLinear2 struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclAddPrismatic ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Prismatic constraint to a MdtKeaConstraints 'struct'.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclPrismatic struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
params   Evolution parameters specific to the numerical solver.

void MdtBclAddUniversal ( MdtKeaConstraints * const clist,
void * const constraint,
const MdtKeaTransformation * const tlist,
MdtKeaBody * const blist,
const MdtBclSolverParameters * const params )

Add a Universal Joint constraint to a MdtKeaConstraints struct.

Parameters:
clist   The MdtKeaConstraints struct to add constraint to.
constraint   Pointer to a MdtBclUniversal struct.
tlist   Array of MdtKeaTransformation structs for the array of bodies.
blist   Array of MdtKeaBody struct that are reference by the constraint.
stepsize   Time step that the system is going to be evolved by.

void MdtBclEndConstraint ( MdtKeaConstraints * const clist,
unsigned rows_added )

MdtBclEndConstraint is used internally by MdtBcl.

It is the last thing called by MdtBclAddBSJoint etc, so you don't need it unless you are writing your own constraints.

void MdtBclEndPartition ( MdtKeaConstraints * const clist )

Ends a partition in the MdtKeaConstraints struct.

Call this after adding all constraints, or starting a new partition.

void MdtBclInitConstraintRowList ( MdtKeaConstraints * const clist )

Initialises the MdtKeaConstraints struct.

Call this before starting a partition and adding any constraints.

void MdtBclStartPartition ( MdtKeaConstraints * const clist )

Starts a partition in the MdtKeaConstraints struct.

Call this before adding any constraints..


MathEngine Dynamics Toolkit - Version 0.0.5 Alpha - Reference Manual generated using doxygen at Wed Oct 11 00:34:45 2000

Copyright MathEngine PLC 2000, all rights reserved.