![]() |
GemaCoreLib
The GeMA Core library
|
In order to guarantee that all instances of a user function (tied to the same mesh) are going to share the same evaluator, this function stores an internal mapping between user function objects and their evaluators. The ownership of the evaluators is kept by the class.
An EvalContext can be created with partial information, i.e, without a mesh information. On that case, the only available translation will be between a user function id and an user function object. That is useful for property sets which don't have an associted mesh until creation of an accessor bound to a specific mesh.
To speedup translations between user functions and their evaluators, a cache with the last translated GmUserFunction <--> GmUserFunctionEvaluator is kept internally by the EvalContext.