artisynth.core.mechmodels
Interface Constrainer

All Known Implementing Classes:
CollisionHandler, CollisionHandlerGeneric, CollisionHandlerOld, ConstrainerBase, FemModel, FemModel3d, FemMuscleModel, FullPlanarJoint, HydrostatModel, JointBase, MarkerPlanarConnector, MFreeModel3d, MFreeMuscleModel, ParticleMeshConstraint, ParticlePlaneConstraint, PlanarConnector, PointToPointMuscle, RevoluteJoint, RigidBodyConnector, RigidBodyContact, RollPitchJoint, SegmentedPlanarConnector, SolidJoint, SphericalJoint, SphericalJointBase, SphericalRpyJoint, SpongeModel

public interface Constrainer


Method Summary
 int addBilateralConstraints(SparseBlockMatrix GT, VectorNd dg, int numb, IntHolder changeCnt)
           
 int addFrictionConstraints(SparseBlockMatrix DT, MechSystem.FrictionInfo[] finfo, int idx)
           
 int addUnilateralConstraints(SparseBlockMatrix NT, VectorNd dn, int numu, IntHolder changeCnt)
           
 int getBilateralImpulses(VectorNd lam, int idx)
           
 int getBilateralInfo(MechSystem.ConstraintInfo[] ginfo, int idx)
           
 void getBilateralSizes(VectorNi sizes)
           
 int getUnilateralImpulses(VectorNd the, int idx)
           
 int getUnilateralInfo(MechSystem.ConstraintInfo[] ninfo, int idx)
           
 void getUnilateralSizes(VectorNi sizes)
           
 int maxFrictionConstraintSets()
           
 int setBilateralImpulses(VectorNd lam, double h, int idx)
           
 int setUnilateralImpulses(VectorNd the, double h, int idx)
           
 double updateConstraints(double t, int flags)
           
 void zeroImpulses()
           
 

Method Detail

getBilateralSizes

void getBilateralSizes(VectorNi sizes)

addBilateralConstraints

int addBilateralConstraints(SparseBlockMatrix GT,
                            VectorNd dg,
                            int numb,
                            IntHolder changeCnt)

getBilateralInfo

int getBilateralInfo(MechSystem.ConstraintInfo[] ginfo,
                     int idx)

setBilateralImpulses

int setBilateralImpulses(VectorNd lam,
                         double h,
                         int idx)

getBilateralImpulses

int getBilateralImpulses(VectorNd lam,
                         int idx)

zeroImpulses

void zeroImpulses()

getUnilateralSizes

void getUnilateralSizes(VectorNi sizes)

addUnilateralConstraints

int addUnilateralConstraints(SparseBlockMatrix NT,
                             VectorNd dn,
                             int numu,
                             IntHolder changeCnt)

getUnilateralInfo

int getUnilateralInfo(MechSystem.ConstraintInfo[] ninfo,
                      int idx)

setUnilateralImpulses

int setUnilateralImpulses(VectorNd the,
                          double h,
                          int idx)

maxFrictionConstraintSets

int maxFrictionConstraintSets()

addFrictionConstraints

int addFrictionConstraints(SparseBlockMatrix DT,
                           MechSystem.FrictionInfo[] finfo,
                           int idx)

getUnilateralImpulses

int getUnilateralImpulses(VectorNd the,
                          int idx)

updateConstraints

double updateConstraints(double t,
                         int flags)