def internal_addFootOnly(self): mv = mechVariables() self.struct = mfStructure('leftAnkleOuterFront',[0,0,0],'leftAnkleOuterBack',[1,0,0]) s = self.struct s.defaultDisplayProperties = mv.mainSpanDispProp s.defaultDensity = mv.mainSpanDensity s.collisionMargin = mv.collisionMargin s.add1DJoint('leftAnkleInnerFront','leftAnkleOuterFront',0.5,[0,0,-0.5]) s.add1DJoint('leftAnkleInnerBack','leftAnkleOuterBack',0.5,[1,0,-0.5]) self.internal_addFoot( mv, 'left') #legBoneXWidth, legBoneZWidth,footLength,footWidth,footHeight,footDispProp,actDispProp,isLeftFoot):
def internal_addLegOnly(self): mv = mechVariables() self.struct = mfStructure('leftUpperFrontHipTruss',[0,0,0],'leftUpperBackHipTruss',[mv.hipTrussWidth,0,0]) s = self.struct s.defaultDisplayProperties = mv.mainSpanDispProp s.defaultDensity = mv.mainSpanDensity s.collisionMargin = mv.collisionMargin s.add1DJoint('leftLowerFrontHipTruss','leftUpperFrontHipTruss',mv.hipTrussHeight,[0.0,-1.0,0.0]) s.add1DJoint('leftLowerBackHipTruss','leftUpperBackHipTruss',mv.hipTrussHeight,[mv.hipTrussWidth,-1.0,0.0]) self.internal_addLeg(mv,True)
def internal_addHipAndLegs(self): self.internal_addLegOnly() mv = mechVariables() s = self.struct s.collisionMargin = mv.collisionMargin s.addJoint('rightUpperFrontHipTruss','leftUpperFrontHipTruss',mv.hipTrussLength,'leftUpperBackHipTruss',diag(mv.hipTrussLength,mv.hipTrussWidth),'leftLowerFrontHipTruss',diag(mv.hipTrussLength,mv.hipTrussHeight)) s.addJoint('rightLowerBackHipTruss','leftUpperBackHipTruss',diag(mv.hipTrussLength,mv.hipTrussHeight),'leftLowerBackHipTruss',mv.hipTrussLength,'leftLowerFrontHipTruss',diag(mv.hipTrussLength,mv.hipTrussWidth)) s.addJoint('rightUpperBackHipTruss','leftUpperBackHipTruss',mv.hipTrussLength,'rightLowerBackHipTruss',mv.hipTrussHeight,'rightUpperFrontHipTruss',mv.hipTrussWidth) s.addJoint('rightLowerFrontHipTruss','leftLowerFrontHipTruss',mv.hipTrussLength,'rightUpperFrontHipTruss',mv.hipTrussHeight,'rightLowerBackHipTruss',mv.hipTrussWidth) self.internal_addLeg(mv,False)
def internal_addEngine(self): s = self.struct mv = mechVariables() s.defaultDisplayProperties = mv.engineDispProp #TODO: Remove the weight of the mountings s.add1DJoint('leftFrontEngineMount','leftLowerFrontHipTruss',(mv.hipTrussLength-mv.engineWidth)/2.0,'rightLowerFrontHipTruss') s.add1DJoint('rightFrontEngineMount','rightLowerFrontHipTruss',(mv.hipTrussLength-mv.engineWidth)/2.0,'leftLowerFrontHipTruss') s.add1DJoint('leftBackEngineMount','leftLowerBackHipTruss',(mv.hipTrussLength-mv.engineWidth)/2.0,'rightLowerBackHipTruss') s.add1DJoint('rightBackEngineMount','rightLowerBackHipTruss',(mv.hipTrussLength-mv.engineWidth)/2.0,'leftLowerBackHipTruss') #Make the upper points on the engines s.add1DJoint('leftTopFrontEngine','leftBackEngineMount',(mv.hipTrussWidth/2.0 + mv.engineLength/2.0),'leftFrontEngineMount') s.add1DJoint('leftTopBackEngine','leftFrontEngineMount',(mv.hipTrussWidth/2.0 + mv.engineLength/2.0),'leftBackEngineMount') s.add1DJoint('rightTopFrontEngine','rightBackEngineMount',(mv.hipTrussWidth/2.0 + mv.engineLength/2.0),'rightFrontEngineMount') s.add1DJoint('rightTopBackEngine','rightFrontEngineMount',(mv.hipTrussWidth/2.0 + mv.engineLength/2.0),'rightBackEngineMount') #Make the lower points on the engines s.addJoint('rightBottomFrontEngine','rightTopFrontEngine',mv.engineHeight,'rightTopBackEngine',diag(mv.engineHeight,mv.engineLength),'leftTopFrontEngine',diag(mv.engineWidth,mv.engineHeight)) s.addJoint('leftBottomFrontEngine','leftTopFrontEngine',mv.engineHeight,'rightTopFrontEngine',diag(mv.engineWidth,mv.engineHeight),'leftTopBackEngine',diag(mv.engineHeight,mv.engineLength)) s.addJoint('leftBottomBackEngine','leftTopBackEngine',mv.engineHeight,'leftTopFrontEngine',diag(mv.engineHeight,mv.engineLength),'rightTopBackEngine',diag(mv.engineWidth,mv.engineHeight)) s.addJoint('rightBottomBackEngine','rightTopBackEngine',mv.engineHeight,'leftTopBackEngine',diag(mv.engineHeight,mv.engineWidth),'rightTopFrontEngine',diag(mv.engineHeight,mv.engineLength))