AnimatLab  2
Test
RoboticsPhysicsEngine.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 
6 namespace RoboticsGUI
7 {
8  public class RoboticsPhysicsEngine : AnimatGUI.DataObjects.Physical.PhysicsEngine
9  {
10  public override string Name { get { return "Robotics"; } set { } }
11  public override bool AllowUserToChoose { get { return false; } }
12  public override bool UseMassForRigidBodyDefinitions { get { return true; } }
13  public override bool AllowDynamicTriangleMesh { get { return false; } }
14  public override bool AllowPhysicsSubsteps { get { return false; } }
15  public override bool ShowSeparateConstraintLimits { get { return false; } }
16  public override bool UseHydrodynamicsMagnus { get { return false; } }
17  public override bool ProvidesJointForceFeedback { get { return true; } }
18  public override bool GenerateMotorAssist { get { return false; } }
19  public override bool AllowStickyParts { get { return false; } }
20 
21  public override string LibraryVersionPrefix
22  {
23  get { return ""; }
24  }
25 
26  public RoboticsPhysicsEngine(AnimatGUI.Framework.DataObject doParent)
27  : base(doParent)
28  {
29  m_dtLibraryVersion.DataTypes.Add(new AnimatGUI.DataObjects.DataType("Double", "Double Precision", "", "", -1, 1, AnimatGUI.Framework.ScaledNumber.enumNumericScale.None, AnimatGUI.Framework.ScaledNumber.enumNumericScale.None));
30 
31  m_aryAvailableBinarModes.Add(AnimatGUI.DataObjects.Physical.PhysicsEngine.enumBinaryMode.x32);
32  m_aryAvailableBinarModes.Add(AnimatGUI.DataObjects.Physical.PhysicsEngine.enumBinaryMode.x64);
33 
34  m_aryAvailableOperatingSystems.Add(AnimatGUI.DataObjects.Physical.PhysicsEngine.enumOperatingSystem.Windows);
35  m_aryAvailableOperatingSystems.Add(AnimatGUI.DataObjects.Physical.PhysicsEngine.enumOperatingSystem.Linux);
36  }
37 
38  public override AnimatGUI.Framework.DataObject Clone(AnimatGUI.Framework.DataObject doParent, bool bCutData, AnimatGUI.Framework.DataObject doRoot)
39  {
40  RoboticsPhysicsEngine doEngine = new RoboticsPhysicsEngine(doParent);
41  return doEngine;
42  }
43 
44  public override bool AllowConstraintRelaxation(string strType, AnimatGUI.DataObjects.Physical.ConstraintRelaxation.enumCoordinateAxis eCoordinate)
45  {
46  return false;
47  }
48 
49  public override AnimatGUI.DataObjects.Physical.ConstraintRelaxation CreateJointRelaxation(string strType, AnimatGUI.DataObjects.Physical.ConstraintRelaxation.enumCoordinateID eCoordinate, AnimatGUI.Framework.DataObject doParent)
50  {
51  return null;
52  }
53 
54  public override AnimatGUI.DataObjects.Physical.ConstraintLimit CreateConstraintLimit(string strType, AnimatGUI.Framework.DataObject doParent)
55  {
56  return null;
57  }
58 
59  }
60 }