// Constructor for central Rope ManipulatorRope::ManipulatorRope(const ThreeVector &abushing, const ThreeVector &aaxis,float abushingRadius, const AV &av) : //av(aav), bushing(abushing), bushingRadius(abushingRadius), bushingExit(cross(kVector, aaxis)), anchorExit(oVector), anchorROC(tempROC), anchorHoleOffset(tempHoleOffset), pulleyAxis(aaxis),neckRingRadius(av.getNeckRingRadius()), neckRingROC(av.getNeckRingROC()), neckRingCenter(av.getNeckRingPosition()), neckRingAxis(av.getNeckDirection()) { // bushingRadius = abushingRadius; ropeType = centralRope; // pulleyAxis = aaxis; // bushingExit = cross(kVector, aaxis); getLength(ThreeVector(0,0,0)); }
// Constructor for side Ropes // ManipulatorRope::ManipulatorRope(const ThreeVector &abushing, const ThreeVector &aanchor, const float &aROC, const float &aHoleOff, const ThreeVector &aaxis, float apulleyOffset, float apulleyRadius, float abushingRadius, const AV &av) :// av(aav), bushing(abushing), bushingRadius(abushingRadius), bushingExit(cross(kVector, aaxis)), anchorExit(aanchor), anchorROC(aROC), anchorHoleOffset(aHoleOff), pulleyAxis(aaxis),pulleyOffset(apulleyOffset), neckRingRadius(av.getNeckRingRadius()), neckRingROC(av.getNeckRingROC()), neckRingCenter(av.getNeckRingPosition()), neckRingAxis(av.getNeckDirection()) { ropeType=(anchorExit[X]+anchorExit[Y] < 0)?leftRope:rightRope; pulleyRadius=apulleyRadius; // bushingRadius=abushingRadius; // anchorROC=aROC; // anchorHoleOffset=aHoleOff; // pulleyAxis=aaxis; getLength(ThreeVector(0,0,0)); }