Example #1
0
        public ThotSmtModel(ThotSmtParameters parameters)
        {
            Parameters = parameters;
            Parameters.Freeze();

            Handle = Thot.LoadSmtModel(Parameters);

            _directWordAlignmentModel = new ThotWordAlignmentModel(
                Thot.smtModel_getSingleWordAlignmentModel(Handle));
            _inverseWordAlignmentModel = new ThotWordAlignmentModel(
                Thot.smtModel_getInverseSingleWordAlignmentModel(Handle));
        }
Example #2
0
            public override void Save()
            {
                foreach (ThotSmtEngine engine in _smtModel._engines)
                {
                    engine.CloseHandle();
                }
                Thot.smtModel_close(_smtModel.Handle);

                base.Save();

                _smtModel.Parameters = Parameters;
                _smtModel.Handle     = Thot.LoadSmtModel(_smtModel.Parameters);
                _smtModel._directWordAlignmentModel.Handle  = Thot.smtModel_getSingleWordAlignmentModel(_smtModel.Handle);
                _smtModel._inverseWordAlignmentModel.Handle =
                    Thot.smtModel_getInverseSingleWordAlignmentModel(_smtModel.Handle);
                foreach (ThotSmtEngine engine in _smtModel._engines)
                {
                    engine.LoadHandle();
                }
            }