Download this file

249 lines (182 with data), 7.1 kB

AnyVar AngleY_R = .AngleConstrainingPlane.AngleYaxisR;
AnyVar AngleY_L = .AngleConstrainingPlane.AngleYaxisL;

AnyVar AngleX_R = .AngleConstrainingPlane.AngleXaxisR;
AnyVar AngleX_L = .AngleConstrainingPlane.AngleXaxisL;


AnyMat33 TransY_R = RotMat(AngleY_R,y);
AnyMat33 TransY_L = RotMat(AngleY_L,y);

AnyMat33 TransX_R = RotMat(AngleX_R,x);
AnyMat33 TransX_L = RotMat(AngleX_L,x);

#include "SkullAndMandibleRefPoints.any"

#ifndef DEFINE_LOCAL_COORDINATE
#define DEFINE_LOCAL_COORDINATE(x,y,z) sRel = .Scale(({x,y,z}/1000-.rOffset)*.AOffset);
#endif

#ifndef DEFINE_LOCAL_COORDINATE_PLUS_OFFSET
#define DEFINE_LOCAL_COORDINATE_PLUS_OFFSET(x,y,z,xO,yO,zO) sRel = .Scale(({x,y,z}/1000-.rOffset)*.AOffset+{xO,yO,zO});
#endif

//#define SHOW_SKIN

AnySeg Skull = {
  //AnyDrawRefFrame drw ={ScaleXYZ=0.09*{1,1,1};};
  AnyFunTransform3D &Scale =..Scaling.GeometricalScaling.Skull.ScaleFunction;  
  
  #include "MuscleNodesSkull.any" //This include file contains the coordinates of the muscles
  #include "LigamentNodesSkull.any"
  #include "MarkerNodesSkull.any"
  r0 = {-0.3,0.0,0.5};
  
  Mass = 2.5;
  Jii = {0.001 , 0.001 , 0.001};
  //sCom = {x,x,x};
  
  AnyRefNode GroundNode = { sRel = .Scale({0.0,0.0,0.0}); };
    
  //The coordinates of the temporo mandibular joints (TMJ) on the left and right side
  AnyRefNode TMJ_NodeL = {
    DEFINE_LOCAL_COORDINATE(140.825, 122.956, -57.6016)
    ARel = ..TransY_L*..TransX_L;
    //AnyDrawRefFrame DrwNodeFrame = {ScaleXYZ = {0.06,0.06,0.06}; RGB = {0,1,0};    Opacity = 1.0;};
  };
  AnyRefNode TMJ_NodeR = {
    DEFINE_LOCAL_COORDINATE(43.676, 121.029, -55.3217)
    ARel = ..TransY_R*..TransX_R;
    //AnyDrawRefFrame DrwNodeFrame = {ScaleXYZ = {0.06,0.06,0.06}; RGB = {0,1,0};};
  };
  
  AnyRefNode MiddleTMJ_Nodes = {
    sRel = .Scale({0.0,0.0,0.0});
  };
  
  AnyRefNode DriveNode ={sRel = .Scale({-0.002,0.0,-0.018});}; // Estimated using the ProtrusionMovement1 movement
  
  
  AnyRefNode SkullSurfNode = {  
    //AnyDrawRefFrame drw={};
    sRel = -..ReferenceFrame.Origin/1000*..ReferenceFrame.Axes;
    ARel = ..ReferenceFrame.Axes';
    AnyDrawSurf DrwSurfSkull = {
      FileName = "Skull_lowqual";
      RGB = ......DrawSettings.Colors.AnyBodyPaleYellow;
      Opacity = 0.5;
      ScaleXYZ = {1.0,1.0,1.0}/1000;
      AnyFunTransform3D &Scale =..Scale;  
    };    
  
  #ifdef SHOW_SKIN
  AnyDrawSurf DrwSurfSkin = {
      FileName = "Skin_cleaned_lowqual.stl";
      RGB = ......DrawSettings.Colors.AnyBodyPaleYellow;
      Opacity = 0.5;
      ScaleXYZ = {1.0,1.0,1.0}/1000;
      AnyFunTransform3D &Scale =..Scale;  
    };  
  #endif
    
    AnySurfSTL SurfContactRight = {
      FileName = "Smoothed_ThickHead_High_RightContact2";
      AnyFunTransform3D &Scale =..Scale;  
       ScaleXYZ = {1.0,1.0,1.0}/1000;

      
      AnyDrawSurf DrwSurf = {
        FileName = .FileName;
        RGB = .......DrawSettings.Colors.AnyBodyPaleYellow;
        Opacity = 0.9;
        ScaleXYZ = {1.0,1.0,1.0}/1000;
        AnyFunTransform3D &Scale =...Scale;  
      };
    };      
        
    AnySurfSTL SurfContactLeft = {
      FileName = "Smoothed_ThickHead_High_LeftContact2";
      ScaleXYZ = {1.0,1.0,1.0}/1000;
      AnyFunTransform3D &Scale =..Scale; 
      
     AnyDrawSurf DrwSurf = {
        FileName = .FileName;
        RGB = .......DrawSettings.Colors.AnyBodyPaleYellow;
        Opacity = 0.9;
        ScaleXYZ = {1.0,1.0,1.0}/1000;
        AnyFunTransform3D &Scale =...Scale;  
      };
      
    };  
  };
  
};

