Plugins switch in plugins implementation
Created by: clebreto
The dtk plugins factory allows for a given concept (defined in the applicative layer) several implementations through plugins. i.e. : for dtkAbstractNurbsSurfaceData -> dtkNurbsSurfaceDataDefault/ dtkNurbsSurfaceDataOn/ dtkNurbsSurfaceDataSisl ... The dtk plugin manager retrieves the available plugins for a given concept (thanks to the json plugins configuration files). One of the nice outcomes is the option to switch among plugins for a given concept in the dtkVisualProgramming utility. Yet, some concepts depends on other concepts, but not on a specific implementation (aka plugin). i.e. : openNURBSBrepReader internally creates a dtkBrepOn(a bridge on dtkAbstractBrepData). At the moment, the choice of what implementation of dtkAbstractBrepData is to be used, is not given to the end-user, it is hard coded in the openNURBSBrepReader plugin.The end user could potentially want to switch between implementations of dtkAbstractBrepData plugins, for a whole bunch of reasons (benchmarking...).