Switch to unified view

a b/Tools/ModelUtilities/Reactions/SupportMuscleRot.any
1
#ifndef EXCLUDE_MUSCLE_METABOLISM
2
#define EXCLUDE_MUSCLE_METABOLISM AnyMetabModelSimple ZeroMetabolicMdl = {EtaCon = 2e22; EtaEcc = 2e22;}; MetabModel = &ZeroMetabolicMdl;
3
#endif
4
5
#ifndef SET_DEFAULT_ACTUATOR_VOLUME
6
#define SET_DEFAULT_ACTUATOR_VOLUME Volume = 1e-6
7
#endif
8
9
  AnyKinRotational Rot={
10
     AnyRefFrame &ref1=..StartNode;
11
     AnyRefFrame &ref2=..EndNode;
12
     Type=RotAxesAngles;
13
   };
14
15
  AnyKinMeasureOrg RotMeasureOrg={
16
    AnyKinMeasure &ref=.Rot;
17
    MeasureOrganizer=.Axis;
18
  };
19
20
21
  
22
  AnyRecruitedActuator ArtificialSupportMuscle={
23
    Strength = .Strength;
24
    AnyKinMeasure& ref2=.RotMeasureOrg;
25
    Type = iffun(eqfun(.DirectionOfForce,1), NonNegative, NonPositive);
26
    SET_DEFAULT_ACTUATOR_VOLUME;
27
     
28
  };
29
30
  AnyDrawVector DrawVector = {
31
    AnyRefFrame &ref = .Rot.ref2;
32
    Vec = ..DrawRef.DrawSettingsSupport.Rot.ScaleFactor*.Direction*.ArtificialSupportMuscle.Fout[0]*.Rot.ref1.Axes';
33
  
34
   PointAway = Off;
35
  DrawCoord = Off;
36
  
37
  Line.RGB = ..DrawRef.DrawSettingsSupport.Rot.RGB;
38
  Line.Thickness = ..DrawRef.DrawSettingsSupport.Rot.Thickness;
39
  Line.End.Thickness = 2*..DrawRef.DrawSettingsSupport.Rot.Thickness;  
40
  Line.End.Length = 4*..DrawRef.DrawSettingsSupport.Rot.Thickness;
41
  };
42
  
43
  //Make another arrow to symbolize the moment vector
44
  AnyDrawVector DrawVector2 = {
45
    AnyRefFrame &ref = .Rot.ref2;
46
    Vec = ..DrawRef.DrawSettingsSupport.Rot.ScaleFactor*(.Direction+2*..DrawRef.DrawSettingsSupport.Rot.HeadLength*.Direction)*.ArtificialSupportMuscle.Fout[0]*.Rot.ref1.Axes';
47
   PointAway = Off;
48
  DrawCoord = Off;
49
  
50
  Line.RGB = ..DrawRef.DrawSettingsSupport.Rot.RGB;
51
  Line.Thickness = ..DrawRef.DrawSettingsSupport.Rot.Thickness;
52
  Line.End.Thickness = 2*..DrawRef.DrawSettingsSupport.Rot.Thickness;  
53
  Line.End.Length = 4*..DrawRef.DrawSettingsSupport.Rot.Thickness;
54
};