AnySeg Mandible = {
 r0 = {-0.3,0.0,0.5};
  
  AnyFunTransform3D &Scale =..Scaling.GeometricalScaling.Mandible.ScaleFunction;
  
  Mass = 0.44; //Taken from Koolstra and Van Eijden (J.Biomech. in press)
  Jii = {0.00086, 0.00029 , 0.00061 }; //Taken from Koolstra and Van Eijden (J.Biomech. in press)
  sCoM = Scale({0.050,0.0,-0.080});
  
  //The coordinates of the temporo mandibular joints (TMJ) on the left and right side
  AnyRefNode TMJ_NodeL = {
    DEFINE_LOCAL_COORDINATE(140.825, 122.956, -57.6016)
    ARel = ..TransY_L*..TransX_L;
//    AnyDrawRefFrame DrwNodeFrame = {
//      ScaleXYZ = {0.03,0.03,0.03};
//      RGB = {1,0,0};
//      Opacity = 1.0;
//    };
  };
  
  AnyRefNode GroundNode = { sRel = .Scale({0.0,0.0,0.0}); };
  
  AnyRefNode TMJ_NodeR = {
    DEFINE_LOCAL_COORDINATE(43.676, 121.029, -55.3217)
    ARel = ..TransY_R*..TransX_R;
//    AnyDrawRefFrame DrwNodeFrame = {
//      ScaleXYZ = {0.03,0.03,0.03};
//      RGB = {1,0,0};
//    };
  };
  
  AnyRefNode LowerIncisorMiddleNode = { 
    DEFINE_LOCAL_COORDINATE(93.5305, 36.4146, -114.727)
      AnyDrawNode DrwNodeFrame = {
        ScaleXYZ = 0.001*{1,1,1};
      };    
  }; 
  
   
    AnyRefNode FirstPreMolarNodeR = {
      DEFINE_LOCAL_COORDINATE(73.9909, 49.0415, -108.157)

      AnyDrawNode DrwNodeFrame = {
        ScaleXYZ = 0.001*{1,1,1};
      };    
    }; 

    AnyRefNode FirstPreMolarNodeL = {      
      DEFINE_LOCAL_COORDINATE(107.898, 50.966, -109.117)

      AnyDrawNode DrwNodeFrame = {
        ScaleXYZ = 0.001*{1,1,1};
      };    
    }; 
    
    AnyRefNode FirstMolarNodeR = {
      DEFINE_LOCAL_COORDINATE(71.4342, 67.1876, -109.881)
      AnyDrawNode DrwNodeFrame = {
        ScaleXYZ = 0.001*{1,1,1};
      };    
    }; 
    
    AnyRefNode FirstMolarNodeL = {
      DEFINE_LOCAL_COORDINATE(111.766, 67.7027, -110.605)
      AnyDrawNode DrwNodeFrame = {
        ScaleXYZ = 0.001*{1,1,1};
      };    
    }; 
  
  #include "MuscleNodesMandible.any" //This include file contains the coordinates of the muscles
  #include "LigamentNodesMandible.any"
  #include "MarkerNodesMandible.any"

  
  AnyRefNode MandibleSurfNode = {  
    sRel = -..ReferenceFrame.Origin/1000*..ReferenceFrame.Axes;
    ARel = ..ReferenceFrame.Axes';
    
    AnyDrawSurf DrwSurfMandible = {
      FileName = "Mandible_lowqual";
      RGB = ......DrawSettings.Colors.AnyBodyPaleYellow;
      Opacity = 0.5;
      ScaleXYZ = {1.000000, 1.000000, 1.000000}/1000;
      AnyFunTransform3D &Scale =..Scale;  
    };
      
    
   AnySurfSTL SurfContactLeft = {
      FileName = "Smoothed_Mandible_LeftContact";
      ScaleXYZ = {1.0,1.0,1.0}/1000;
      AnyFunTransform3D &Scale =..Scale; 
      
     AnyDrawSurf DrwSurf = {
        FileName = .FileName;
        RGB = .......DrawSettings.Colors.AnyBodyPaleYellow;
        Opacity = 0.9;
        ScaleXYZ = {1.0,1.0,1.0}/1000;
        AnyFunTransform3D &Scale =...Scale;  
      };
      
    };  

   AnySurfSTL SurfContactRight = {
      FileName = "Smoothed_Mandible_RightContact2";
      ScaleXYZ = {1.0,1.0,1.0}/1000;
      AnyFunTransform3D &Scale =..Scale; 
      
     AnyDrawSurf DrwSurf = {
        FileName = .FileName;
        RGB = .......DrawSettings.Colors.AnyBodyPaleYellow;
        Opacity = 0.9;
        ScaleXYZ = {1.0,1.0,1.0}/1000;
        AnyFunTransform3D &Scale =...Scale;  
      };
      
    };  
    
  };
  
};