/// <summary> /// Create the markers /// </summary> void CreateMarkerList() { H1.Tags.gbxmodel_group definition = tagManager.TagDefinition as H1.Tags.gbxmodel_group; List <Marker> marker_list = new List <Marker>(); // create a list of generic marker definitions foreach (var marker in definition.Markers) { foreach (var instance in marker.Instances) { // if we are only exporting one permutation and the marker permunation doesnt match, skip it if (!modelInfo.GetIsMultiplePerms()) { if (modelInfo.GetPermutation() != instance.PermutationIndex.Value) { continue; } } // if multiple permutations are being exported, append the marker permutation to its name string name = ColladaUtilities.FormatName(marker.Name, " ", "_"); if (modelInfo.GetIsMultiplePerms()) { name += "-perm" + instance.PermutationIndex.Value.ToString(); } Marker common_marker = new Marker(name, instance.Translation.ToPoint3D(100), TagInterface.RealQuaternion.Invert(instance.Rotation), instance.NodeIndex); marker_list.Add(common_marker); } } // create the marker node elements CreateMarkers(marker_list, RotationVectorY, RotationVectorP, RotationVectorR); }