public virtual void InitActionObject(string id, string type, Vector3 position, Quaternion orientation, string uuid, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null, bool loadResuources = true) { Data.Id = id; Data.Type = type; SetScenePosition(position); SetSceneOrientation(orientation); Data.Id = uuid; ActionObjectMetadata = actionObjectMetadata; CreateModel(customCollisionModels); enabled = true; visibility = PlayerPrefsHelper.LoadFloat(SceneManager.Instance.SceneMeta.Id + "/ActionObject/" + id + "/visibility", 1); SetVisibility(visibility); }
public abstract void CreateModel(IO.Swagger.Model.CollisionModels customCollisionModels = null);
public virtual void InitActionObject(IO.Swagger.Model.SceneObject sceneObject, Vector3 position, Quaternion orientation, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null, bool loadResuources = true) { Data.Id = sceneObject.Id; Data.Type = sceneObject.Type; name = sceneObject.Name; // show actual object name in unity hierarchy ActionObjectMetadata = actionObjectMetadata; if (actionObjectMetadata.HasPose) { SetScenePosition(position); SetSceneOrientation(orientation); } CreateModel(customCollisionModels); enabled = true; SelectorItem = SelectorMenu.Instance.CreateSelectorItem(this); if (VRModeManager.Instance.VRModeON) { SetVisibility(PlayerPrefsHelper.LoadFloat("AOVisibilityVR", 1f)); } else { SetVisibility(PlayerPrefsHelper.LoadFloat("AOVisibilityAR", 0f)); } if (PlayerPrefsHelper.LoadBool($"ActionObject/{GetId()}/blocklisted", false)) { Enable(false, true, false); } }
public override void InitActionObject(string id, string type, Vector3 position, Quaternion orientation, string uuid, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null) { throw new System.NotImplementedException(); }
public override void InitActionObject(string id, string type, Vector3 position, Quaternion orientation, string uuid, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null) { base.InitActionObject(id, type, position, orientation, uuid, actionObjectMetadata); Data.Id = id; Data.Type = type; SetScenePosition(position); SetSceneOrientation(orientation); Data.Id = uuid; ActionObjectMetadata = actionObjectMetadata; CreateModel(customCollisionModels); enabled = true; SetVisibility(visibility); }
public async override void InitActionObject(IO.Swagger.Model.SceneObject sceneObject, Vector3 position, Quaternion orientation, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null, bool loadResources = true) { base.InitActionObject(sceneObject, position, orientation, actionObjectMetadata); // if there should be an urdf robot model if (ActionsManager.Instance.RobotsMeta.TryGetValue(sceneObject.Type, out RobotMeta robotMeta)) { RobotMeta = robotMeta; if (!string.IsNullOrEmpty(robotMeta.UrdfPackageFilename)) { // Get the robot model, if it returns null, the robot will be loading itself RobotModel = UrdfManager.Instance.GetRobotModelInstance(robotMeta.Type, robotMeta.UrdfPackageFilename); if (RobotModel != null) { RobotModelLoaded(); } else { // Robot is not loaded yet, let's wait for it to be loaded UrdfManager.Instance.OnRobotUrdfModelLoaded += OnRobotModelLoaded; modelLoading = true; } } } ResourcesLoaded = false; }
public async override void InitActionObject(string id, string type, Vector3 position, Quaternion orientation, string uuid, ActionObjectMetadata actionObjectMetadata, IO.Swagger.Model.CollisionModels customCollisionModels = null, bool loadResources = true) { base.InitActionObject(id, type, position, orientation, uuid, actionObjectMetadata); //UrdfManager.Instance.OnUrdfReady += OnUrdfDownloaded; // if there should be an urdf robot model if (ActionsManager.Instance.RobotsMeta.TryGetValue(type, out RobotMeta robotMeta) && !string.IsNullOrEmpty(robotMeta.UrdfPackageFilename)) { // check if robot model exists if (UrdfManager.Instance.CheckIfRobotModelExists(type)) { // check if newer robot model exists on the server if (UrdfManager.Instance.CheckIfNewerRobotModelExists(robotMeta.UrdfPackageFilename, type)) { // TODO destroy the old robot version UrdfManager.Instance.RemoveOldModels(type); // download newer version of the urdf UrdfManager.Instance.OnRobotUrdfModelLoaded += OnRobotModelLoaded; StartCoroutine(UrdfManager.Instance.DownloadUrdfPackage(robotMeta.UrdfPackageFilename, robotMeta.Type)); } else { // get the robot model RobotModel = UrdfManager.Instance.GetRobotModelInstance(type); if (RobotModel != null) { RobotModelLoaded(); } else { Debug.LogError("Fatal error, robot model should be present and loaded, but it is not. Report bug."); } } } // robot model is not loaded at all, check if urdf is downloaded locally and import it, otherwise download it else { // check if newer robot model exists on the server.. if it is not downloaded at all, it will return true if (UrdfManager.Instance.CheckIfNewerRobotModelExists(robotMeta.UrdfPackageFilename, type)) { UrdfManager.Instance.OnRobotUrdfModelLoaded += OnRobotModelLoaded; StartCoroutine(UrdfManager.Instance.DownloadUrdfPackage(robotMeta.UrdfPackageFilename, robotMeta.Type)); } else // the robot zip is downloaded, thus start direct build { UrdfManager.Instance.OnRobotUrdfModelLoaded += OnRobotModelLoaded; UrdfManager.Instance.BuildRobotModelFromUrdf(type); } } } //LoadResources = loadResources; ResourcesLoaded = false; }