public static Link.Visual ExportVisualData(this UrdfVisual urdfVisual) { UrdfGeometry.CheckForUrdfCompatibility(urdfVisual.transform, urdfVisual.geometryType); Link.Geometry geometry = UrdfGeometry.ExportGeometryData(urdfVisual.geometryType, urdfVisual.transform); Link.Visual.Material material = null; if ((geometry.mesh != null)) { material = UrdfMaterial.ExportMaterialData(urdfVisual.GetComponentInChildren <MeshRenderer>().sharedMaterial); } string visualName = urdfVisual.name == "unnamed" ? null : urdfVisual.name; return(new Link.Visual(geometry, visualName, UrdfOrigin.ExportOriginData(urdfVisual.transform), material)); }
public Joint ExportJointData() { #if UNITY_2020_1_OR_NEWER unityJoint = GetComponent <UnityEngine.ArticulationBody>(); #else unityJoint = GetComponent <UnityEngine.Joint>(); #endif CheckForUrdfCompatibility(); //Data common to all joints Joint joint = new Joint( jointName, JointType.ToString().ToLower(), gameObject.transform.parent.name, gameObject.name, UrdfOrigin.ExportOriginData(transform)); joint.limit = ExportLimitData(); return(ExportSpecificJointData(joint)); }