int Body::addContactSurface(const Transform& X_BS, const ContactSurface& shape) { BodyRep& rep = updRep(); const int nxt = (int)rep.surfaces.size(); rep.surfaces.push_back(std::make_pair(X_BS,shape)); return nxt; }
int HuntCrossleyContact::addSphere(MobilizedBodyIndex body, const Vec3& center, const Real& radius, const Real& stiffness, const Real& dissipation) { return updRep().addSphere(body,center,radius,stiffness,dissipation); }
int HuntCrossleyContact::addHalfSpace(MobilizedBodyIndex body, const UnitVec3& normal, const Real& height, const Real& stiffness, const Real& dissipation) { return updRep().addHalfSpace(body,normal,height,stiffness,dissipation); }
void Integrator::resetAllStatistics() { updRep().resetIntegratorStatistics(); updRep().resetMethodStatistics(); }
Force& GeneralForceSubsystem::updForce(ForceIndex index) { return updRep().updForce(index); }
Transform& Body::updContactSurfaceTransform(int i) { return updRep().surfaces[i].first; }
Body& Body::setDefaultRigidBodyMassProperties(const MassProperties& m) { updRep().setDefaultRigidBodyMassProperties(m); return *this; }
DecorativeGeometry& DecorativeGeometry::setResolution(Real r) {updRep().setResolution(r);return *this;}
DecorativeGeometry& DecorativeGeometry::setLineThickness(Real t) {updRep().setLineThickness(t);return *this;}
DecorativeGeometry& DecorativeGeometry::setOpacity(Real o) {updRep().setOpacity(o);return *this;}
DecorativeGeometry& DecorativeGeometry::setColor(const Vec3& rgb) {updRep().setColor(rgb);return *this;}
Integrator::SuccessfulStepStatus Integrator::stepBy(Real interval, Real advanceIntervalLimit) { const Real t = getRep().getState().getTime(); return updRep().stepTo(t + interval, t + advanceIntervalLimit); }
Integrator::SuccessfulStepStatus Integrator::stepTo(Real reportTime, Real advanceLimit) { return updRep().stepTo(reportTime, advanceLimit); }
void Integrator::reinitialize(Stage g, bool shouldTerminate) { updRep().reinitialize(g,shouldTerminate); }
void Integrator::initialize(const State& initState) { updRep().initialize(initState); }
DecorativeGeometry& DecorativeGeometry::setUserRef(void* p) {updRep().setUserRef(p);return *this;}
DecorativeGeometry& DecorativeGeometry::setTransform(const Transform& X_BD) {updRep().setTransform(X_BD);return *this;}
DecorativeGeometry& DecorativeGeometry::setRepresentation(const DecorativeGeometry::Representation& r) { updRep().setRepresentation(r);return *this; }
DecorativeGeometry& DecorativeGeometry::setScaleFactors(const Vec3& s) { updRep().setScaleFactors(s); return *this; }
DecorativeGeometry& DecorativeGeometry::setFaceCamera(int shouldFace) { updRep().setFaceCamera(shouldFace);return *this; }
int Body::addDecoration(const Transform& X_BD, const DecorativeGeometry& g) { return updRep().addDecoration(X_BD, g); }
Decorations::Decorations(const DecorativeGeometry& decoration) { rep = new DecorationsRep(); rep->setMyHandle(*this); updRep().addDecoration(decoration); }
ContactSurface& Body::updContactSurface(int i) { return updRep().surfaces[i].second; }
Decorations& Decorations:: addDecoration(const DecorativeGeometry& decoration) { updRep().addDecoration(decoration); return *this; }
ForceIndex GeneralForceSubsystem::adoptForce(Force& force) { return updRep().adoptForce(force); }
Decorations& Decorations:: addDecoration(const Transform& placement, const DecorativeGeometry& decoration) { updRep().addDecoration(placement, decoration); return *this; }
void GeneralForceSubsystem::setNumberOfThreads(unsigned numThreads) { updRep().setNumberOfThreads(numThreads); }
DecorativeGeometry& DecorativeGeometry::setBodyId(int b) {updRep().setBodyId(b);return *this;}
DecorativeGeometry& DecorativeGeometry::setIndexOnBody(int x) {updRep().setIndexOnBody(x);return *this;}
void Integrator::setProjectInterpolatedStates(bool shouldProject) { updRep().userProjectInterpolatedStates = shouldProject ? 1 : 0; }