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)); }
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(); } }