Ejemplo n.º 1
0
        /// <summary>
        /// Creates a new hierarchy node info by using the DefinitionNodeInfo as a base, and using InstanceParentNodeInfo for creating a unique name. Used when instancing block definitions.
        /// </summary>
        /// <param name="InstanceParentNodeInfo"></param>
        /// <param name="DefinitionNodeInfo"></param>
        /// <param name="MaterialIndex"></param>
        /// <returns></returns>
        private RhinoSceneHierarchyNodeInfo GenerateInstanceNodeInfo(RhinoSceneHierarchyNodeInfo InstanceParentNodeInfo, RhinoSceneHierarchyNodeInfo DefinitionNodeInfo, int MaterialIndex)
        {
            string        Name              = string.Format("{0}_{1}", InstanceParentNodeInfo.Name, DefinitionNodeInfo.Name);
            string        Label             = ActorLabelGenerator.GenerateUniqueNameFromBaseName(DefinitionNodeInfo.Label);
            List <string> Tags              = new List <string>(DefinitionNodeInfo.Tags);
            bool          bOverrideMaterial = DefinitionNodeInfo.MaterialIndex != MaterialIndex;

            return(new RhinoSceneHierarchyNodeInfo(DefinitionNodeInfo.RhinoModelComponent, Name, Label, Tags, MaterialIndex, bOverrideMaterial, InstanceParentNodeInfo.WorldTransform));
        }
Ejemplo n.º 2
0
        private void AddTextureHashMapping(string TextureHash, Texture RhinoTexture)
        {
            if (!TextureIdToTextureHash.ContainsKey(RhinoTexture.Id))
            {
                TextureIdToTextureHash.Add(RhinoTexture.Id, TextureHash);

                if (!TextureHashToTextureInfo.ContainsKey(TextureHash))
                {
                    if (FDatasmithRhinoUtilities.GetRhinoTextureNameAndPath(RhinoTexture, out string TextureName, out string TexturePath))
                    {
                        TextureName = TextureLabelGenerator.GenerateUniqueNameFromBaseName(TextureName);
                        TextureHashToTextureInfo.Add(TextureHash, new RhinoTextureInfo(RhinoTexture, TextureName, TexturePath));
                    }
                }
            }
        }