예제 #1
0
        public override void OnInspectorGUI()
        {
            urdfVisuals = (UrdfVisuals)target;

            GUILayout.Space(10);
            geometryType = (UrdfGeometry.GeometryTypes)EditorGUILayout.EnumPopup("Type of visual", geometryType);

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Add visual"))
            {
                UrdfVisual.Create(urdfVisuals.transform, geometryType);
            }
            EditorGUILayout.EndHorizontal();
        }
        public static void Create(Transform parent, List <Link.Visual> visuals = null)
        {
            GameObject visualsObject = new GameObject("Visuals");

            visualsObject.transform.SetParentAndAlign(parent);
            UrdfVisuals urdfVisuals = visualsObject.AddComponent <UrdfVisuals>();

            visualsObject.hideFlags = HideFlags.NotEditable;
            urdfVisuals.hideFlags   = HideFlags.None;

            if (visuals != null)
            {
                foreach (Link.Visual visual in visuals)
                {
                    UrdfVisualExtensions.Create(urdfVisuals.transform, visual);
                }
            }
        }
        public static List <Link.Visual> ExportVisualsData(this UrdfVisuals urdfVisuals)
        {
            UrdfVisual[] urdfVisualsList = urdfVisuals.GetComponentsInChildren <UrdfVisual>();

            return(urdfVisualsList.Select(urdfCollision => urdfCollision.ExportVisualData()).ToList());
        }
 protected virtual void OnEnable()
 {
     urdfVisuals = (UrdfVisuals)serializedObject.targetObject;
 }