コード例 #1
0
        /// <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);
        }