// sets the ImageTargetType (only in editor mode) bool IEditorImageTargetBehaviour.SetImageTargetType(ImageTargetType imageTargetType) { if (mTrackable == null) { mImageTargetType = imageTargetType; return(true); } return(false); }
public ImageTargetImpl(string name, int id, ImageTargetType imageTargetType, DataSet dataSet) : base(name, id) { this.mImageTargetType = imageTargetType; this.mDataSet = (DataSetImpl)dataSet; IntPtr size = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Vector2))); QCARWrapper.Instance.ImageTargetGetSize(this.mDataSet.DataSetPtr, base.Name, size); this.mSize = (Vector2)Marshal.PtrToStructure(size, typeof(Vector2)); Marshal.FreeHGlobal(size); this.mVirtualButtons = new Dictionary <int, VirtualButton>(); this.CreateVirtualButtonsFromNative(); }
// Lets the user choose a Image Target from a drop down list. Image Target // must be defined in the "config.xml" file. public override void OnInspectorGUI() { EditorGUIUtility.LookLikeInspector(); DrawDefaultInspector(); ImageTargetBehaviour itb = (ImageTargetBehaviour)target; IEditorImageTargetBehaviour editorItb = itb; if (QCARUtilities.GetPrefabType(itb) == PrefabType.Prefab) { GUILayout.Label("You can't choose a target for a prefab."); } else { ImageTargetType oldType = editorItb.ImageTargetType; // show dropdown for type selection (predefined TMS target vs. user defined target) string[] typeNames = new[] { QCARUtilities.GlobalVars.PREDEFINED_TARGET_DROPDOWN_TEXT, QCARUtilities.GlobalVars.USER_CREATED_TARGET_DROPDOWN_TEXT, QCARUtilities.GlobalVars.CLOUD_RECO_DROPDOWN_TEXT }; ImageTargetType[] typeValues = new [] { ImageTargetType.PREDEFINED, ImageTargetType.USER_DEFINED, ImageTargetType.CLOUD_RECO }; editorItb.SetImageTargetType(typeValues[EditorGUILayout.Popup("Type", typeValues.ToList().IndexOf(editorItb.ImageTargetType), typeNames)]); bool typeChanged = editorItb.ImageTargetType != oldType; if (editorItb.ImageTargetType == ImageTargetType.PREDEFINED) { DrawPredefinedTargetInsprectorUI(itb, typeChanged); } else if (editorItb.ImageTargetType == ImageTargetType.USER_DEFINED) { DrawUserDefinedTargetInspectorUI(itb, typeChanged); } else { DrawCloudRecoTargetInspectorUI(itb, typeChanged); } } if (GUI.changed) { EditorUtility.SetDirty(itb); SceneManager.Instance.SceneUpdated(); } }
public ImageTargetImpl(string name, int id, ImageTargetType imageTargetType, DataSet dataSet) : base(name, id) { Type = TrackableType.IMAGE_TARGET; mImageTargetType = imageTargetType; mDataSet = (DataSetImpl)dataSet; // read size from native: IntPtr sizePtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Vector2))); QCARWrapper.Instance.ImageTargetGetSize(mDataSet.DataSetPtr, Name, sizePtr); mSize = (Vector2)Marshal.PtrToStructure(sizePtr, typeof(Vector2)); Marshal.FreeHGlobal(sizePtr); mVirtualButtons = new Dictionary<int, VirtualButton>(); CreateVirtualButtonsFromNative(); }
public ImageTargetImpl(string name, int id, ImageTargetType imageTargetType, DataSet dataSet) : base(name, id) { Type = TrackableType.IMAGE_TARGET; mImageTargetType = imageTargetType; mDataSet = (DataSetImpl)dataSet; // read size from native: IntPtr sizePtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Vector2))); QCARWrapper.Instance.ImageTargetGetSize(mDataSet.DataSetPtr, Name, sizePtr); mSize = (Vector2)Marshal.PtrToStructure(sizePtr, typeof(Vector2)); Marshal.FreeHGlobal(sizePtr); mVirtualButtons = new Dictionary <int, VirtualButton>(); CreateVirtualButtonsFromNative(); }
public override void OnInspectorGUI() { EditorGUIUtility.LookLikeInspector(); base.DrawDefaultInspector(); ImageTargetAbstractBehaviour target = (ImageTargetAbstractBehaviour)base.target; IEditorImageTargetBehaviour behaviour2 = target; if (QCARUtilities.GetPrefabType(target) == PrefabType.Prefab) { GUILayout.Label("You can't choose a target for a prefab.", new GUILayoutOption[0]); } else { ImageTargetType imageTargetType = behaviour2.ImageTargetType; string[] displayedOptions = new string[] { "Predefined", "User Defined", "Cloud Reco" }; ImageTargetType[] typeArray2 = new ImageTargetType[3]; typeArray2[1] = ImageTargetType.USER_DEFINED; typeArray2[2] = ImageTargetType.CLOUD_RECO; ImageTargetType[] source = typeArray2; behaviour2.SetImageTargetType(source[EditorGUILayout.Popup("Type", source.ToList <ImageTargetType>().IndexOf(behaviour2.ImageTargetType), displayedOptions, new GUILayoutOption[0])]); bool typeChanged = behaviour2.ImageTargetType != imageTargetType; if (behaviour2.ImageTargetType == ImageTargetType.PREDEFINED) { this.DrawPredefinedTargetInsprectorUI(target, typeChanged); } else if (behaviour2.ImageTargetType == ImageTargetType.USER_DEFINED) { this.DrawUserDefinedTargetInspectorUI(target, typeChanged); } else { this.DrawCloudRecoTargetInspectorUI(target, typeChanged); } } if (GUI.changed) { EditorUtility.SetDirty(target); SceneManager.Instance.SceneUpdated(); } }
public override void OnInspectorGUI() { base.DrawDefaultInspector(); VuforiaUtilities.DisableGuiForPrefab(base.target); using (this.mSerializedObject.Edit()) { ImageTargetType imageTargetType = this.mSerializedObject.ImageTargetType; string[] array = new string[] { "Predefined", "User Defined", "Cloud Reco" }; ImageTargetType[] array2 = new ImageTargetType[] { ImageTargetType.PREDEFINED, ImageTargetType.USER_DEFINED, ImageTargetType.CLOUD_RECO }; this.mSerializedObject.ImageTargetType = array2[EditorGUILayout.Popup("Type", array2.ToList <ImageTargetType>().IndexOf(this.mSerializedObject.ImageTargetType), array, new GUILayoutOption[0])]; bool flag = this.mSerializedObject.ImageTargetType != imageTargetType; if (flag) { this.mSerializedObject.AutoSetOccluderFromTargetSize = false; } if (this.mSerializedObject.ImageTargetType == ImageTargetType.PREDEFINED) { this.DrawPredefinedTargetInspectorUI(flag); } else if (this.mSerializedObject.ImageTargetType == ImageTargetType.USER_DEFINED) { this.DrawUserDefinedTargetInspectorUI(flag); } else { this.DrawCloudRecoTargetInspectorUI(flag); } } }
internal override bool InitializeTarget(Trackable trackable, bool applyTargetScaleToBehaviour) { base.InitializeTarget(trackable, applyTargetScaleToBehaviour); ImageTarget imageTarget = (ImageTarget)trackable; if (imageTarget == null) { return(false); } this.mTrackable = (this.mImageTarget = imageTarget); this.mTrackableName = trackable.Name; this.mImageTargetType = imageTarget.ImageTargetType; if (imageTarget is ImageTargetImpl) { this.mDataSetPath = ((ImageTargetImpl)imageTarget).DataSet.Path; } if (applyTargetScaleToBehaviour || imageTarget.ImageTargetType != ImageTargetType.PREDEFINED) { Vector3 size = imageTarget.GetSize(); float num = Mathf.Max(size.x, size.y); base.transform.localScale = new Vector3(num, num, num); base.CorrectScale(); this.mAspectRatio = size.y / size.x; } this.mVirtualButtonBehaviours = new Dictionary <int, VirtualButtonAbstractBehaviour>(); if (imageTarget.ImageTargetType == ImageTargetType.PREDEFINED) { Vector2 size2 = this.GetSize(); imageTarget.SetSize(size2); } if (this.mExtendedTracking) { this.mImageTarget.StartExtendedTracking(); } return(true); }
// sets the ImageTargetType (only in editor mode) bool IEditorImageTargetBehaviour.SetImageTargetType(ImageTargetType imageTargetType) { if (mTrackable == null) { mImageTargetType = imageTargetType; return true; } return false; }
public ImageFloatTarget(Image image, ImageTargetType targetType = ImageTargetType.Alpha) { _target = image; _targetType = targetType; }
public ImageTargetImpl(string name, int id, ImageTargetType imageTargetType, DataSet dataSet) : base(name, id, dataSet) { this.mImageTargetType = imageTargetType; this.mVirtualButtons = new Dictionary <int, VirtualButton>(); this.CreateVirtualButtonsFromNative(); }
public ImageFloatTarget(Image source, ImageTargetType type) { target = source; targetType = type; }
internal static Material UpdateMaterial(string dataSetName, string trackableName, ImageTargetType imageTargetType, Material oldMaterial) { Material material = AssetDatabase.LoadAssetAtPath <Material>("Assets/Vuforia/Materials/UserDefinedTarget.mat"); Material material2 = AssetDatabase.LoadAssetAtPath <Material>("Assets/Vuforia/Materials/CloudRecoTarget.mat"); if (imageTargetType == ImageTargetType.USER_DEFINED) { return(material); } if (imageTargetType == ImageTargetType.CLOUD_RECO) { return(material2); } Material material3 = VuforiaUtilities.LoadReferenceMaterial(); if (material3 == null) { return(null); } Material material4 = oldMaterial; if (material4 == null || material4 == material3 || material4 == material || material4 == material2) { material4 = new Material(material3); } string text; if (!VuforiaUtilities.GetImagePathWithExtension(string.Concat(new string[] { "Assets/Editor/Vuforia/ImageTargetTextures/", dataSetName, "/", trackableName, "_scaled" }), out text)) { VuforiaUtilities.GetImagePathWithExtension(string.Concat(new string[] { "Assets/Editor/QCAR/ImageTargetTextures/", dataSetName, "/", trackableName, "_scaled" }), out text); } Texture2D mainTexture = AssetDatabase.LoadAssetAtPath <Texture2D>(text); material4.mainTexture = mainTexture; material4.mainTextureScale = new Vector2(1f, 1f); material4.name = trackableName + "Material"; return(material4); }
/// <summary> /// Initializes a new instance of the <see cref="ImageTarget"/> class. /// </summary> /// <param name="trackable">The trackable.</param> internal ImageTarget(QCAR_Trackable trackable) : base(trackable) { this.ImageTargetType = ImageTargetType.PREDEFINED; }