private static void AddMetadataToDatasmithActor(FDatasmithFacadeActor InDatasmithActor, RhinoSceneHierarchyNode InNode, FDatasmithFacadeScene InDatasmithScene)
        {
            if (!InNode.Info.bHasRhinoObject)
            {
                return;
            }

            RhinoObject         NodeObject  = InNode.Info.RhinoModelComponent as RhinoObject;
            NameValueCollection UserStrings = NodeObject.Attributes.GetUserStrings();

            if (UserStrings != null && UserStrings.Count > 0)
            {
                string[] Keys = UserStrings.AllKeys;
                FDatasmithFacadeMetaData DatasmithMetaData = new FDatasmithFacadeMetaData(InDatasmithActor.GetName() + "_DATA");
                DatasmithMetaData.SetLabel(InDatasmithActor.GetLabel());
                DatasmithMetaData.SetAssociatedElement(InDatasmithActor);

                for (int KeyIndex = 0; KeyIndex < Keys.Length; ++KeyIndex)
                {
                    string CurrentKey     = Keys[KeyIndex];
                    string EvaluatedValue = FDatasmithRhinoUtilities.EvaluateAttributeUserText(InNode, UserStrings.Get(CurrentKey));

                    DatasmithMetaData.AddPropertyString(CurrentKey, EvaluatedValue);
                }

                InDatasmithScene.AddMetaData(DatasmithMetaData);
            }
        }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FDatasmithFacadeMetaData obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
 public void RemoveMetaData(FDatasmithFacadeMetaData InMetaDataPtr)
 {
     DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeScene_RemoveMetaData(swigCPtr, FDatasmithFacadeMetaData.getCPtr(InMetaDataPtr));
 }