Ejemplo n.º 1
0
        internal static void BuildRagdoll(AnimatedModel actor, RebuildOptions options = null, Ragdoll ragdoll = null, string boneNameToBuild = null)
        {
            if (options == null)
            {
                options = new RebuildOptions();
            }
            var model = actor.SkinnedModel;

            if (!model || model.WaitForLoaded())
            {
                Editor.LogError("Missing or not loaded model.");
                return;
            }
            var bones = model.Bones;
            var nodes = model.Nodes;

            actor.GetCurrentPose(out var localNodesPose);
            if (bones.Length == 0 || localNodesPose.Length == 0)
            {
                Editor.LogError("Empty skeleton.");
                return;
            }
            var skinningMatrices = new Matrix[bones.Length];

            for (int boneIndex = 0; boneIndex < bones.Length; boneIndex++)
            {
                ref var bone = ref bones[boneIndex];
                skinningMatrices[boneIndex] = bone.OffsetMatrix * localNodesPose[bone.NodeIndex];
            }
Ejemplo n.º 2
0
        public StatusObject RebuildDatabase(Dictionary <string, string> dbSettings, bool usePassword = false,
                                            string newPassword = null)
        {
            try
            {
                var rebuildOpts = new RebuildOptions();

                if (usePassword)
                {
                    if (newPassword != null)
                    {
                        rebuildOpts.Password = newPassword;
                    }
                    else
                    {
                        dbSettings.TryGetValue("dbPass", out var currPassword);
                        rebuildOpts.Password = currPassword;
                    }
                }

                var result = _db.Rebuild(rebuildOpts);

                return(GetStatusObject(StatusObject.OperationTypes.System, result, result >= 0L));
            }
            catch (LiteException e)
            {
                return(GetStatusObject(StatusObject.OperationTypes.System, e, false));
            }
        }
Ejemplo n.º 3
0
        public long Rebuild(RebuildOptions options)
        {
            this.OpenDatabase();

            try
            {
                return(_engine.Rebuild(options));
            }
            finally
            {
                this.CloseDatabase();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// SHRINK
        /// </summary>
        private BsonDataReader ParseRebuild()
        {
            _tokenizer.ReadToken().Expect("REBUILD");

            var options = new RebuildOptions();

            // read <eol> or ;
            var next = _tokenizer.LookAhead();

            if (next.Type == TokenType.EOF || next.Type == TokenType.SemiColon)
            {
                options = null;

                _tokenizer.ReadToken();
            }
            else
            {
                var reader = new JsonReader(_tokenizer);
                var json   = reader.Deserialize();

                if (json.IsDocument == false)
                {
                    throw LiteException.UnexpectedToken(next);
                }

                if (json["password"].IsString)
                {
                    options.Password = json["password"];
                }

                if (json["collation"].IsString)
                {
                    options.Collation = new Collation(json["collation"].AsString);
                }
            }

            var diff = _engine.Rebuild(options);

            return(new BsonDataReader((int)diff));
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Rebuild all database to remove unused pages - reduce data file
 /// </summary>
 public long Rebuild(RebuildOptions options = null)
 {
     return(_engine.Rebuild(options));
 }
Ejemplo n.º 6
0
 public RebuildContents(Rebuilder rebuilder,
                        IOptions <RebuildOptions> rebuildOptions)
 {
     this.rebuilder      = rebuilder;
     this.rebuildOptions = rebuildOptions.Value;
 }
Ejemplo n.º 7
0
 public RebuildAssetFolders(Rebuilder rebuilder,
                            IOptions <RebuildOptions> rebuildOptions)
 {
     this.rebuilder      = rebuilder;
     this.rebuildOptions = rebuildOptions.Value;
 }
Ejemplo n.º 8
0
 public RebuildSchemas(Rebuilder rebuilder,
                       IOptions <RebuildOptions> rebuildOptions)
 {
     this.rebuilder      = rebuilder;
     this.rebuildOptions = rebuildOptions.Value;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Rebuild all database to remove unused pages - reduce data file
 /// </summary>
 public long Rebuild(RebuildOptions options)
 {
     return(_engine.Value.Rebuild(options));
 }
Ejemplo n.º 10
0
 public RebuildSnapshots(Rebuilder rebuilder,
                         IOptions <RebuildOptions> rebuildOptions)
 {
     this.rebuilder      = rebuilder;
     this.rebuildOptions = rebuildOptions.Value;
 }