/// <summary> /// Returns a list of MQuaternion based on the MPathConstraint /// </summary> /// <param name="pathConstraint"></param> /// <returns></returns> public static List <MQuaternion> GetMQuaternionList(this MPathConstraint pathConstraint) { //Create a list for storing the full trajectory List <MQuaternion> list = new List <MQuaternion>(); foreach (MGeometryConstraint mg in pathConstraint.PolygonPoints) { MQuaternion r = new MQuaternion(); //Use the parent to constraint if defined if (mg.ParentToConstraint != null) { r = mg.ParentToConstraint.Rotation.Clone(); } else { r = mg.RotationConstraint.GetQuaternion(); } list.Add(r); } return(list); }
/// <summary> /// Returns a list of MVector3 based on the MPathConstraint /// </summary> /// <param name="pathConstraint"></param> /// <returns></returns> public static List <MVector3> GetMVector3List(this MPathConstraint pathConstraint) { //Create a list for storing the full trajectory List <MVector3> list = new List <MVector3>(); foreach (MGeometryConstraint mg in pathConstraint.PolygonPoints) { MVector3 p = new MVector3(); //Use the parent to constraint if defined if (mg.ParentToConstraint != null) { p = mg.ParentToConstraint.Position.Clone(); } else { p = mg.TranslationConstraint.GetVector3(); } list.Add(p); } return(list); }
/// <summary> /// Returns a list of MTRansform based on the MPathConstraint /// </summary> /// <param name="pathConstraint"></param> /// <returns></returns> public static List <MTransform> GetMTransformList(this MPathConstraint pathConstraint) { //Create a list for storing the full trajectory List <MTransform> list = new List <MTransform>(); foreach (MGeometryConstraint mg in pathConstraint.PolygonPoints) { MTransform t = null; //Use the parent to constraint if defined if (mg.ParentToConstraint != null) { t = new MTransform { ID = "", Position = mg.ParentToConstraint.Position, Rotation = mg.ParentToConstraint.Rotation }; } else { //Use the translation/rotation limits t = new MTransform { ID = "", Position = mg.TranslationConstraint.GetVector3(), Rotation = MQuaternionExtensions.FromEuler(mg.TranslationConstraint.GetVector3()) }; } list.Add(t); } return(list); }
public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { bool isset_ID = false; TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.String) { ID = iprot.ReadString(); isset_ID = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { GeometryConstraint = new MGeometryConstraint(); GeometryConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Struct) { VelocityConstraint = new MVelocityConstraint(); VelocityConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 4: if (field.Type == TType.Struct) { AccelerationConstraint = new MAccelerationConstraint(); AccelerationConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 5: if (field.Type == TType.Struct) { PathConstraint = new MPathConstraint(); PathConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 6: if (field.Type == TType.Struct) { JointPathConstraint = new MJointPathConstraint(); JointPathConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 7: if (field.Type == TType.Struct) { PostureConstraint = new MPostureConstraint(); PostureConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 8: if (field.Type == TType.Struct) { JointConstraint = new MJointConstraint(); JointConstraint.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 9: if (field.Type == TType.Map) { { Properties = new Dictionary <string, string>(); TMap _map0 = iprot.ReadMapBegin(); for (int _i1 = 0; _i1 < _map0.Count; ++_i1) { string _key2; string _val3; _key2 = iprot.ReadString(); _val3 = iprot.ReadString(); Properties[_key2] = _val3; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); if (!isset_ID) { throw new TProtocolException(TProtocolException.INVALID_DATA, "required field ID not set"); } } finally { iprot.DecrementRecursionDepth(); } }
public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { bool isset_JointType = false; bool isset_PathConstraint = false; TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { JointType = (MMIStandard.MJointType)iprot.ReadI32(); isset_JointType = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { PathConstraint = new MPathConstraint(); PathConstraint.Read(iprot); isset_PathConstraint = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); if (!isset_JointType) { throw new TProtocolException(TProtocolException.INVALID_DATA, "required field JointType not set"); } if (!isset_PathConstraint) { throw new TProtocolException(TProtocolException.INVALID_DATA, "required field PathConstraint not set"); } } finally { iprot.DecrementRecursionDepth(); } }
public MJointPathConstraint(MMIStandard.MJointType JointType, MPathConstraint PathConstraint) : this() { this.JointType = JointType; this.PathConstraint = PathConstraint; }