Esempio n. 1
0
        private bool isDisposed = false;         // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!isDisposed)
            {
                if (disposing)
                {
                    // TODO: delete managed state (managed objects).

                    if (assimpExporter != null)
                    {
                        assimpExporter.Dispose();
                        assimpExporter = null;
                    }

                    if (context != null)
                    {
                        context.threads.Dispose();
                        context.threads  = null;
                        context.exporter = null;

                        context.meshes.Clear();
                    }
                }

                // TODO: free unmanaged resources (unmanaged objects) and replace finalizer below.
                // TODO: set fields of large size with null value.

                isDisposed = true;
            }
        }
Esempio n. 2
0
            /// <summary>
            /// Constructor for context structure.
            /// </summary>
            /// <param name="e">The Assimp exporter to use for export.</param>
            public Context(global::Assimp.Exporter e)
            {
                threads  = new Pool();
                progress = new Progress();
                meshes   = new Dictionary <Mesh, uint>();

                exporter = e;

                Clean();
            }