Browse Source

Added validation control support when writing.

Vicente Penades 5 years ago
parent
commit
1fc944f180

+ 3 - 1
src/SharpGLTF.Core/IO/WriteContext.cs

@@ -224,7 +224,9 @@ namespace SharpGLTF.IO
         {
         {
             if (_NoCloneWatchdog) return;
             if (_NoCloneWatchdog) return;
 
 
-            var vcontext = new Validation.ValidationResult(model, Validation.ValidationMode.Strict);
+            if (this.Validation == SharpGLTF.Validation.ValidationMode.Skip) return;
+
+            var vcontext = new Validation.ValidationResult(model, this.Validation);
 
 
             model.ValidateReferences(vcontext.GetContext());
             model.ValidateReferences(vcontext.GetContext());
             var ex = vcontext.Errors.FirstOrDefault();
             var ex = vcontext.Errors.FirstOrDefault();

+ 6 - 0
src/SharpGLTF.Core/Schema2/gltf.Serialization.Write.cs

@@ -5,6 +5,7 @@ using System.Linq;
 using System.Text;
 using System.Text;
 
 
 using BYTES = System.ArraySegment<byte>;
 using BYTES = System.ArraySegment<byte>;
+using VALIDATIONMODE = SharpGLTF.Validation.ValidationMode;
 
 
 namespace SharpGLTF.Schema2
 namespace SharpGLTF.Schema2
 {
 {
@@ -67,6 +68,11 @@ namespace SharpGLTF.Schema2
         /// </summary>
         /// </summary>
         public Boolean JsonIndented { get; set; } = false;
         public Boolean JsonIndented { get; set; } = false;
 
 
+        /// <summary>
+        /// Gets or sets a value indicating the level of validation applied when loading a file.
+        /// </summary>
+        public VALIDATIONMODE Validation { get; set; } = VALIDATIONMODE.Strict;
+
         #endregion
         #endregion
 
 
         #region API
         #region API