本文整理匯總了C#中AnimatTools.FindChildElement方法的典型用法代碼示例。如果您正苦於以下問題:C# AnimatTools.FindChildElement方法的具體用法?C# AnimatTools.FindChildElement怎麽用?C# AnimatTools.FindChildElement使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類AnimatTools
的用法示例。
在下文中一共展示了AnimatTools.FindChildElement方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
oXml.IntoChildElement("Constraint");
m_fltMinAngle = oXml.GetAttribFloat("Low");
m_fltMaxAngle = oXml.GetAttribFloat("High");
oXml.OutOfElem(); //out of Constraint
m_snMinAngle.SetFromValue(Util.RadiansToDegrees(m_fltMinAngle), AnimatTools.Framework.ScaledNumber.enumNumericScale.None);
m_snMaxAngle.SetFromValue(Util.RadiansToDegrees(m_fltMaxAngle), AnimatTools.Framework.ScaledNumber.enumNumericScale.None);
m_bEnableMotor = oXml.GetChildBool("EnableMotor");
m_bServoMotor = oXml.GetChildBool("ServoMotor", m_bServoMotor);
m_fltServoGain = oXml.GetChildFloat("ServoGain", m_fltServoGain);
//based on whether this is a servo motor or not the incoming data type will change.
if(m_bServoMotor)
m_thIncomingDataType = new AnimatTools.DataObjects.DataType("Position", "Position", "rad", "rad", -3.142, 3.142, ScaledNumber.enumNumericScale.None, ScaledNumber.enumNumericScale.None);
else
m_thIncomingDataType = new AnimatTools.DataObjects.DataType("DesiredVelocity", "Desired Velocity", "m/s", "m/s", -5, 5, ScaledNumber.enumNumericScale.None, ScaledNumber.enumNumericScale.None);
if(oXml.FindChildElement("MaxTorque", false))
m_snMaxTorque.LoadData(ref oXml, "MaxTorque");
if(oXml.FindChildElement("MaxVelocity", false))
m_snMaxTorque.LoadData(ref oXml, "MaxVelocity");
// if(oXml.FindChildElement("RotationAxis", false))
// {
// Vec3d vTmp = Util.LoadVec3d(ref oXml, "RotationAxis", this);
// m_v3Axis = new Vector3((float)vTmp.X, (float)vTmp.Y, (float)vTmp.Z);
// }
m_v3Axis = new Vector3(0,0,1);
oXml.OutOfElem(); //out of body
}
示例2: SaveData
public override void SaveData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.SaveData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
RigidBodies.RigidBody_DX rbParent = (RigidBodies.RigidBody_DX)this.Parent;
Vector3 v3Rot = Util_DX.DecomposeXYZRotationMatrix(this.CombinedTransformationMatrix);;
float x = Geometry.DegreeToRadian(180);
if(!oXml.FindChildElement("Constraint", false))
oXml.AddChildElement("Constraint");
oXml.IntoElem();
oXml.SetAttrib("Low",this.m_fltMinAngle);
oXml.SetAttrib("High", this.m_fltMaxAngle);
oXml.OutOfElem();
oXml.AddChildElement("EnableMotor",this.m_bEnableMotor);
oXml.AddChildElement("ServoMotor",this.m_bServoMotor);
oXml.AddChildElement("ServoGain",this.m_fltServoGain);
m_snMaxTorque.SaveData(ref oXml, "MaxTorque");
m_snMaxVelocity.SaveData(ref oXml, "MaxVelocity");
// if(v3Rot.Y >= 180)
// m_v3Axis.TransformCoordinate(/*Matrix.RotationX(Geometry.DegreeToRadian(180))* Matrix.RotationY(Geometry.DegreeToRadian(180)) * Matrix.RotationZ(Geometry.DegreeToRadian(180)) **/ Matrix.RotationX(v3Rot.X)* Matrix.RotationY(v3Rot.Y) * Matrix.RotationZ(v3Rot.Z));
// else
//m_v3Axis.TransformCoordinate(Matrix.RotationX(Geometry.DegreeToRadian(180)) * Matrix.RotationY(Geometry.DegreeToRadian(180)) * Matrix.RotationZ(Geometry.DegreeToRadian(180)) * Matrix.RotationX(v3Rot.X)* Matrix.RotationY(v3Rot.Y) * Matrix.RotationZ(v3Rot.Z));
Matrix m = this.CombinedTransformationMatrix;
m.M41 = 0;
m.M42 = 0;
m.M43 = 0;
//Quaternion q = Quaternion.RotationYawPitchRoll(v3Rot.Y, v3Rot.X, v3Rot.Z);
//m_v3Axis.TransformCoordinate(Matrix.RotationQuaternion(q));
m_v3Axis.TransformCoordinate(m);
//Vec3d vRotationAxis = new Vec3d(null,1, 0, 0);
Vec3d vRotationAxis = new Vec3d(null,m_v3Axis.X, m_v3Axis.Y, m_v3Axis.Z);
Util.SaveVector(ref oXml, "RotationAxis", vRotationAxis);
oXml.OutOfElem();
m_v3Axis = new Vector3(0,0,1);
}
示例3: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
//get the color of the body
if(oXml.FindChildElement("Color"))
{
System.Drawing.Color oColor = Util.LoadColor(ref oXml, "Color");
this.Alpha = oColor.A;
this.Color = oColor;
}
if(oXml.FindChildElement("Direction",false))
{
this.m_v3Direction = new Vector3();
Vec3d vDirection = Util.LoadVec3d(ref oXml, "Direction", this);
m_v3Direction.X = (float)vDirection.X;
m_v3Direction.Y = (float)vDirection.Y;
m_v3Direction.Z = (float)vDirection.Z;
}
if(oXml.FindChildElement("OrientationMatrix", false))
{
m_mtxOrientation = Util_DX.LoadMatrix(ref oXml, "OrientationMatrix");
m_v3Rotation = Util_DX.DecomposeXYZRotationMatrix(Orientation);
}
if(oXml.FindChildElement("TranslationMatrix",false))
m_mtxTranslation = Util_DX.LoadMatrix(ref oXml,"TranslationMatrix");
oXml.OutOfElem();
}
示例4: LoadData
public override void LoadData(ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData(ref oXml);
oXml.IntoElem();
if(oXml.FindChildElement("MuscleID", false))
{
string strMuscleID = oXml.GetChildString("MuscleID");
if(m_doOrganism != null && strMuscleID.Trim().Length > 0)
{
AnimatTools.DataObjects.Physical.BodyPart rbPart = (AnimatTools.DataObjects.Physical.BodyPart) m_doOrganism.FindBodyPart(strMuscleID, false);
if(rbPart != null)
m_thMuscle = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doOrganism, rbPart, m_tpBodyPartType);
}
}
else
m_thMuscle = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doOrganism, null, m_tpBodyPartType);
m_strMuscleLengthData = oXml.GetChildString("MuscleLengthData", m_strMuscleLengthData);
if(oXml.FindChildElement("Conductance", false))
m_snConductance.LoadData(ref oXml, "Conductance");
if(oXml.FindChildElement("RestPotential", false))
m_snRestPotential.LoadData(ref oXml, "RestPotential");
oXml.OutOfElem();
}
示例5: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
if(oXml.FindChildElement("Constraint", false))
{
oXml.IntoChildElement("Constraint");
m_fltMinMovement = oXml.GetAttribFloat("Low");
m_fltMaxMovement = oXml.GetAttribFloat("High");
oXml.OutOfElem(); //out of Constraint
}
m_fltLength = oXml.GetChildFloat("Length", m_fltLength);
m_bEnableMotor = oXml.GetChildBool("EnableMotor", false);
m_bServoMotor = oXml.GetChildBool("ServoMotor", m_bServoMotor);
m_fltServoGain = oXml.GetChildFloat("ServoGain", m_fltServoGain);
if(oXml.FindChildElement("MaxForce", false))
m_snMaxForce.LoadData(ref oXml, "MaxForce");
if(oXml.FindChildElement("MaxVelocity", false))
m_snMaxVelocity.LoadData(ref oXml, "MaxVelocity");
oXml.OutOfElem(); //out of body
}
示例6: SaveData
public override void SaveData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.SaveData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
if(!oXml.FindChildElement("Constraint", false))
oXml.AddChildElement("Constraint");
oXml.IntoElem();
oXml.SetAttrib("Low",this.m_fltMinMovement);
oXml.SetAttrib("High", this.m_fltMaxMovement);
oXml.OutOfElem();
oXml.AddChildElement("Length", m_fltLength);
oXml.AddChildElement("EnableMotor",this.m_bEnableMotor);
oXml.AddChildElement("ServoMotor",this.m_bServoMotor);
oXml.AddChildElement("ServoGain",this.m_fltServoGain);
m_snMaxForce.SaveData(ref oXml, "MaxForce");
m_snMaxVelocity.SaveData(ref oXml, "MaxVelocity");
RigidBodies.RigidBody_DX rbParent = (RigidBodies.RigidBody_DX)this.Parent;
Vector3 v3Rot = Util_DX.DecomposeXYZRotationMatrix(this.CombinedTransformationMatrix);;
float x = Geometry.DegreeToRadian(180);
m_v3Axis.TransformCoordinate(Matrix.RotationX(Geometry.DegreeToRadian(180)) * Matrix.RotationY(Geometry.DegreeToRadian(180)) * Matrix.RotationZ(Geometry.DegreeToRadian(180)) * Matrix.RotationX(v3Rot.X)* Matrix.RotationY(v3Rot.Y) * Matrix.RotationZ(v3Rot.Z));
Vec3d vRotationAxis = new Vec3d(null,m_v3Axis.X, m_v3Axis.Y, m_v3Axis.Z);
Util.SaveVector(ref oXml, "RotationAxis", vRotationAxis);
m_v3Axis = new Vector3(0,0,1);
oXml.OutOfElem();
}
示例7: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
m_aryChildBodies.Clear();
oXml.IntoElem(); //'Into RigidBody Element
m_strID = oXml.GetChildString("ID");
m_strName = oXml.GetChildString("Name", m_strID);
m_strDescription = oXml.GetChildString("Description", "");
if(m_strName.Trim().Length == 0)
m_strName = m_strID;
if(oXml.FindChildElement("Color", false))
{
System.Drawing.Color oColor = Util.LoadColor(ref oXml, "Color");
this.Alpha = oColor.A;
this.Color = oColor;
}
if(oXml.FindChildElement("MuscleAttachments", false))
{
oXml.IntoElem();
oXml.AddChildElement("Description", m_strDescription);
if(oXml.NumberOfChildren() > 2)
throw new System.Exception("The standard spring can not have more than 2 attachment points.");
else if(oXml.NumberOfChildren() == 2)
{
oXml.FindChildByIndex(0);
m_strPrimaryAttachID = oXml.GetChildString();
oXml.FindChildByIndex(1);
m_strSecondaryAttachID = oXml.GetChildString();
}
else if(oXml.NumberOfChildren() == 1)
{
oXml.FindChildByIndex(0);
m_strPrimaryAttachID = oXml.GetChildString();
}
else
{
m_strPrimaryAttachID = "";
m_strSecondaryAttachID = "";
}
oXml.OutOfElem();
}
else
{
if(oXml.FindChildElement("PrimaryAttachmentID", false))
m_strPrimaryAttachID = oXml.GetChildString("PrimaryAttachmentID");
if(oXml.FindChildElement("SecondaryAttachmentID", false))
m_strSecondaryAttachID = oXml.GetChildString("SecondaryAttachmentID");
}
m_snNaturalLength.LoadData(ref oXml, "NaturalLength");
m_snStiffness.LoadData(ref oXml, "Stiffness");
m_snDamping.LoadData(ref oXml, "Damping");
m_bEnabled = oXml.GetChildBool("Enabled", m_bEnabled);
m_bVisible = oXml.GetChildBool("IsVisible", m_bVisible);
oXml.OutOfElem(); //Outof RigidBody Element
}
示例8: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
m_aryChildBodies.Clear();
oXml.IntoElem(); //'Into RigidBody Element
m_strID = oXml.GetChildString("ID");
m_strName = oXml.GetChildString("Name", m_strID);
m_bVisible = oXml.GetChildBool("IsVisible", m_bVisible);
if(m_strID.Trim().Length == 0)
m_strID = System.Guid.NewGuid().ToString();
if(m_strName.Trim().Length == 0)
m_strName = m_strID;
if(oXml.FindChildElement("Color", false))
{
System.Drawing.Color oColor = Util.LoadColor(ref oXml, "Color");
this.Alpha = oColor.A;
this.Color = oColor;
}
m_fRadius = oXml.GetChildFloat("Radius", m_fRadius);
//m_fHeight = oXml.GetChildFloat("Height", m_fHeight);
if(oXml.FindChildElement("Direction",false))
{
this.m_v3Direction = new Vector3();
Vec3d vDirection = Util.LoadVec3d(ref oXml, "Direction", this);
m_v3Direction.X = (float)vDirection.X;
m_v3Direction.Y = (float)vDirection.Y;
m_v3Direction.Z = (float)vDirection.Z;
}
if(oXml.FindChildElement("OrientationMatrix", false))
{
m_mtxOrientation = Util_DX.LoadMatrix(ref oXml, "OrientationMatrix");
m_v3Rotation = Util_DX.DecomposeXYZRotationMatrix(Orientation);
this.Rotation = new Vec3d(null,Geometry.RadianToDegree(m_v3Rotation.X),Geometry.RadianToDegree(m_v3Rotation.Y),Geometry.RadianToDegree(m_v3Rotation.Z));
}
if(oXml.FindChildElement("TranslationMatrix",false))
m_mtxTranslation = Util_DX.LoadMatrix(ref oXml,"TranslationMatrix");
oXml.OutOfElem(); //Outof RigidBody Element
}
示例9: LoadData
public override void LoadData(ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData(ref oXml);
oXml.IntoElem();
if(oXml.FindChildElement("PrimaryAttachmentID", false))
{
string strAttachID = oXml.GetChildString("PrimaryAttachmentID");
if(m_doStructure != null && strAttachID.Trim().Length > 0)
{
AnimatTools.DataObjects.Physical.BodyPart rbPart = (AnimatTools.DataObjects.Physical.BodyPart) m_doStructure.FindBodyPart(strAttachID, false);
if(rbPart != null)
m_thPrimaryAttachment = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doStructure, rbPart, m_tpBodyPartType);
}
}
else
m_thPrimaryAttachment = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doStructure, null, m_tpBodyPartType);
if(oXml.FindChildElement("SecondaryAttachmentID", false))
{
string strAttachID = oXml.GetChildString("SecondaryAttachmentID");
if(m_doStructure != null && strAttachID.Trim().Length > 0)
{
AnimatTools.DataObjects.Physical.BodyPart rbPart = (AnimatTools.DataObjects.Physical.BodyPart) m_doStructure.FindBodyPart(strAttachID, false);
if(rbPart != null)
m_thSecondaryAttachment = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doStructure, rbPart, m_tpBodyPartType);
}
}
else
m_thSecondaryAttachment = new AnimatTools.TypeHelpers.LinkedBodyPartList(m_doStructure, null, m_tpBodyPartType);
m_fltProportionalGain = oXml.GetChildFloat("PGain", m_fltProportionalGain);
m_fltDerivativeGain = oXml.GetChildFloat("DGain", m_fltDerivativeGain);
m_fltIntegratorGain = oXml.GetChildFloat("IGain", m_fltIntegratorGain);
m_fltMaxIntegratorValue = oXml.GetChildFloat("MaxIValue", m_fltMaxIntegratorValue);
m_snVelocity.LoadData(ref oXml, "Velocity");
m_snMaxForce.LoadData(ref oXml, "MaxForce");
SetPositionUnits();
oXml.OutOfElem();
}
示例10: LoadData
public override void LoadData(ref AnimatTools.Interfaces.StdXml oXml)
{
m_fltPanX = oXml.GetChildFloat("PanX", m_fltPanX);
m_fltPanY = oXml.GetChildFloat("PanY", m_fltPanY);
m_fltZoom = oXml.GetChildFloat("Zoom", m_fltZoom);
m_fltRotateX = oXml.GetChildFloat("RotateX", m_fltRotateX);
m_fltRotateY = oXml.GetChildFloat("RotateY", m_fltRotateY);
if(oXml.FindChildElement("RotateZ", false))
m_fltRotateZ = oXml.GetChildFloat("RotateZ", m_fltRotateZ);
else
m_fltRotateZ = 0;
m_mtxOrientation = Matrix.RotationX(m_fltRotateX) * Matrix.RotationY(m_fltRotateY) * Matrix.RotationZ(m_fltRotateZ);
if(oXml.FindChildElement("BackColor", false))
m_clBackColor = Util.LoadColor(ref oXml, "BackColor");
}
示例11: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData (ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem();
m_fltHeight = oXml.GetChildFloat("Height", m_fltHeight);
m_strHeightFieldImage = oXml.GetChildString("HeightFieldImage", m_strHeightFieldImage);
if(oXml.FindChildElement("MapLocation", false))
m_vMapLocation = Util.LoadVec3d(ref oXml, "MapLocation", this);
if(oXml.FindChildElement("MapSize", false))
m_vMapSize = Util.LoadVec3d(ref oXml, "MapSize", this);
m_fltMapScale = oXml.GetChildFloat("MapScale", m_fltMapScale);
oXml.OutOfElem(); //out of body
}
示例12: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData(ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem(); //'Into RigidBody Element
if(oXml.FindChildElement("NaturalLength", false))
m_snNaturalLength.LoadData(ref oXml, "NaturalLength");
m_snStiffness.LoadData(ref oXml, "Stiffness");
m_snDamping.LoadData(ref oXml, "Damping");
//This code converts old versions of the spring code into
//the new version that has multiple attachment points
if(oXml.FindChildElement("PrimaryAttachmentID", false))
{
m_aryAttachmentPointIDs.Clear();
string strAttachID;
if(oXml.FindChildElement("PrimaryAttachmentID", false))
{
strAttachID = oXml.GetChildString("PrimaryAttachmentID");
m_aryAttachmentPointIDs.Add(strAttachID);
}
if(oXml.FindChildElement("SecondaryAttachmentID", false))
{
strAttachID = oXml.GetChildString("SecondaryAttachmentID");
m_aryAttachmentPointIDs.Add(strAttachID);
}
}
if(oXml.FindChildElement("ForceType", false))
m_eForceType = (VortexAnimatTools.DataObjects.Physical.RigidBodies.MultiSegmentSpring.enumForceTypes) Enum.Parse(typeof(VortexAnimatTools.DataObjects.Physical.RigidBodies.MultiSegmentSpring.enumForceTypes), oXml.GetChildString("ForceType"), true);
oXml.OutOfElem(); //Outof RigidBody Element
}
示例13: LoadData
public override void LoadData(ref AnimatTools.DataObjects.Simulation dsSim, ref AnimatTools.DataObjects.Physical.PhysicalStructure doStructure, ref AnimatTools.Interfaces.StdXml oXml)
{
base.LoadData(ref dsSim, ref doStructure, ref oXml);
oXml.IntoElem(); //'Into RigidBody Element
m_StimTension.LoadData(ref oXml, "StimulusTension", "StimTension");
m_LengthTension.LoadData(ref oXml, "LengthTension", "LengthTension");
m_snKse.LoadData(ref oXml, "Kse");
m_snKpe.LoadData(ref oXml, "Kpe");
m_snB.LoadData(ref oXml, "B");
if(oXml.FindChildElement("PeLength", false))
{
m_snPeLengthPercentage.LoadData(ref oXml, "PeLength");
m_snMinPeLengthPercentage.LoadData(ref oXml, "MinPeLength");
}
// if(oXml.FindChildElement("IbDischarge", false))
// m_snIbDischargeConstant.LoadData(ref oXml, "IbDischarge");
oXml.OutOfElem(); //Outof RigidBody Element
}